^X_Fibo-v1.1





#property indicator_chart_window
extern color colorline=Green;
extern bool _Automate = true;
extern string _My_Period_Data = "1440=D1; 10080=W1; 43200=MN";
extern int _My_Period = PERIOD_W1;
int _N_Time, _Cur_Period;
//-------------------------------------------------------------------------------------------
int init() {

if(!_Automate) {
if(Period() > _My_Period) {
Comment("\n\n                    ERROR - CHART PERIOD IS TOO GREAT!");
return(-1); // then exit
}} else {
if(Period() > PERIOD_H4) _My_Period = PERIOD_MN1;
else if(Period() < PERIOD_H4) _My_Period = PERIOD_D1;
else _My_Period = PERIOD_W1;
}

ObjectCreate ("TOP", OBJ_HLINE, 0, Time[0], 0);
ObjectSet    ("TOP", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet    ("TOP", OBJPROP_WIDTH, 1);
ObjectSet    ("TOP", OBJPROP_COLOR, Orange);

ObjectCreate ("FU", OBJ_FIBO, 0, Time[89], 0, Time[89], 0);
ObjectSet    ("FU", OBJPROP_LEVELSTYLE, STYLE_DASH);
ObjectSet    ("FU", OBJPROP_LEVELWIDTH, 1);
ObjectSet    ("FU", OBJPROP_LEVELCOLOR, Orange);
ObjectSet    ("FU", OBJPROP_FIBOLEVELS, 10);
ObjectSet    ("FU", OBJPROP_FIRSTLEVEL+0, 0.236);
ObjectSetFiboDescription("FU",0,"+23.6     ");
ObjectSet    ("FU", OBJPROP_FIRSTLEVEL+1, 0.382);
ObjectSetFiboDescription("FU",1,"+38.2     ");
ObjectSet    ("FU", OBJPROP_FIRSTLEVEL+2, 0.5);
ObjectSetFiboDescription("FU",2,"+50.0     ");
ObjectSet    ("FU", OBJPROP_FIRSTLEVEL+3, 0.618);
ObjectSetFiboDescription("FU",3,"+61.8     ");
ObjectSet    ("FU", OBJPROP_FIRSTLEVEL+4, 0.764);
ObjectSetFiboDescription("FU",4,"+76.4     ");
ObjectSet    ("FU", OBJPROP_FIRSTLEVEL+5, 1.0);
ObjectSetFiboDescription("FU",5,"+100.0     ");
ObjectSet    ("FU", OBJPROP_FIRSTLEVEL+6, 1.236);
ObjectSetFiboDescription("FU",6,"+123.6     ");
ObjectSet    ("FU", OBJPROP_FIRSTLEVEL+7, 1.382);
ObjectSetFiboDescription("FU",7,"+138.2     ");
ObjectSet    ("FU", OBJPROP_FIRSTLEVEL+8, 1.5);
ObjectSetFiboDescription("FU",8,"+150.0     ");
ObjectSet    ("FU", OBJPROP_FIRSTLEVEL+9, 1.618);
ObjectSetFiboDescription("FU",9,"+161.8     ");

ObjectCreate ("BOTTOM", OBJ_HLINE, 0, Time[0], 0);
ObjectSet    ("BOTTOM", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet    ("BOTTOM", OBJPROP_WIDTH, 1);
ObjectSet    ("BOTTOM", OBJPROP_COLOR, DeepSkyBlue);

ObjectCreate ("FD", OBJ_FIBO, 0, Time[89], 0, Time[89], 0);
ObjectSet    ("FD", OBJPROP_LEVELSTYLE, STYLE_DASH);
ObjectSet    ("FD", OBJPROP_LEVELWIDTH, 1);
ObjectSet    ("FD", OBJPROP_LEVELCOLOR, colorline);
ObjectSet    ("FD", OBJPROP_FIBOLEVELS, 10);
ObjectSet    ("FD", OBJPROP_FIRSTLEVEL+0, 0.236);
ObjectSetFiboDescription("FD",0,"-23.6     ");
ObjectSet    ("FD", OBJPROP_FIRSTLEVEL+1, 0.382);
ObjectSetFiboDescription("FD",1,"-38.2     ");
ObjectSet    ("FD", OBJPROP_FIRSTLEVEL+2, 0.5);
ObjectSetFiboDescription("FD",2,"-50.0     ");
ObjectSet    ("FD", OBJPROP_FIRSTLEVEL+3, 0.618);
ObjectSetFiboDescription("FD",3,"-61.8     ");
ObjectSet    ("FD", OBJPROP_FIRSTLEVEL+4, 0.764);
ObjectSetFiboDescription("FD",4,"-76.4     ");
ObjectSet    ("FD", OBJPROP_FIRSTLEVEL+5, 1.0);
ObjectSetFiboDescription("FD",5,"-100.0     ");
ObjectSet    ("FD", OBJPROP_FIRSTLEVEL+6, 1.236);
ObjectSetFiboDescription("FD",6,"-123.6     ");
ObjectSet    ("FD", OBJPROP_FIRSTLEVEL+7, 1.382);
ObjectSetFiboDescription("FD",7,"-138.2     ");
ObjectSet    ("FD", OBJPROP_FIRSTLEVEL+8, 1.5);
ObjectSetFiboDescription("FD",8,"-150.0     ");
ObjectSet    ("FD", OBJPROP_FIRSTLEVEL+9, 1.618);
ObjectSetFiboDescription("FD",9,"-161.8     ");

ObjectCreate ("FR", OBJ_FIBO, 0, Time[89], 0, Time[89], 0);
ObjectSet    ("FR", OBJPROP_LEVELSTYLE, STYLE_DASH);
ObjectSet    ("FR", OBJPROP_LEVELWIDTH, 1);
ObjectSet    ("FR", OBJPROP_LEVELCOLOR, colorline);
ObjectSet    ("FR", OBJPROP_FIBOLEVELS, 5);
ObjectSet    ("FR", OBJPROP_FIRSTLEVEL+0, 0.236);
ObjectSetFiboDescription("FR",0,"23.6     ");
ObjectSet    ("FR", OBJPROP_FIRSTLEVEL+1, 0.382);
ObjectSetFiboDescription("FR",1,"38.2     ");
ObjectSet    ("FR", OBJPROP_FIRSTLEVEL+2, 0.5);
ObjectSetFiboDescription("FR",2,"50.0     ");
ObjectSet    ("FR", OBJPROP_FIRSTLEVEL+3, 0.618);
ObjectSetFiboDescription("FR",3,"61.8     ");
ObjectSet    ("FR", OBJPROP_FIRSTLEVEL+4, 0.764);
ObjectSetFiboDescription("FR",4,"76.4     ");

_N_Time = 0;
_Cur_Period = 0;
return(0);
}
//-------------------------------------------------------------------------------------------
int deinit() {
ObjectDelete("FU");
ObjectDelete("FD");
ObjectDelete("FR");
ObjectDelete("TOP");
ObjectDelete("BOTTOM");
Comment(" ");
return(0);
}
//-------------------------------------------------------------------------------------------
int start() {
if( (_N_Time != Time[0]) || (_Cur_Period != Period()) ) {
//=================================================================
double yesterday_high, yesterday_low, yesterday_close, Q, _X_Point;
double rates_mn[2][6];
ArrayCopyRates(rates_mn, Symbol(), _My_Period);
yesterday_high = rates_mn[1][3];
yesterday_low = rates_mn[1][2];
yesterday_close = rates_mn[1][4];
Q = yesterday_high - yesterday_low;

ObjectMove ("TOP", 0, Time[0], yesterday_high);
ObjectMove ("BOTTOM", 0, Time[0], yesterday_low);

ObjectMove ("FU", 0, Time[89], yesterday_high + Q);
ObjectMove ("FU", 1, Time[89], yesterday_high);

ObjectMove ("FD", 1, Time[89], yesterday_low);
ObjectMove ("FD", 0, Time[89], yesterday_low - Q);

ObjectMove ("FR", 0, Time[89], yesterday_high);
ObjectMove ("FR", 1, Time[89], yesterday_low);

_N_Time = Time[0];
_Cur_Period = Period();
//=================================================================
}
return(0);
}
//-------------------------------------------------------------------------------------------





Sample





Analysis



Market Information Used:

Series array that contains open time of each bar


Indicator Curves created:


Indicators Used:



Custom Indicators Used:

Order Management characteristics:

Other Features: