USD_against_all_v1

Author: ����� �������
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
Miscellaneous
It issuies visual alerts to the screen
0 Views
0 Downloads
0 Favorites
USD_against_all_v1
//+------------------------------------------------------------------+
//|                                                                  |
//|                                              USD AGAINST ALL.mg4 |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Ñåðîâ Åâãåíèé"
#property link      "vorese@yandex.ru"
#property indicator_chart_window
extern int X_DISTANCE=0; // ðàñïîëîæ. ïî ãîðèçîíòàëè
extern int Y_DISTANCE=0; // ðàñïîëîæ. ïî âåðòèêàëè
extern color tab_color=Lime; // öâåò ðàìêè 
extern int text_color=16; // 0-19 îòòåíîê òåêñòà
extern string Period_="0";//M1,M5,M15,M30,H1,H4,D1,W1,MN . Åñëè 0- ïåðèîä òåêóùåãî ãðàôèêà.
//----èñïîëüçóåìûå âàë.ïàðû -------------------------------------------  
string currency_pair[7]={"USDJPY","USDCHF","USDCAD","NZDUSD","AUDUSD","GBPUSD","EURUSD"};
int line_x[5]={18,32,45,148,164};// êîîðäèíàòû ãîðèçîíò.ëèíèé
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
                                 //=====================================================================
int init()
  {
// ñîçäàòü ãîðèçîíò. ëèíèè
   for(int x=0;x<5;x++) 
     {
      ObjectCreate("line-x"+x,OBJ_LABEL,0,0,0);
      ObjectSet("line-x"+x,OBJPROP_CORNER,3);
      ObjectSet("line-x"+x,OBJPROP_XDISTANCE,X_DISTANCE+14);
      ObjectSet("line-x"+x,OBJPROP_YDISTANCE,Y_DISTANCE+line_x[x]);
      ObjectSetText("line-x"+x,"________________________________",7,"Verdana",tab_color);
     }
//---------------------------------------------------------------------
// ñîçäàòü âåðòèêàë. ëèíèè
   int c,y,r;
   for(c=0;c<2;c++) 
     {
      if(c==1)r=196;
      for(y=0;y<7;y++) 
        {
         ObjectCreate(y+"line-y"+c,OBJ_LABEL,0,0,0);
         ObjectSet(y+"line-y"+c,OBJPROP_CORNER,3);
         ObjectSet(y+"line-y"+c,OBJPROP_XDISTANCE,X_DISTANCE+7+r);
         ObjectSet(y+"line-y"+c,OBJPROP_YDISTANCE,Y_DISTANCE+18+y*21);
         ObjectSetText(y+"line-y"+c,"|",16,"Verdana",tab_color); 
        }
     }
   return(0);
  }
//=====================================================================
int deinit()
  {
   int n,m;
   for(n=0;n<7;n++) // óäàëèòü âñå îá'åêòû 
     {
      ObjectDelete("perc"+n);
      ObjectDelete("curr"+n);
      if(n<5) ObjectDelete("line-x"+n);
      //------       
      for(m=0;m<20;m++)
        {
         ObjectDelete(m+"gist"+n);
         if(m<2) ObjectDelete(n+"line-y"+m);
        }
     }
   ObjectDelete("text");
   return(0);
  }
//=====================================================================
int start()
  {
   int i,w,z;
   for(z=0;z<7;z++)
     {
      for(w=0;w<20;w++) 
        {
         ObjectDelete(w+"gist"+z); //óäàëèòü ãèñòîãðàììó ïåðåä îáíîâëåíèåì
        }
      string minus="";
      double percent=0;
      int flag=0;
      int count=0;
      //--------------------------------------------------------------------
      // îáíîâèòü äàííûå
      RefreshRates();
      double bid=MarketInfo(currency_pair[z],MODE_BID);
      double open=iOpen(currency_pair[z],f_Timeframe(Period_),0);
      double high=iHigh(currency_pair[z],f_Timeframe(Period_),0);
      double low=iLow(currency_pair[z],f_Timeframe(Period_),0);
      //--------------------------------------------------------------------  
      // ðàñ÷åò ïðîöåíòîâ
      if(bid>open && high!=open)
        {
         percent=(bid-open)/(high-open)*100; // ïðîö.ðàñòóùåãî áàðà
         flag=1;
         count=NormalizeDouble(percent/5,0); 
        }
      else 
        {
         if(bid<open && low!=open)
           {
            percent=(open-bid)/(open-low)*100; // ïðîö.ïàäàþùåãî áàðà
            flag=(-1);
            count=NormalizeDouble(percent/5,0); 
           }
        }
      //--------------------------------------------------------------------                                                   
      if(z<3) flag=flag*(-1);   // èíâåðò. "USDJPY","USDCHF","USDCAD"
      if(flag==(-1)) minus="-";
      if(count>=20) count=19;
      //--------------------------------------------------------------------  
      // ïðîöåíòû     
      ObjectCreate("perc"+z,OBJ_LABEL,0,0,0);
      ObjectSet("perc"+z,OBJPROP_CORNER,3);
      ObjectSet("perc"+z,OBJPROP_XDISTANCE,X_DISTANCE+13+z*28);
      ObjectSet("perc"+z,OBJPROP_YDISTANCE,Y_DISTANCE+33);
      ObjectSetText("perc"+z,minus+DoubleToStr(percent,0),7,"Verdana",f_Color(text_color,flag));//16 
      //-------------------------------------------------------------------- 
      // âàëþòà   
      ObjectCreate("curr"+z,OBJ_LABEL,0,0,0);
      ObjectSet("curr"+z,OBJPROP_CORNER,3);
      ObjectSet("curr"+z,OBJPROP_XDISTANCE,X_DISTANCE+15+z*28);
      ObjectSet("curr"+z,OBJPROP_YDISTANCE,Y_DISTANCE+20);
      ObjectSetText("curr"+z,f_Currency(z),7,"Verdana",f_Color(text_color,flag));//16          
      //--------------------------------------------------------------------- 
      // ãèñòîãðàììà 
      for(i=0;i<=count;i++) 
        {
         ObjectCreate(i+"gist"+z,OBJ_LABEL,0,0,0);
         ObjectSet(i+"gist"+z,OBJPROP_CORNER,3);
         ObjectSet(i+"gist"+z,OBJPROP_XDISTANCE,X_DISTANCE+8+z*28);
         ObjectSet(i+"gist"+z,OBJPROP_YDISTANCE,Y_DISTANCE+7+i*5);
         ObjectSetText(i+"gist"+z,"-",60,"Verdana",f_Color(i,flag));
        }
     }
//--------------------------------------------------------------------- 
// òåêñò                     
   ObjectCreate("text",OBJ_LABEL,0,0,0);
   ObjectSet("text",OBJPROP_CORNER,3);
   ObjectSet("text",OBJPROP_XDISTANCE,X_DISTANCE+42);
   ObjectSet("text",OBJPROP_YDISTANCE,Y_DISTANCE+151);
   ObjectSetText("text","USD against all.   Period_"+Period_,7,"Verdana",f_Color(text_color,1));
//---------------------------------------------------------------------                     
   return(0);
  }
