Liber_Abaci_v1

Author: NBF28-kautsarku@yahoo.com
Price Data Components
Series array that contains open time of each bar
0 Views
0 Downloads
0 Favorites
Liber_Abaci_v1
//+------------------------------------------------------------------+
//|                                                      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);
  }
//+------------------------------------------------------------------+

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---