Price Data Components
Series array that contains open prices of each barSeries array that contains the highest prices of each barSeries array that contains the lowest prices of each bar
0 Views
0 Downloads
0 Favorites
STICKER_3
//+------------------------------------------------------------------+
//|                                                   STICKER.v3 mg4 |                   
//|                                                  vorese          |
//|                                              vorese@yandex.ru    |
//|                                                                  |
//+------------------------------------------------------------------+
#property indicator_chart_window
extern string symbol="0";// ëþáàÿ âàëþòíàÿ ïàðà.  0-òåêóùèé ãðàôèê
extern int X_DISTANCE=0; // ðàñïîëîæ. ïî ãîðèçîíòàëè
extern int Y_DISTANCE=0; // ðàñïîëîæ. ïî âåðòèêàëè
extern color border_color=Silver; // öâåò ðàìêè 
extern color text_color=Silver; // öâåò âåðõíåé ñòðîêè 
extern color CurrCol_up=Aqua; // öâåò îáîçí.âàëþòû è % ðàñòóùåãî áàðà 
extern color CurrCol_down=Gold; // öâåò îáîçí.âàëþòû è % ïàäàþùåãî áàðà
extern bool colorRB_RG=true;  //öâåò ãèñòîãðàììû. true- êðàñíûé ñèíèé.false- êðàñíûé çåëåíûé.
extern bool  brightness_gradation=true; 
//---------------------------------------------------------------------   
int line_x[5]={7,18,28,94,107};// êîîðäèíàòû ãîðèçîíò.ëèíèé
color color_currency;
string symb;
//=====================================================================
int init()
  {
      if(symbol=="0") symb=Symbol();
        else
         symb=symbol;
 //-------------------------------------------------------------------  
   // ñîçäàòü ãîðèçîíò. ëèíèè
  for(int x=0;x<5;x++)  {
   ObjectCreate(symbol+"line-x"+x, OBJ_LABEL, 0, 0, 0);
   ObjectSet(symbol+"line-x"+x, OBJPROP_CORNER, 3);
   ObjectSet(symbol+"line-x"+x, OBJPROP_XDISTANCE,X_DISTANCE+10);
   ObjectSet(symbol+"line-x"+x, OBJPROP_YDISTANCE, Y_DISTANCE+line_x[x]);
   ObjectSetText(symbol+"line-x"+x,"_____________________",7,"Verdana",border_color); 
                     }
 //---------------------------------------------------------------------
   // ñîçäàòü âåðòèêàë. ëèíèè
   int c,y,r;
      for(c=0;c<2;c++) {
        if(c==1)r=129;
      for( y=0;y<5;y++)  {
   ObjectCreate(y+symbol+"line-y"+c, OBJ_LABEL, 0, 0, 0);
   ObjectSet(y+symbol+"line-y"+c, OBJPROP_CORNER, 3);
   ObjectSet(y+symbol+"line-y"+c, OBJPROP_XDISTANCE,X_DISTANCE+3+r);
   ObjectSet(y+symbol+"line-y"+c, OBJPROP_YDISTANCE, Y_DISTANCE+7+y*19);
   ObjectSetText(y+symbol+"line-y"+c,"|",19,"Verdana",border_color);      }
                     } 
  //--------------------------------------------------------------------- 
  // òåêñò                     
   ObjectCreate(symbol+"text", OBJ_LABEL, 0, 0, 0);
   ObjectSet(symbol+"text", OBJPROP_CORNER, 3);
   ObjectSet(symbol+"text", OBJPROP_XDISTANCE,X_DISTANCE+52);
   ObjectSet(symbol+"text", OBJPROP_YDISTANCE, Y_DISTANCE+96); 
   ObjectSetText(symbol+"text",symb,7,"Verdana",text_color);                                                          
   return(0);
  }                               
//=======================================================================
int deinit()
  { 
    int n,m;
      for( n=0;n<7;n++)  // óäàëèòü âñå îá'åêòû 
     {  
       ObjectDelete(symbol+"perc"+n);
       ObjectDelete(symbol+"curr"+n);
       if(n<5) ObjectDelete(symbol+"line-x"+n);  
  //------       
      for( m=0;m<=20;m++)
     {
       ObjectDelete(m+symbol+"gist"+n);
       if(m<2 && n<5) ObjectDelete(n+symbol+"line-y"+m);
                               } } 
       ObjectDelete(symbol+"text");                        
   return(0);
  }
//======================================================================
int start()
  {
  int i,w,z;
  double percent,bid,open,high,low; 
  int flag,count;  
  for( z=0;z<7;z++)  
    { 
      for( w=0;w<=20;w++) {
       ObjectDelete(w+symbol+"gist"+z); //óäàëèòü ãèñòîãðàììó ïåðåä îáíîâëåíèåì
                              }  
   percent=0; 
   flag=0;
   count=0;           
//---------------------------------------------------------------------
     // îáíîâèòü äàííûå
    RefreshRates();
    bid=MarketInfo(symb, MODE_BID );
    open=iOpen(symb,f_Timeframe(z),0);
    high=iHigh(symb,f_Timeframe(z),0);
    low=iLow(symb,f_Timeframe(z),0);   
//---------------------------------------------------------------------  
    // ðàñ÷åò ïðîöåíòîâ
   if(bid>open && high!=open && bid>0)   
       { percent=(bid-open)/(high-open)*100; // ïðîö.ðàñòóùåãî áàðà
         flag=1;
         count=NormalizeDouble(percent/5,0); }
       else {
         if(bid<open && low!=open && bid>0)
       { percent=(open-bid)/(open-low)*100; // ïðîö.ïàäàþùåãî áàðà
         flag=(-1);  
         count=NormalizeDouble(percent/5,0); } }
//-------------------------------------------------------------------- 
         // ïðè ïåðåêëþ÷åíèè ÒÔ//
    if(percent>100)percent=100; 
    if(count>20)count=20; 
 //-------------------------------------------------------------------     
        
//-------------------------------------------------------------------- 
     //-- öâåò âàëþòû è ïðîöåíòîâ
  if(flag==1)color_currency=CurrCol_up;
    else {
    if(flag==(-1))color_currency=CurrCol_down;
    else {
          color_currency=text_color;  }}
//--------------------------------------------------------------------
  // ïðîöåíòû     
   ObjectCreate(symbol+"perc"+z, OBJ_LABEL, 0, 0, 0);
   ObjectSet(symbol+"perc"+z, OBJPROP_CORNER, 3);
   ObjectSet(symbol+"perc"+z, OBJPROP_XDISTANCE,X_DISTANCE+121-z*18);
   ObjectSet(symbol+"perc"+z, OBJPROP_YDISTANCE, Y_DISTANCE+20);
   ObjectSetText(symbol+"perc"+z,DoubleToStr(percent,0),5,"Verdana",color_currency); 
                   
//-------------------------------------------------------------------- 
  //    ïåðèîä
   ObjectCreate(symbol+"curr"+z, OBJ_LABEL, 0, 0, 0);
   ObjectSet(symbol+"curr"+z, OBJPROP_CORNER, 3);
   ObjectSet(symbol+"curr"+z, OBJPROP_XDISTANCE,X_DISTANCE+119-z*18);
   ObjectSet(symbol+"curr"+z, OBJPROP_YDISTANCE, Y_DISTANCE+10);
   ObjectSetText(symbol+"curr"+z,f_Period(z),5,"Verdana",color_currency);         
//--------------------------------------------------------------------- 
  // ãèñòîãðàììà 
     for( i=0;i<=count;i++) {  
   ObjectCreate(i+symbol+"gist"+z, OBJ_LABEL, 0, 0, 0);
   ObjectSet(i+symbol+"gist"+z, OBJPROP_CORNER, 3);
   ObjectSet(i+symbol+"gist"+z, OBJPROP_XDISTANCE,X_DISTANCE+115-z*18);
   ObjectSet(i+symbol+"gist"+z, OBJPROP_YDISTANCE, Y_DISTANCE+3+i*3);
   ObjectSetText(i+symbol+"gist"+z,"-",40,"Verdana",f_Color(i,flag));  
                       } }  
//---------------------------------------------------------------------                     
   return(0);
  }
