i-IntradayFibonacci

Indikátor kalkuluje hladiny dle Fibonacciho čísel z High a Low předchozího dne.

 

 

//+——————————————————————+
//|                                          i-IntradayFibonacci.mq4 |
//|                                           Ęčě Čăîđü Â. aka KimIV |
//|                                              http://www.kimiv.ru |
//|                                                                  |
//| 14.10.2005  Âíóňđčäíĺâíűĺ óđîâíč Ôčáîíŕ÷÷č                       |
//+——————————————————————+
#property copyright „Ęčě Čăîđü Â. aka KimIV“
#property link      „http://www.kimiv.ru“

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Aqua
#property indicator_color2 Lime
#property indicator_color3 Yellow
#property indicator_color4 Salmon

//——- Ăëîáŕëüíűĺ ďĺđĺěĺííűĺ ————————————–

//——- Ďîęëţ÷ĺíčĺ âíĺříčő ěîäóëĺé ———————————

//——- Âíĺříčĺ ďŕđŕěĺňđű číäčęŕňîđŕ ——————————-
extern int NumberOfBars = 1000;  // Ęîëč÷ĺńňâî áŕđîâ îáń÷¸ňŕ (0-âńĺ)

//——- Áóôĺđű číäčęŕňîđŕ ——————————————
double buf24[];
double buf38[];
double buf62[];
double buf76[];

//+——————————————————————+
//| Custom indicator initialization function                         |
//+——————————————————————+
void init() {
SetIndexBuffer(0, buf24);
SetIndexStyle (0, DRAW_LINE, STYLE_DOT);
SetIndexEmptyValue(0, EMPTY_VALUE);

SetIndexBuffer(1, buf38);
SetIndexStyle (1, DRAW_LINE, STYLE_DOT);
SetIndexEmptyValue(1, EMPTY_VALUE);

SetIndexBuffer(2, buf62);
SetIndexStyle (2, DRAW_LINE, STYLE_DOT);
SetIndexEmptyValue(2, EMPTY_VALUE);

SetIndexBuffer(3, buf76);
SetIndexStyle (3, DRAW_LINE, STYLE_DOT);
SetIndexEmptyValue(3, EMPTY_VALUE);
}

//+——————————————————————+
//| Custom indicator iteration function                              |
//+——————————————————————+
void start() {
double dMax, dMin;
int    loopbegin, nsb, prevDay, shift;

if (NumberOfBars==0) loopbegin = Bars – 1;
else loopbegin = NumberOfBars – 1;

for (shift=loopbegin; shift>=0; shift–) {
if (prevDay!=TimeDay(Time[shift])) {
nsb=iBarShift(NULL, PERIOD_D1, Time[shift]);
dMax=iHigh(NULL, PERIOD_D1, nsb);
dMin=iLow (NULL, PERIOD_D1, nsb);
}
buf24[shift]=dMin-(dMin-dMax)*0.236;
buf38[shift]=dMin-(dMin-dMax)*0.382;
buf62[shift]=dMin-(dMin-dMax)*0.618;
buf76[shift]=dMin-(dMin-dMax)*0.764;
prevDay=TimeDay(Time[shift]);
}
}
//+——————————————————————+

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *