ytg_Count_Tick_V1

Author: Yuriy Tokman (YTG)
Price Data Components
Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
ytg_Count_Tick_V1
ÿþ//+------------------------------------------------------------------+

//|                                            ytg_Count_Tick_V0.mq4 |

//|                                               Yuriy Tokman (YTG) |

//|                       https://www.mql5.com/ru/users/satop/seller |

//+------------------------------------------------------------------+

#property copyright "Yuriy Tokman (YTG)"

#property link      "https://www.mql5.com/ru/users/satop/seller"

#property version   "2.00"

#property strict



#property indicator_separate_window

#property indicator_buffers 4

#property indicator_color1 Lime

#property indicator_color2 Lime

#property indicator_color3 Lime

#property indicator_color4 Lime

#property indicator_minimum -110

#property indicator_maximum 90



color colir_01 = Black;

color colir_02 = Blue;

color colir_3 = Red;



double old_tick = 0;

int up_1=0,up_2=0,up_3=0,up_4=0,up_5=0,up_6=0;

int dw_1=0,dw_2=0,dw_3=0,dw_4=0,dw_5=0,dw_6=0;

double old_delta = 0,old_delta2 = 0;

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double ExtMapBuffer3[];

double ExtMapBuffer4[];

int summ = 0;



//+------------------------------------------------------------------+

//| Custom indicator initialization function                         |

//+------------------------------------------------------------------+

int init()

  {

//---- indicators

   summ = 0;

   

   SetIndexStyle(0,0);

   SetIndexBuffer(0,ExtMapBuffer1);

   

   SetIndexStyle(1,0);

   SetIndexBuffer(1,ExtMapBuffer2); 

   

   SetIndexStyle(2,0);

   SetIndexBuffer(2,ExtMapBuffer3);

   

   SetIndexStyle(3,0);

   SetIndexBuffer(3,ExtMapBuffer4);

   

   IndicatorShortName("Count_Tick");          

//----

   return(0);

  }

//+------------------------------------------------------------------+

//| Custom indicator deinitialization function                       |

//+------------------------------------------------------------------+

int deinit()

  {

//----

   GetDellName ();

//----

   return(0);

  }

//+------------------------------------------------------------------+

//| Custom indicator iteration function                              |

//+------------------------------------------------------------------+