//=====================================================================
//============ öâåò ñèíèé êðàñíûé çåëåíûé==============================      
color f_Color (int num,int flag) 
{   color col_R,col_B,col,col_G;
if(!brightness_gradation ) {
 if(flag==1 && colorRB_RG)col=Blue;
     else {
      if(flag==1 && !colorRB_RG)col=Green;
       else {
        if(flag==(-1)) col=Red; 
         else {
           col=text_color;  }}}  }
     else {      
  switch(num) 
  { case 0: col_B=C'0,0,255';col_R=C'255,0,0';col_G=C'0,90,0';break; 
    case 1: col_B=C'0,10,255';col_R=C'255,10,0';col_G=C'0,100,0';break; 
    case 2: col_B=C'0,20,255';col_R=C'255,20,0';col_G=C'0,110,0';break; 
    case 3: col_B=C'0,30,255';col_R=C'255,30,0';col_G=C'0,120,0';break; 
    case 4: col_B=C'0,40,255';col_R=C'255,40,0';col_G=C'0,130,0';break; 
    case 5: col_B=C'0,50,255';col_R=C'255,50,0';col_G=C'0,140,0';break; 
    case 6: col_B=C'0,60,255';col_R=C'255,60,0';col_G=C'0,150,0';break; 
    case 7: col_B=C'0,70,255';col_R=C'255,70,0';col_G=C'0,155,0';break; 
    case 8: col_B=C'0,80,255';col_R=C'255,80,0';col_G=C'0,160,0';break; 
    case 9: col_B=C'0,90,255';col_R=C'255,90,0';col_G=C'0,165,0';break; 
    case 10: col_B=C'0,100,255';col_R=C'255,100,0';col_G=C'0,170,0';break; 
    case 11: col_B=C'0,110,255';col_R=C'255,110,0';col_G=C'0,175,0';break; 
    case 12: col_B=C'0,120,255';col_R=C'255,120,0';col_G=C'0,180,0';break; 
    case 13: col_B=C'0,130,255';col_R=C'255,130,0';col_G=C'0,185,0';break; 
    case 14: col_B=C'0,140,255';col_R=C'255,140,0';col_G=C'0,190,0';break; 
    case 15: col_B=C'0,150,255';col_R=C'255,150,0';col_G=C'0,195,0';break; 
    case 16: col_B=C'0,160,255';col_R=C'255,160,0';col_G=C'0,200,0';break; 
    case 17: col_B=C'0,170,255';col_R=C'255,170,0';col_G=C'0,205,0';break; 
    case 18: col_B=C'0,180,255';col_R=C'255,180,0';col_G=C'0,210,0';break; 
    case 19: col_B=C'0,190,255';col_R=C'255,190,0';col_G=C'0,215,0';break; 
    case 20: col_B=C'0,200,255';col_R=C'255,200,0';col_G=C'0,220,0';break; 
  
    } 
    if(flag==1 && colorRB_RG)col=col_B;
     else {
      if(flag==1 && !colorRB_RG)col=col_G;
       else {
        if(flag==(-1)) col=col_R; 
         else {
           col=text_color;  }}}  }
  return(col); }  
 //=========== ïåðèîä ==================================================
int f_Timeframe(int period)
  { 
    int TF;   
      if(period==0)TF=5;
   else {
     if(period==1)TF=15;
   else {
     if(period==2)TF=30;
   else {
     if(period==3)TF=60;
   else {
     if(period==4)TF=240;
   else {
     if(period==5)TF=1440;
   else {
     if(period==6)TF=10080; 
                     }}}}}}
             return(TF);   }
//==================================================================== 
//========== ïåðèîä òåêñò. ============================================
 string f_Period(int tf_num)
 {
    string text;
    switch(tf_num)
     {  case 0: text="M5";break;
        case 1: text="M15";break;
        case 2: text="M30";break;
        case 3: text="H1";break;
        case 4: text="H4";break; 
        case 5: text="D1";break;
        case 6: text="W1";break;  }
        return(text);   }    

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 ---