ABL_5_uyepfv

Author: Swan � 2010
Price Data Components
Series array that contains open time of each bar
0 Views
0 Downloads
0 Favorites
ABL_5_uyepfv
//+------------------------------------------------------------------+
//|                                        Andre Boyka Lines ABL.mq4 |
//|                                                      Swan © 2010 |
//|                                                                  |
//|     Èäåÿ - renee (Romania)                                       |
//|   - http://www.onix-trade.net/forum/index.php?showtopic=81964    |
//|     òåõçàäàíèå - ïîðó÷èê - http://www.onix-trade.net/forum       |                                                        |
//|     ïàìÿòè Áîéêè Andre                                           |
//+------------------------------------------------------------------+
#property copyright "Swan © 2010"
#property link      "http://forum.mql4.com/ru"
#property indicator_chart_window

extern string ÒàéìÔðåéì="M5";//D-äåíü,W-íåäåëÿ,MN-Ìåñÿö,Y-ãîä. ÷èñëî-êîëè÷åñòâî
extern color Pitchfork_1=Red;
extern color Pitchfork_2=Blue;
extern color Boyka_Line=Gold;
extern int Boyka_Line_Width=2;
extern bool DrawVLine=true;
extern color VLine=Green;

int TF=5,nTF=1;
string sTF="M5";
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
if(StringSubstr(ÒàéìÔðåéì,0,1)=="M5"){sTF="M5"; nTF=StrToInteger(StringSubstr(ÒàéìÔðåéì,1,0));TF=5;}
if(StringSubstr(ÒàéìÔðåéì,0,1)=="W")  {sTF="W"; nTF=StrToInteger(StringSubstr(ÒàéìÔðåéì,1,0));TF=10080;}
if(StringSubstr(ÒàéìÔðåéì,0,2)=="MN") {sTF="MN";nTF=StrToInteger(StringSubstr(ÒàéìÔðåéì,2,0));TF=43200;}
if(StringSubstr(ÒàéìÔðåéì,0,1)=="Y")  {sTF="Y"; nTF=StrToInteger(StringSubstr(ÒàéìÔðåéì,1,0));TF=120960;}
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete(ÒàéìÔðåéì+"_b0");
ObjectDelete(ÒàéìÔðåéì+"_b1");
ObjectDelete(ÒàéìÔðåéì+"_b2");
ObjectDelete(ÒàéìÔðåéì+"_b3");
ObjectDelete(ÒàéìÔðåéì+"_Pitchfork_1");
ObjectDelete(ÒàéìÔðåéì+"_Pitchfork_2");
ObjectDelete(ÒàéìÔðåéì+"_Boyka_Line");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
 {
if(TF<=Period()) return(0);

int b0,b1,b2,b3;
double H1,H2,L1,L2;
int iH1,iH2,iL1,iL2;

if(sTF=="Y")
   {
   int Y=TimeYear(iTime(NULL,0,0));
   b0=iBarShift(NULL,0,StrToTime(Y+".0.0 00:00"));Y-=nTF;
   b1=iBarShift(NULL,0,StrToTime(Y+".0.0 00:00"));Y-=nTF;
   b2=iBarShift(NULL,0,StrToTime(Y+".0.0 00:00"));Y-=nTF;
   b3=iBarShift(NULL,0,StrToTime(Y+".0.0 00:00"));
   }
else if(sTF=="MN")
   {
   b0=iBarShift(NULL,0,iTime(NULL,TF,0));
   if(TimeDay(Time[b0])!=1) b0--;
   b1=iBarShift(NULL,0,iTime(NULL,TF,nTF));
   if(TimeDay(Time[b1])!=1) b1--;
   b2=iBarShift(NULL,0,iTime(NULL,TF,2*nTF));
   if(TimeDay(Time[b2])!=1) b2--;
   b3=iBarShift(NULL,0,iTime(NULL,TF,3*nTF));
   if(TimeDay(Time[b3])!=1) b3--;
   }
else if(sTF=="W")
   {
   b0=iBarShift(NULL,0,iTime(NULL,TF,0));
   if(TimeHour(Time[b0])!=0) b0--;
   b1=iBarShift(NULL,0,iTime(NULL,TF,nTF));
   if(TimeHour(Time[b1])!=0) b1--;
   b2=iBarShift(NULL,0,iTime(NULL,TF,2*nTF));
   if(TimeHour(Time[b2])!=0) b2--;
   b3=iBarShift(NULL,0,iTime(NULL,TF,3*nTF));
   if(TimeHour(Time[b3])!=0) b3--;
   }
else
   {
   b0=iBarShift(NULL,0,iTime(NULL,TF,0));
   if(TimeMinute(Time[b0])!=0) b0--;
   b1=iBarShift(NULL,0,iTime(NULL,TF,nTF));
   if(TimeMinute(Time[b1])!=0) b1--;
   b2=iBarShift(NULL,0,iTime(NULL,TF,2*nTF));
   if(TimeMinute(Time[b2])!=0) b2--;
   b3=iBarShift(NULL,0,iTime(NULL,TF,3*nTF));
   if(TimeMinute(Time[b3])!=0) b3--;
   }
//----
if(DrawVLine){
ObjectDelete(ÒàéìÔðåéì+"_b0");
ObjectDelete(ÒàéìÔðåéì+"_b1");
ObjectDelete(ÒàéìÔðåéì+"_b2");
ObjectDelete(ÒàéìÔðåéì+"_b3");

ObjectCreate(ÒàéìÔðåéì+"_b0",OBJ_VLINE,0,Time[b0],1.0);
ObjectCreate(ÒàéìÔðåéì+"_b1",OBJ_VLINE,0,Time[b1],1.0);
ObjectCreate(ÒàéìÔðåéì+"_b2",OBJ_VLINE,0,Time[b2],1.0);
ObjectCreate(ÒàéìÔðåéì+"_b3",OBJ_VLINE,0,Time[b3],1.0);

ObjectSet(ÒàéìÔðåéì+"_b0",OBJPROP_COLOR,VLine);
ObjectSet(ÒàéìÔðåéì+"_b1",OBJPROP_COLOR,VLine);
ObjectSet(ÒàéìÔðåéì+"_b2",OBJPROP_COLOR,VLine);
ObjectSet(ÒàéìÔðåéì+"_b3",OBJPROP_COLOR,VLine);

ObjectSet(ÒàéìÔðåéì+"_b0",OBJPROP_BACK,true);
ObjectSet(ÒàéìÔðåéì+"_b1",OBJPROP_BACK,true);
ObjectSet(ÒàéìÔðåéì+"_b2",OBJPROP_BACK,true);
ObjectSet(ÒàéìÔðåéì+"_b3",OBJPROP_BACK,true);
}

iH1=iHighest(NULL,0,MODE_HIGH,b1-b0,b0+1); H1=High[iH1];
iL1=iLowest(NULL,0,MODE_LOW,b1-b0,b0+1);   L1=Low[iL1];

iH2=iHighest(NULL,0,MODE_HIGH,b2-b1,b1+1); H2=High[iH2];
iL2=iLowest(NULL,0,MODE_LOW,b2-b1,b1+1);   L2=Low[iL2];


ObjectDelete(ÒàéìÔðåéì+"_Pitchfork_1");
ObjectCreate(ÒàéìÔðåéì+"_Pitchfork_1",OBJ_PITCHFORK,0,Time[iL2],L2,Time[iH1],H1,Time[iL1],L1);
ObjectSet(ÒàéìÔðåéì+"_Pitchfork_1",OBJPROP_COLOR,Pitchfork_1);

ObjectDelete(ÒàéìÔðåéì+"_Pitchfork_2");
ObjectCreate(ÒàéìÔðåéì+"_Pitchfork_2",OBJ_PITCHFORK,0,Time[iH2],H2,Time[iH1],H1,Time[iL1],L1);
ObjectSet(ÒàéìÔðåéì+"_Pitchfork_2",OBJPROP_COLOR,Pitchfork_2);

ObjectDelete(ÒàéìÔðåéì+"_Boyka_Line");
ObjectCreate(ÒàéìÔðåéì+"_Boyka_Line",OBJ_PITCHFORK,0,Time[(b1+b2)/2],(H2+L2)/2,Time[iH1],H1,Time[iL1],L1);
ObjectSet(ÒàéìÔðåéì+"_Boyka_Line",OBJPROP_COLOR,Boyka_Line);
ObjectSet(ÒàéìÔðåéì+"_Boyka_Line",OBJPROP_WIDTH,Boyka_Line_Width);

WindowRedraw();
  return(0);
 }
//+------------------------------------------------------------------+

Comments