int start()

  {

//----

   if(Period()>1)return(0);

//----

   int counted_bars=IndicatorCounted();  

   if(counted_bars<0) return(-1);



   if(counted_bars>0) counted_bars--;

   int limit=Bars-counted_bars-1;



   for(int i=limit; i>=0; i--)

   {

    ExtMapBuffer1[i]=0;

    ExtMapBuffer2[i]=70;

    ExtMapBuffer3[i]=-70;

    ExtMapBuffer4[i]=-90;            

   }  

//----

   int win_idx=WindowFind("Count_Tick");

   datetime time_m1 = iTime(Symbol(),Period(),0);

   datetime time_sh = iTime(Symbol(),Period(),0) + 2*Period()*60;

//----1

   TxtGraf("ytg_upZ_1", "+1 pips", time_sh, 15, win_idx, colir_01);   

   TxtGraf("ytg_dwZ_1", "-1 pips", time_sh, -5, win_idx, colir_01); 

//----2   

   TxtGraf("ytg_upZ_2", "+2 pips", time_sh, 25, win_idx, colir_01);   

   TxtGraf("ytg_dwZ_2", "-2 pips", time_sh, -15, win_idx, colir_01);   

//----3   

   TxtGraf("ytg_upZ_3", "+3 pips", time_sh,35, win_idx, colir_01);   

   TxtGraf("ytg_dwZ_3", "-3 pips", time_sh, -25, win_idx, colir_01);   

//----4   

   TxtGraf("ytg_upZ_4", "+4 pips", time_sh, 45, win_idx, colir_01);   

   TxtGraf("ytg_dwZ_4", "-4 pips", time_sh, -35, win_idx, colir_01);   

//----5   

   TxtGraf("ytg_upZ_5", "+5 pips", time_sh, 55, win_idx, colir_01);   

   TxtGraf("ytg_dwZ_5", "-5 pips", time_sh, -45, win_idx, colir_01);   

//----6   

   TxtGraf("ytg_upZ_6", ">+5 pips", time_sh, 65, win_idx, colir_01);   

   TxtGraf("ytg_dwZ_6", "<-5 pips", time_sh, -55, win_idx, colir_01); 

//----7   

   TxtGraf("ytg_upZ_7", "+max", time_sh, 85, win_idx, colir_01);   

   TxtGraf("ytg_dwZ_7", "-max", time_sh, -75, win_idx, colir_01);

//----8

   TxtGraf("ytg_dwZ_8", "sum", time_sh, -95, win_idx, colir_01);       

   //-----+

   if(old_tick == 0) old_tick = Bid;

   int delta = (int)NormalizeDouble((Bid - old_tick )/GetPoint(),0);

   

   if(delta>old_delta && delta>0 && old_tick>0){old_delta=delta;

   TxtGraf("ytg_up_max"+TimeToStr(time_m1), DoubleToStr(old_delta,0), time_m1, 85, win_idx, colir_3);}



   if(delta<old_delta2 && delta<0){old_delta2=delta;

   TxtGraf("ytg_dw_min"+TimeToStr(time_m1), DoubleToStr(old_delta2,0), time_m1, -75, win_idx, colir_3);}



   

   if(NevBar(1)){

   old_delta = 0;old_delta2 = 0; 

   up_1=0;up_2=0;up_3=0;up_4=0;up_5=0;up_6=0;

   dw_1=0;dw_2=0;dw_3=0;dw_4=0;dw_5=0;dw_6=0;

   summ = 0;}

   //--1

   if(delta==1)up_1++;   

   if(up_1>0)TxtGraf("ytg_up_1"+TimeToStr(time_m1), DoubleToStr(up_1,0), time_m1, 15, win_idx, colir_02);    

   if(delta==-1)dw_1++;   

   if(dw_1>0)TxtGraf("ytg_dw_1"+TimeToStr(time_m1), DoubleToStr(dw_1,0), time_m1, -5, win_idx, colir_02);

   //--2

   if(delta==2)up_2++;   

   if(up_2>0)TxtGraf("ytg_up_2"+TimeToStr(time_m1), DoubleToStr(up_2,0), time_m1, 25, win_idx, colir_02);    

   if(delta==-2)dw_2++;   

   if(dw_2>0)TxtGraf("ytg_dw_2"+TimeToStr(time_m1), DoubleToStr(dw_2,0), time_m1, -15, win_idx, colir_02);

   //--3

   if(delta==3)up_3++;   

   if(up_3>0)TxtGraf("ytg_up_3"+TimeToStr(time_m1), DoubleToStr(up_3,0), time_m1, 35, win_idx, colir_02);    

   if(delta==-3)dw_3++;   

   if(dw_3>0)TxtGraf("ytg_dw_3"+TimeToStr(time_m1), DoubleToStr(dw_3,0), time_m1, -25, win_idx, colir_02);        

   //--4

   if(delta==4)up_4++;   

   if(up_4>0)TxtGraf("ytg_up_4"+TimeToStr(time_m1), DoubleToStr(up_4,0), time_m1, 45, win_idx, colir_02);    

   if(delta==-2)dw_2++;   

   if(dw_4>0)TxtGraf("ytg_dw_4"+TimeToStr(time_m1), DoubleToStr(dw_4,0), time_m1, -35, win_idx, colir_02);

   //--5

   if(delta==5)up_5++;   

   if(up_5>0)TxtGraf("ytg_up_5"+TimeToStr(time_m1), DoubleToStr(up_5,0), time_m1, 55, win_idx, colir_02);    

   if(delta==-5)dw_5++;   

   if(dw_5>0)TxtGraf("ytg_dw_5"+TimeToStr(time_m1), DoubleToStr(dw_5,0), time_m1, -45, win_idx, colir_02);

   //--6

   if(delta>=6)up_6++;   

   if(up_6>0)TxtGraf("ytg_up_6"+TimeToStr(time_m1), DoubleToStr(up_6,0), time_m1, 65, win_idx, colir_02);    

   if(delta<=-6)dw_6++;   

   if(dw_6>0)TxtGraf("ytg_dw_6"+TimeToStr(time_m1), DoubleToStr(dw_6,0), time_m1, -55, win_idx, colir_02);

   //----

   summ += delta;   

   TxtGraf("ytg_dnw_7"+TimeToStr(time_m1), DoubleToStr(summ,0), time_m1, -95, win_idx, colir_02);    

   //----

   old_tick = Bid;

   

   Comment(delta,"  ",summ);

//----

   return(0);

  }

//+------------------------------------------------------------------+

//| $C=:F8O >B>1@065=8O B5:AB0                                       |

//| 02B>@: .@89 ">:<0=L                                              |

//| e-mail: yuriytokman@gmail.com                                    |

//| ICQ#    481-971-287                                              |

//| Skype:  yuriy.g.t                                                |

//+------------------------------------------------------------------+

 void TxtGraf(string labebe, string txt, datetime time1, double price1, int window=0, color colir = Brown)

  {

   if (ObjectFind(labebe)!=-1) ObjectDelete(labebe);

   ObjectCreate(labebe, OBJ_TEXT, window, time1, price1);

   ObjectSetText(labebe, txt, 10, "Times New Roman", colir); 

   ObjectSet(labebe, OBJPROP_BACK, true);     

  }

bool NevBar(int TimeFrame = 0) {

   static datetime PrevBar=0;

   if (PrevBar==iTime(Symbol(),TimeFrame,0)) return(false);

   PrevBar=iTime(Symbol(),TimeFrame,0);

   return(true);

}

 void GetDellName (string name_n = "ytg_")

  {

   string vName;

   for(int i=ObjectsTotal()-1; i>=0;i--)

    {

     vName = ObjectName(i);

     if (StringFind(vName,name_n) !=-1) ObjectDelete(vName);

    }  

  }

//----

double GetPoint()

{

 return(Point());

}

//----+

 void Label(string name_label,string text_label,int corner = 2,int x = 3,int y = 15,int font_size = 10,string font_name = "Arial",color text_color = LimeGreen )

  {

   if (ObjectFind(name_label)!=-1) ObjectDelete(name_label);

       ObjectCreate(name_label,OBJ_LABEL,0,0,0,0,0);         

       ObjectSet(name_label,OBJPROP_CORNER,corner);

       ObjectSet(name_label,OBJPROP_XDISTANCE,x);

       ObjectSet(name_label,OBJPROP_YDISTANCE,y);

       ObjectSetText(name_label,text_label,font_size,font_name,text_color);

  }

Comments