//+------------------------------------------------------------------+ //| ProjectName | //| Copyright 2012, CompanyName | //| http://www.companyname.net | //+------------------------------------------------------------------+ #property copyright "NBF28-kautsarku@yahoo.com" #property indicator_chart_window extern int HistoryDay=5; extern int timeshift=0; //+------------------------------------------------------------------+ int deinit() { ObjectsDeleteAll(0,EMPTY); return(0); } //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { double x; int h,m,s,k; m=Time[0]+Period()*60-CurTime(); x=m/60.0; s=m%60; m=(m-m%60)/60; h=x/60; k=m-(h*60); for(int i=HistoryDay;i>=0;i--) { datetime TokyoStart=StrToTime(TimeToStr(iTime(Symbol(),PERIOD_D1,i),TIME_DATE)+" 01:00"); TokyoStart=StrToTime(TimeToStr(TokyoStart,TIME_DATE)+" "+(TimeHour(TokyoStart)+timeshift)); datetime TokyoEnd=StrToTime(TimeToStr(iTime(Symbol(),PERIOD_D1,i),TIME_DATE)+" 09:00"); TokyoEnd=StrToTime(TimeToStr(TokyoEnd,TIME_DATE)+" "+(TimeHour(TokyoEnd)+timeshift)); int tokyo_bs=iBarShift(Symbol(),15,TokyoStart); int tokyo_be=iBarShift(Symbol(),15,TokyoEnd); int ibl_tokyo = iLowest(Symbol(),15,MODE_LOW,tokyo_bs-tokyo_be,tokyo_be); int ibh_tokyo = iHighest(Symbol(),15,MODE_HIGH,tokyo_bs-tokyo_be,tokyo_be); double vHigh_tokyo=High[ibh_tokyo]; double vLow_tokyo =Low[ibl_tokyo]; double vMid_tokyo =(vHigh_tokyo+vLow_tokyo)/2; double sum_tokyo=(vHigh_tokyo-vLow_tokyo)/Point; ObjectCreate("TokyoStart"+i,OBJ_VLINE,0,TokyoStart,0);ObjectSet("TokyoStart"+i,OBJPROP_COLOR,SteelBlue); ObjectCreate("TokyoEnd"+i,OBJ_VLINE,0,TokyoEnd,0);ObjectSet("TokyoEnd"+i,OBJPROP_COLOR,SteelBlue); if(ibl_tokyo>ibh_tokyo) { double fibo_0=vHigh_tokyo;double fibo_100=vLow_tokyo; string strfibo382="S H O R T";string strfibo618="L O N G"; } else { fibo_100=vHigh_tokyo;fibo_0=vLow_tokyo; strfibo382="L O N G";strfibo618="S H O R T"; } string objname="FIBO Tokyo"+i; ObjectCreate(objname,OBJ_FIBO,0,TokyoEnd,fibo_100,TokyoEnd+2000,fibo_0); ObjectSet(objname,OBJPROP_COLOR,Gray); ObjectSet(objname,OBJPROP_RAY,false); ObjectSet(objname,OBJPROP_TIMEFRAMES,OBJ_PERIOD_M15); ObjectSet(objname,OBJPROP_LEVELCOLOR,SteelBlue); ObjectSet(objname,OBJPROP_FIBOLEVELS,21); ObjectSet(objname,OBJPROP_LEVELSTYLE,STYLE_DOT); ObjectSet(objname,OBJPROP_FIRSTLEVEL,0); ObjectSet(objname,OBJPROP_FIRSTLEVEL+1,0.382); ObjectSet(objname,OBJPROP_FIRSTLEVEL+2,0.618); ObjectSet(objname,OBJPROP_FIRSTLEVEL+3,1); ObjectSet(objname,OBJPROP_FIRSTLEVEL+4,1.309); ObjectSet(objname,OBJPROP_FIRSTLEVEL+5,1.618); ObjectSet(objname,OBJPROP_FIRSTLEVEL+6,2); ObjectSet(objname,OBJPROP_FIRSTLEVEL+7,2.618); ObjectSet(objname,OBJPROP_FIRSTLEVEL+8,-0.382); ObjectSet(objname,OBJPROP_FIRSTLEVEL+9,-0.618); ObjectSet(objname,OBJPROP_FIRSTLEVEL+10,-1); ObjectSet(objname,OBJPROP_FIRSTLEVEL+11,-1.309); ObjectSet(objname,OBJPROP_FIRSTLEVEL+12,-1.618); ObjectSet(objname,OBJPROP_FIRSTLEVEL+13,-2); ObjectSet(objname,OBJPROP_FIRSTLEVEL+14,-2.618); ObjectSet(objname,OBJPROP_FIRSTLEVEL+15,0.236); ObjectSet(objname,OBJPROP_FIRSTLEVEL+16,-0.236); ObjectSet(objname,OBJPROP_FIRSTLEVEL+17,0.764); ObjectSet(objname,OBJPROP_FIRSTLEVEL+18,-0.764); ObjectSet(objname,OBJPROP_FIRSTLEVEL+19,4.237); ObjectSet(objname,OBJPROP_FIRSTLEVEL+20,-4.237); ObjectSetFiboDescription(objname,0,"0%% . %$%"); ObjectSetFiboDescription(objname,1,strfibo618+" . "+"%$%"); ObjectSetFiboDescription(objname,2,strfibo382+" . "+"%$%"); ObjectSetFiboDescription(objname,3,"100%% . %$%"); ObjectSetFiboDescription(objname,4,"130.9%% . %$%"); ObjectSetFiboDescription(objname,5,"Liber Abaci"+" . "+"%$%"); ObjectSetFiboDescription(objname,6,"200%% . %$%"); ObjectSetFiboDescription(objname,7,"261.8%% . %$%"); ObjectSetFiboDescription(objname,8,strfibo382+" . "+"%$%"); ObjectSetFiboDescription(objname,9,strfibo618+" . "+"%$%"); ObjectSetFiboDescription(objname,10,"E 100%% . %$%"); ObjectSetFiboDescription(objname,11,"E 130.9%% . %$%"); ObjectSetFiboDescription(objname,12,"Liber Abaci"+" . "+"%$%"); ObjectSetFiboDescription(objname,13,"E 200%% . %$%"); ObjectSetFiboDescription(objname,14,"E 261.8%% . %$%"); ObjectSetFiboDescription(objname,15,"23.6%% . %$%"); ObjectSetFiboDescription(objname,16,"E 23.6%% . %$%"); ObjectSetFiboDescription(objname,17,"76.4%% . %$%"); ObjectSetFiboDescription(objname,18,"E 76.4%% . %$%"); ObjectSetFiboDescription(objname,19,"423.7%% . %$%"); ObjectSetFiboDescription(objname,20,"E 423.7%% . %$%"); datetime LondonStart=StrToTime(TimeToStr(iTime(Symbol(),PERIOD_D1,i),TIME_DATE)+" 09:00"); LondonStart=StrToTime(TimeToStr(LondonStart,TIME_DATE)+" "+(TimeHour(LondonStart)+timeshift)); datetime LondonEnd=StrToTime(TimeToStr(iTime(Symbol(),PERIOD_D1,i),TIME_DATE)+" 14:00"); LondonEnd=StrToTime(TimeToStr(LondonEnd,TIME_DATE)+" "+(TimeHour(LondonEnd)+timeshift)); int London_bs=iBarShift(Symbol(),0,LondonStart); int London_be=iBarShift(Symbol(),0,LondonEnd); int ibl_London = iLowest(Symbol(),0,MODE_LOW,London_bs-London_be,London_be); int ibh_London = iHighest(Symbol(),0,MODE_HIGH,London_bs-London_be,London_be); double vHigh_London=High[ibh_London]; double vLow_London =Low[ibl_London]; double sum_london=(vHigh_London-vLow_London)/Point; ObjectCreate("LondonStart"+i,OBJ_VLINE,0,LondonStart,0);ObjectSet("LondonStart"+i,OBJPROP_COLOR,LimeGreen); ObjectCreate("LondonEnd"+i,OBJ_VLINE,0,LondonEnd,0);ObjectSet("LondonEnd"+i,OBJPROP_COLOR,LimeGreen); if(ibl_London>ibh_London) { double fibo_1=vHigh_London;double fibo_200=vLow_London; string strfiboL382="S H O R T";string strfiboL618="L O N G"; } else { fibo_200=vHigh_London;fibo_1=vLow_London; strfiboL618="S H O R T";strfiboL382="L O N G"; } string objnameL="FIBO London"+i; ObjectCreate(objnameL,OBJ_FIBO,0,LondonEnd,fibo_200,LondonEnd+3000,fibo_1); ObjectSet(objnameL,OBJPROP_COLOR,Gray); ObjectSet(objnameL,OBJPROP_RAY,false); ObjectSet(objnameL,OBJPROP_TIMEFRAMES,OBJ_PERIOD_M15); ObjectSet(objnameL,OBJPROP_LEVELCOLOR,LimeGreen); ObjectSet(objnameL,OBJPROP_FIBOLEVELS,21); ObjectSet(objnameL,OBJPROP_LEVELSTYLE,STYLE_DOT); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL,0); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+1,0.382); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+2,0.618); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+3,1); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+4,1.309); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+5,1.618); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+6,2); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+7,2.618); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+8,-0.382); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+9,-0.618); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+10,-1); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+11,-1.309); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+12,-1.618); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+13,-2); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+14,-2.618); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+15,0.236); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+16,-0.236); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+17,0.764); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+18,-0.764); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+19,4.237); ObjectSet(objnameL,OBJPROP_FIRSTLEVEL+20,-4.237); ObjectSetFiboDescription(objnameL,0,"0%% . %$%"); ObjectSetFiboDescription(objnameL,1,strfiboL618+" . "+"%$%"); ObjectSetFiboDescription(objnameL,2,strfiboL382+" . "+"%$%"); ObjectSetFiboDescription(objnameL,3,"100%% . %$%"); ObjectSetFiboDescription(objnameL,4,"130.9%% . %$%"); ObjectSetFiboDescription(objnameL,5,"Liber Abaci"+" . "+"%$%"); ObjectSetFiboDescription(objnameL,6,"200%% . %$%"); ObjectSetFiboDescription(objnameL,7,"261.8%% . %$%"); ObjectSetFiboDescription(objnameL,8,strfiboL382+" . "+"%$%"); ObjectSetFiboDescription(objnameL,9,strfiboL618+" . "+"%$%"); ObjectSetFiboDescription(objnameL,10,"E 100%% . %$%"); ObjectSetFiboDescription(objnameL,11,"E 130.9%% . %$%"); ObjectSetFiboDescription(objnameL,12,"Liber Abaci"+" . "+"%$%"); ObjectSetFiboDescription(objnameL,13,"E 200%% . %$%"); ObjectSetFiboDescription(objnameL,14,"E 261.8%% . %$%"); ObjectSetFiboDescription(objnameL,15,"23.6%%% . %$%"); ObjectSetFiboDescription(objnameL,16,"E 23.6%% . %$%"); ObjectSetFiboDescription(objnameL,17,"76.4%% . %$%"); ObjectSetFiboDescription(objnameL,18,"E 76.4%% . %$%"); ObjectSetFiboDescription(objnameL,19,"423.7%% . %$%"); ObjectSetFiboDescription(objnameL,20,"E 423.7%% . %$%"); datetime NewyorkStart=StrToTime(TimeToStr(iTime(Symbol(),PERIOD_D1,i),TIME_DATE)+" 14:00"); NewyorkStart=StrToTime(TimeToStr(NewyorkStart,TIME_DATE)+" "+(TimeHour(NewyorkStart)+timeshift)); datetime NewyorkEnd=StrToTime(TimeToStr(iTime(Symbol(),PERIOD_D1,i),TIME_DATE)+" 22:00"); NewyorkEnd=StrToTime(TimeToStr(NewyorkEnd,TIME_DATE)+" "+(TimeHour(NewyorkEnd)+timeshift)); int Newyork_bs=iBarShift(Symbol(),0,NewyorkStart); int Newyork_be=iBarShift(Symbol(),0,NewyorkEnd); int ibl_Newyork = iLowest(Symbol(),0,MODE_LOW,Newyork_bs-Newyork_be,Newyork_be); int ibh_Newyork = iHighest(Symbol(),0,MODE_HIGH,Newyork_bs-Newyork_be,Newyork_be); double vHigh_Newyork=High[ibh_Newyork]; double vLow_Newyork =Low[ibl_Newyork]; double sum_NY=(vHigh_Newyork-vLow_Newyork)/Point; ObjectCreate("NewYorkStart"+i,OBJ_VLINE,0,NewyorkStart,0);ObjectSet("NewYorkStart"+i,OBJPROP_COLOR,DarkOrange); ObjectCreate("NewYorkEnd"+i,OBJ_VLINE,0,NewyorkEnd,0);ObjectSet("NewYorkEnd"+i,OBJPROP_COLOR,DarkOrange); if(ibl_Newyork>ibh_Newyork) { double fibo_3=vHigh_Newyork;double fibo_300=vLow_Newyork; string strfiboN382="S H O R T";string strfiboN618="L O N G"; } else { fibo_300=vHigh_Newyork;fibo_3=vLow_Newyork; strfiboN382="L O N G";strfiboN618="S H O R T"; } string objnameN="FIBO New York"+i; ObjectCreate(objnameN,OBJ_FIBO,0,NewyorkEnd,fibo_300,NewyorkEnd+4000,fibo_3); ObjectSet(objnameN,OBJPROP_COLOR,Gray); ObjectSet(objnameN,OBJPROP_RAY,false); ObjectSet(objnameN,OBJPROP_TIMEFRAMES,OBJ_PERIOD_M15); ObjectSet(objnameN,OBJPROP_LEVELCOLOR,DarkOrange); ObjectSet(objnameN,OBJPROP_FIBOLEVELS,21); ObjectSet(objnameN,OBJPROP_LEVELSTYLE,STYLE_DOT); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL,0); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+1,0.382); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+2,0.618); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+3,1); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+4,1.382); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+5,1.618); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+6,2); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+7,2.618); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+8,-0.382); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+9,-0.618); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+10,-1); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+11,-1.382); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+12,-1.618); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+13,-2); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+14,-2.618); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+15,0.236); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+16,-0.236); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+17,0.764); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+18,-0.764); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+19,4.237); ObjectSet(objnameN,OBJPROP_FIRSTLEVEL+20,-4.237); ObjectSetFiboDescription(objnameN,0,"0%% . %$%"); ObjectSetFiboDescription(objnameN,1,strfiboN618+" . "+"%$%"); ObjectSetFiboDescription(objnameN,2,strfiboN382+" . "+"%$%"); ObjectSetFiboDescription(objnameN,3,"100%% . %$%"); ObjectSetFiboDescription(objnameN,4,"130.9%% . %$%"); ObjectSetFiboDescription(objnameN,5,"Liber Abaci"+" . "+"%$%"); ObjectSetFiboDescription(objnameN,6,"200%% . %$%"); ObjectSetFiboDescription(objnameN,7,"261.8%% . %$%"); ObjectSetFiboDescription(objnameN,8,strfiboN382+" . "+"%$%"); ObjectSetFiboDescription(objnameN,9,strfiboN618+" . "+"%$%"); ObjectSetFiboDescription(objnameN,10,"E 100%% . %$%"); ObjectSetFiboDescription(objnameN,11,"E 130.9%% . %$%"); ObjectSetFiboDescription(objnameN,12,"Liber Abaci"+" . "+"%$%"); ObjectSetFiboDescription(objnameN,13,"E 200%% . %$%"); ObjectSetFiboDescription(objnameN,14,"E 261.8%% . %$%"); ObjectSetFiboDescription(objnameN,15,"23.6%%% . %$%"); ObjectSetFiboDescription(objnameN,16,"E 23.6%% . %$%"); ObjectSetFiboDescription(objnameN,17,"76.4%% . %$%"); ObjectSetFiboDescription(objnameN,18,"E 76.4%% . %$%"); ObjectSetFiboDescription(objnameN,19,"423.7%% . %$%"); ObjectSetFiboDescription(objnameN,20,"E 423.7%% . %$%"); } if(TimeHour(TimeCurrent())>13) { ObjectCreate("SD_Newyork",OBJ_STDDEVCHANNEL,0,LondonStart,0,LondonEnd,0); ObjectSet("SD_Newyork",OBJPROP_RAY,true);ObjectSet("SD_Newyork",OBJPROP_DEVIATION,2); ObjectSet("SD_Newyork",OBJPROP_BACK,true);ObjectSet("SD_Newyork",OBJPROP_COLOR,Brown); ObjectSet("SD_Newyork",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M30); ObjectSet("SD_Newyork",OBJPROP_STYLE,STYLE_SOLID); ObjectSet("SD_Newyork",OBJPROP_SCALE,1.618); } if(TimeHour(TimeCurrent())>8) { ObjectCreate("SD_London",OBJ_STDDEVCHANNEL,0,TokyoStart,0,TokyoEnd,0); ObjectSet("SD_London",OBJPROP_RAY,true);ObjectSet("SD_London",OBJPROP_DEVIATION,2); ObjectSet("SD_London",OBJPROP_BACK,true);ObjectSet("SD_London",OBJPROP_COLOR,Green); ObjectSet("SD_London",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M30); ObjectSet("SD_London",OBJPROP_STYLE,STYLE_SOLID); ObjectSet("SD_London",OBJPROP_SCALE,1.618); } if(TimeHour(TimeCurrent())>22) { ObjectCreate("SD_Tokyo",OBJ_STDDEVCHANNEL,0,NewyorkStart,0,NewyorkEnd,0); ObjectSet("SD_Tokyo",OBJPROP_RAY,true);ObjectSet("SD_Tokyo",OBJPROP_DEVIATION,2); ObjectSet("SD_Tokyo",OBJPROP_BACK,true);ObjectSet("SD_Tokyo",OBJPROP_COLOR,Navy); ObjectSet("SD_Tokyo",OBJPROP_TIMEFRAMES,OBJ_PERIOD_M30); ObjectSet("SD_Tokyo",OBJPROP_STYLE,STYLE_SOLID); ObjectSet("SD_Tokyo",OBJPROP_SCALE,1.618); } double sumAll=(sum_NY+sum_london+sum_tokyo)/3; Comment(k+" minutes "+s+" second ", "\n","Tokyo : "+DoubleToStr(sum_tokyo,0)+" pips", "\n","London : "+DoubleToStr(sum_london,0)+" pips", "\n","Newyork : "+DoubleToStr(sum_NY,0)+" pips", "\n","Average : "+DoubleToStr(sumAll,0)+" pips"); return(0); } //+------------------------------------------------------------------+