Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
Val_Bands
//ØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØ
//| Val_Bands.mq4 |
//| Èíäèêàòîð âîëàíòèëüíîñòè äëèíû ñâå÷åé: |
//| - êðàñíàÿ ãèñòîãðàììà - äëèíà ñâå÷è â ïèïñàõ |
//| - ëèíèè: ýòî ñðåäíèå îò äëèíû ñâå÷åé ñî ñòàíäàðòíûì îòêëîíåíèåì |
//| Íàñòðîéêè - àíàëîãè÷íû êàíàëó Áîëèíäæåðà |
//| Èñïîëüçîâàíèå. Óäîáåí äëÿ îòñëåæèàíèÿ ãýïîâ íà ðûíêå. Çà ãýï ñ÷èòåòñÿ |
//| âñå, ÷òî âûøå æåëòîé ëèíèè |
//| - âûõîä çà âåðõíþþ ãðàíèöó - à) ïîäàðîê â ÒÐ (åñëè ïî ïîçèöèè); |
//| á) SL (åñëè ïðîòèâ ïîçèöèè; |
//| â) çàïðåò âõîäà â ýòîé òî÷êå |
//| - âûõîä çà íèæíþþ ãðàíèöó - áîêîâèê |
//| - ïåðåñå÷åíèå ñíèçó ââåðõ íèæíåé ãðàíèöû - íà÷àëî òðåíäà. |
//ØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØØ
#property copyright "Copyright © 2010, Fomenko"
#property link "http://faa1947@mail.ru"
// ----------------- Îòäåëüíîå îêíî äëÿ èíäèêàòîðà ----------------------------
#property indicator_separate_window
// ---------------- Êîë-âî âèäèìûõ áóôåðîâ èíäèêàòîðà -------------------------
#property indicator_buffers 4
// ---------------- Óñòàíîâêà öâåòà èíäèêàòîðà --------------------------------
#property indicator_color1 LightSeaGreen
#property indicator_color2 Yellow
#property indicator_color3 Orchid
#property indicator_color4 Red
// ---------------- Óñòàíîâêà øèðèíû ëèíèè -----------------------------------
#property indicator_width1 2
#property indicator_width2 1
#property indicator_width3 1
#property indicator_width4 1
// ---------------- Óñòàíîâêà ñòèëÿ ëèíèè -----------------------------------
#property indicator_style1 0
#property indicator_style2 0
#property indicator_style3 0
#property indicator_style4 0
//----------------- Âíåøíèå íàñòðîéêè èíäèêàòîðà ==========--------------------
extern int BandsPeriod = 14; // Ïåðèîä ðàñ÷åòà
extern double BandsDeviations = 1.0; // Âåëè÷èíà ñòàíäàðòíîãî îòêëîíåíèÿ
int BandsShift = 0; // Ñäâèã îòíîñèòåëüíî ãðàôèêà
//----------------- Îáúÿâëåíèå áóôåðîâ èíèäèêàòîðîâ --------------------------
double MovingBuffer[];
double UpperBuffer[];
double LowerBuffer[];
double Val_BarsBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorDigits(1);
//--------- Òðè âèäèìûõ áóôåðà --------------------------------------
IndicatorBuffers(4);
//---------- Óñòàíîâêà ïàðàìåòðîâ ðèñîâàíèÿ -------------------------
SetIndexStyle(0,DRAW_LINE);
SetIndexDrawBegin(0,BandsPeriod+BandsShift);
SetIndexStyle(1,DRAW_LINE);
SetIndexDrawBegin(1,BandsPeriod+BandsShift);
SetIndexStyle(2,DRAW_LINE);
SetIndexDrawBegin(2,BandsPeriod+BandsShift);
SetIndexStyle(3,DRAW_HISTOGRAM);
SetIndexDrawBegin(3,BandsPeriod+BandsShift);
//---------- Ïðèâÿçûâàåì íîìåð áóôåðà ê åãî èìåíè -------------------
SetIndexBuffer(0,MovingBuffer);
SetIndexBuffer(1,UpperBuffer);
SetIndexBuffer(2,LowerBuffer);
SetIndexBuffer(3,Val_BarsBuffer);
// ----------- Óñòàíàâëèâàåì ïåðâîíà÷àëüíûå çíà÷åíèÿ ---------------
SetIndexEmptyValue (0, 0.0);
SetIndexEmptyValue (1, 0.0);
SetIndexEmptyValue (2, 0.0);
SetIndexEmptyValue (3, 0.0);
//------------------ Ìåòêà äëÿ ëèíèè èíäèêàòîðà ---------------------
SetIndexLabel(0,"Mov");
SetIndexLabel(1,"Up");
SetIndexLabel(2,"Down");
return(0);
}
//+------------------------------------------------------------------+
//| Bollinger Bands |
//+------------------------------------------------------------------+
int start()
{
int i,
k;
double deviation;
double sum,
oldval,
newres;
//----
if(Bars<=BandsPeriod) return(0);
//---------------- Âû÷èñëÿåì ñðåäíþþ --------------------------------
int counted_bars = IndicatorCounted();
if(counted_bars < 0) return(-1);
if(counted_bars > 0) counted_bars--;
int limit = Bars - counted_bars;
if(counted_bars==0) limit-=1+BandsPeriod;
for(i=0; i<limit; i++)
Val_BarsBuffer[i]=(High[i]-Low[i])/Point;
for(i=0; i<limit; i++)
MovingBuffer[i]=iMAOnArray(Val_BarsBuffer,
Bars,
BandsPeriod,
BandsShift,
MODE_SMA,// MODE_SMA, MODE_EMA, MODE_SMMA, MODE_LWMA
i);
//--------------- Âû÷èñëÿåì ñòîðîíû êàíàëà ----------------------------
i=limit;
if(counted_bars>BandsPeriod-1) i=Bars-counted_bars-1;
while(i>=0)
{
sum = 0.0;
k = i + BandsPeriod - 1;
oldval = MovingBuffer[i];
while(k>=i)
{
newres=Val_BarsBuffer[k]-oldval;
sum+=newres *newres;
k--;
}
deviation = BandsDeviations * MathSqrt(sum / BandsPeriod);
UpperBuffer[i] = oldval + deviation;
LowerBuffer[i] = oldval - deviation;
i--;
}
//----------------- Èíäèêàòîð âû÷èñëåí --------------------------------
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---