//=====================================================================
//                      ôóíêöèè                                       =
//=====================================================================

//========== âàëþòà ===================================================
string f_Currency(int curr_num)
  {
   string text;
   switch(curr_num)
     {
      case 0: text="JPY";break;
      case 1: text="CHF";break;
      case 2: text="CAD";break;
      case 3: text="NZD";break;
      case 4: text="AUD";break;
      case 5: text="GBP";break;
      case 6: text="EUR";break;  
     }
   return(text);   
  }
//============ öâåò ===================================================        
color f_Color(int num,int flag)
  {
   color col_R,col_B,col;
   switch(num)
     {
      case 0: col_B=C'0,10,255';col_R=C'255,10,0';break;
      case 1: col_B=C'0,30,255';col_R=C'255,30,0';break;
      case 2: col_B=C'0,50,255';col_R=C'255,50,0';break;
      case 3: col_B=C'0,80,255';col_R=C'255,80,0';break;
      case 4: col_B=C'0,100,255';col_R=C'255,100,0';break;
      case 5: col_B=C'0,120,255';col_R=C'255,120,0';break;
      case 6: col_B=C'0,130,255';col_R=C'255,130,0';break;
      case 7: col_B=C'0,140,255';col_R=C'255,140,0';break;
      case 8: col_B=C'0,150,255';col_R=C'255,150,0';break;
      case 9: col_B=C'0,160,255';col_R=C'255,160,0';break;
      case 10: col_B=C'0,170,255';col_R=C'255,170,0';break;
      case 11: col_B=C'0,180,255';col_R=C'255,180,0';break;
      case 12: col_B=C'0,190,255';col_R=C'255,190,0';break;
      case 13: col_B=C'0,200,255';col_R=C'255,200,0';break;
      case 14: col_B=C'0,205,255';col_R=C'255,205,0';break;
      case 15: col_B=C'0,210,255';col_R=C'255,210,0';break;
      case 16: col_B=C'0,215,255';col_R=C'255,215,0';break;
      case 17: col_B=C'0,220,255';col_R=C'255,220,0';break;
      case 18: col_B=C'0,235,255';col_R=C'255,235,0';break;
      case 19: col_B=C'0,255,255';col_R=C'255,255,0';break;
     }
   if(flag==1)col=col_B;
   else 
     {
      if(flag==(-1)) col=col_R;
      else 
        {
         col=tab_color; 
        }
     }
   return(col); 
  }
//=========== ïåðèîä ==================================================
int f_Timeframe(string period)
  {
   int TF;
   if(period=="M1")TF=1;
   else 
     {
      if(period=="M5")TF=5;
      else 
        {
         if(period=="M15")TF=15;
         else 
           {
            if(period=="M30")TF=30;
            else 
              {
               if(period=="H1")TF=60;
               else 
                 {
                  if(period=="M4")TF=240;
                  else 
                    {
                     if(period=="D1")TF=1440;
                     else 
                       {
                        if(period=="W1")TF=10080;
                        else 
                          {
                           if(period=="MN")TF=43200;
                           else 
                             {
                              if(period=="0")TF=0;
                              else 
                                {
                                 Alert("Îøèáêà óñòàíîâêè ïåðèîäà:  "+period);
                                }
                             }
                          }
                       }
                    }
                 }
              }
           }
        }
     }
   return(TF);   
  }
//========================================================================

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