USD_against_all

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
//+------------------------------------------------------------------+
//|                                                                  |
//|                                              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-20 îòòåíîê òåêñòà
extern string note="Period_(0,M1,M5,M15,M30,H1,H4,D1,W1,MN)";
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[4]={17,32,45,153,170};// êîîðäèíàòû ãîðèçîíò.ëèíèé
//=====================================================================
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+16+y*22);
   ObjectSetText(y+"line-y"+c,"|",17,"Verdana",tab_color); }
                     } 
  //--------------------------------------------------------------------- 
  // òåêñò                     
   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+156); 
   ObjectSetText("text","USD against all.   Period_"+Period_,7,"Verdana",f_Color(text_color,1));                                                          
   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(percent>100)percent=100;// 
    if(count>=20)count=20;   
         // ------------------//  
                                                 
    if(z<3) flag=flag*(-1);   // èíâåðò. "USDJPY","USDCHF","USDCAD"
    if(flag==(-1)) minus="-"; 
//--------------------------------------------------------------------  
  // ïðîöåíòû     
   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));  
                       } }
//---------------------------------------------------------------------                     
   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,0,255';col_R=C'255,0,0';break; 
    case 1: col_B=C'0,10,255';col_R=C'255,10,0';break; 
    case 2: col_B=C'0,30,255';col_R=C'255,30,0';break; 
    case 3: col_B=C'0,50,255';col_R=C'255,50,0';break; 
    case 4: col_B=C'0,80,255';col_R=C'255,80,0';break; 
    case 5: col_B=C'0,100,255';col_R=C'255,100,0';break; 
    case 6: col_B=C'0,120,255';col_R=C'255,120,0';break; 
    case 7: col_B=C'0,130,255';col_R=C'255,130,0';break; 
    case 8: col_B=C'0,140,255';col_R=C'255,140,0';break; 
    case 9: col_B=C'0,150,255';col_R=C'255,150,0';break; 
    case 10: col_B=C'0,160,255';col_R=C'255,160,0';break; 
    case 11: col_B=C'0,170,255';col_R=C'255,170,0';break; 
    case 12: col_B=C'0,180,255';col_R=C'255,180,0';break; 
    case 13: col_B=C'0,190,255';col_R=C'255,190,0';break; 
    case 14: col_B=C'0,200,255';col_R=C'255,200,0';break; 
    case 15: col_B=C'0,205,255';col_R=C'255,205,0';break; 
    case 16: col_B=C'0,210,255';col_R=C'255,210,0';break; 
    case 17: col_B=C'0,215,255';col_R=C'255,215,0';break; 
    case 18: col_B=C'0,220,255';col_R=C'255,220,0';break; 
    case 19: col_B=C'0,235,255';col_R=C'255,235,0';break; 
    case 20: col_B=C'0,235,255';col_R=C'255,235,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=="H4")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 ---