FXRaiderTable_enM





//+------------------------------------------------------------------+
//|                                                FXRaiderTable.mq4 |
//|                                         Copyright © 2008, AlexKS |
//|                                                                  |
//+------------------------------------------------------------------+
//mod: FXRaiderTable_enM.mq4
//org: http://codebase.mql4.com/ru/4790

#property copyright "Copyright © 2008, AlexKS"
#property link      "alex_ks@bk.ru"
#property indicator_separate_window

double BUFFER[100][100];
double VALUES[100][100];
int    TOTAL[100][100];

//ÑÏÈÑÎÊ ÈÍÑÒÐÓÌÅÍÒÎÂ (ÏÐÎÑÒÎ ÄÎÁÀÂÈÒÜ â ÑÏÈÑÎÊ)
string SYMBOLS[] = {"EURUSD","GBPUSD","AUDUSD","NZDUSD","USDCHF","USDJPY","USDCAD"}; 

string FRAMES[]  = {"W","D","H4(9:00)","H4(13:00)","H4(17:00)","H4(21:00)"}; 
string ARROWS[9]; 


string short_name = "FXRaiderTable EM";

int init() 
{    
   return(0); 
}
int deinit() { return(0); }
  
int start()
  {   
      ARROWS[0] = "DOWN!!";  
      ARROWS[1] = "DOWN!";
      ARROWS[2] = "DOWN";
      ARROWS[3] = "DOWN";
      ARROWS[4] = "-";
      ARROWS[5] = "UP";
      ARROWS[6] = "UP";
      ARROWS[7] = "UP!";
      ARROWS[8] = "UP!!";  
      IndicatorShortName(short_name);
      //Ðàñ÷åò èíäèêàòîðîâ
      Calc();
      //Àíàëèç ðåçóëüòàòîâ
      Analis();
      //Ñîçäàíèå îáúåêòîâ      
      CreateObjects();                      
      return(0);
  }

void Calc()
{    
    ArrayInitialize(BUFFER,-1);    
    for(int i=0; i<ArrayRange(SYMBOLS,0); i++)      
    {      
      string symbol = SYMBOLS[i];
      BUFFER[i][0]  = iMA    (symbol, PERIOD_W1, 55, 0, 3, PRICE_CLOSE, 0);
      BUFFER[i][1]  = iMA    (symbol, PERIOD_W1, 21, 0, 3, PRICE_CLOSE, 0);
      BUFFER[i][2]  = iMACD(symbol,PERIOD_W1,8,13,1,PRICE_OPEN,MODE_MAIN,0);
      BUFFER[i][3]  = iMACD(symbol,PERIOD_W1,8,13,1,PRICE_OPEN,MODE_MAIN,1);
//      BUFFER[i][2]  = iCustom(symbol, PERIOD_W1, "Awesome", 0, 0);
//      BUFFER[i][3]  = iCustom(symbol, PERIOD_W1, "Awesome", 0, 1);
      BUFFER[i][4]  = iMA(symbol,PERIOD_D1,34,0,MODE_LWMA,PRICE_OPEN,0);
      BUFFER[i][5]  = iMA(symbol,PERIOD_D1,35,2,MODE_LWMA,PRICE_OPEN,0);
//      BUFFER[i][4]  = iCustom(symbol, PERIOD_D1, "t_ma", 0, 0);
//      BUFFER[i][5]  = iCustom(symbol, PERIOD_D1, "t_ma", 1, 0);
      BUFFER[i][6]  = iMACD(symbol,PERIOD_D1,8,13,1,PRICE_OPEN,MODE_MAIN,0);
      BUFFER[i][7]  = iMACD(symbol,PERIOD_D1,8,13,1,PRICE_OPEN,MODE_MAIN,1);
//      BUFFER[i][6]  = iCustom(symbol, PERIOD_D1, "Awesome", 0, 0);
//      BUFFER[i][7]  = iCustom(symbol, PERIOD_D1, "Awesome", 0, 1);
      BUFFER[i][8]  = iSAR   (symbol, PERIOD_D1, 0.02, 0.2, 0); 
      
      int shift1, shift2, shift3, shift4;
      if (TimeHour( iTime(symbol, PERIOD_H4, 0) ) == 0)  { shift1=-1; shift2=-1; shift3=-1; shift4=-1; }
      if (TimeHour( iTime(symbol, PERIOD_H4, 0) ) == 4)  { shift1= 0; shift2=-1; shift3=-1; shift4=-1; }
      if (TimeHour( iTime(symbol, PERIOD_H4, 0) ) == 8)  { shift1= 1; shift2= 0; shift3=-1; shift4=-1; }
      if (TimeHour( iTime(symbol, PERIOD_H4, 0) ) == 12) { shift1= 2; shift2= 1; shift3= 0; shift4=-1; }
      if (TimeHour( iTime(symbol, PERIOD_H4, 0) ) == 16) { shift1= 3; shift2= 2; shift3= 1; shift4= 0; }      
      if (TimeHour( iTime(symbol, PERIOD_H4, 0) ) == 20) { shift1= 4; shift2= 3; shift3= 2; shift4= 1; }            
  
      if (shift1 > 0)
      {         
      BUFFER[i][9]   = iMA(symbol,PERIOD_H4,34,0,MODE_LWMA,PRICE_OPEN,shift1);
      BUFFER[i][10]  = iMA(symbol,PERIOD_H4,35,2,MODE_LWMA,PRICE_OPEN,shift1);
//         BUFFER[i][9]  = iCustom(symbol, PERIOD_H4, "t_ma", 0, shift1);
//         BUFFER[i][10] = iCustom(symbol, PERIOD_H4, "t_ma", 1, shift1);
      BUFFER[i][11]  = iMACD(symbol,PERIOD_H4,8,13,1,PRICE_OPEN,MODE_MAIN,shift1);
      BUFFER[i][12]  = iMACD(symbol,PERIOD_H4,8,13,1,PRICE_OPEN,MODE_MAIN,shift1);
//         BUFFER[i][11] = iCustom(symbol, PERIOD_H4, "Awesome", 0, shift1);
//         BUFFER[i][12] = iCustom(symbol, PERIOD_H4, "Awesome", 0, shift1);       
      }      
      if (shift2 > 0)
      {         
 
      BUFFER[i][13]  = iMA(symbol,PERIOD_H4,34,0,MODE_LWMA,PRICE_OPEN,shift2);
      BUFFER[i][14]  = iMA(symbol,PERIOD_H4,35,2,MODE_LWMA,PRICE_OPEN,shift2);
      BUFFER[i][15]  = iMACD(symbol,PERIOD_H4,8,13,1,PRICE_OPEN,MODE_MAIN,shift2);
      BUFFER[i][16]  = iMACD(symbol,PERIOD_H4,8,13,1,PRICE_OPEN,MODE_MAIN,shift2);
 
//         BUFFER[i][13] = iCustom(symbol, PERIOD_H4, "t_ma", 0, shift2);
//         BUFFER[i][14] = iCustom(symbol, PERIOD_H4, "t_ma", 1, shift2);
//         BUFFER[i][15] = iCustom(symbol, PERIOD_H4, "Awesome", 0, shift2);
//         BUFFER[i][16] = iCustom(symbol, PERIOD_H4, "Awesome", 0, shift2);       
      }
      if (shift3 > 0)
      {

      BUFFER[i][17]  = iMA(symbol,PERIOD_H4,34,0,MODE_LWMA,PRICE_OPEN,shift3);
      BUFFER[i][18]  = iMA(symbol,PERIOD_H4,35,2,MODE_LWMA,PRICE_OPEN,shift3);
      BUFFER[i][19]  = iMACD(symbol,PERIOD_H4,8,13,1,PRICE_OPEN,MODE_MAIN,shift3);
      BUFFER[i][20]  = iMACD(symbol,PERIOD_H4,8,13,1,PRICE_OPEN,MODE_MAIN,shift3);


//         BUFFER[i][17] = iCustom(symbol, PERIOD_H4, "t_ma", 0, shift3);
//         BUFFER[i][18] = iCustom(symbol, PERIOD_H4, "t_ma", 1, shift3);
//         BUFFER[i][19] = iCustom(symbol, PERIOD_H4, "Awesome", 0, shift3);
//         BUFFER[i][20] = iCustom(symbol, PERIOD_H4, "Awesome", 0, shift3);       
      }
      if (shift4 > 0)
      {

      BUFFER[i][21]  = iMA(symbol,PERIOD_H4,34,0,MODE_LWMA,PRICE_OPEN,shift4);
      BUFFER[i][22]  = iMA(symbol,PERIOD_H4,35,2,MODE_LWMA,PRICE_OPEN,shift4);
      BUFFER[i][23]  = iMACD(symbol,PERIOD_H4,8,13,1,PRICE_OPEN,MODE_MAIN,shift4);
      BUFFER[i][24]  = iMACD(symbol,PERIOD_H4,8,13,1,PRICE_OPEN,MODE_MAIN,shift4);

//         BUFFER[i][21] = iCustom(symbol, PERIOD_H4, "t_ma", 0, shift4);
//         BUFFER[i][22] = iCustom(symbol, PERIOD_H4, "t_ma", 1, shift4);
//         BUFFER[i][23] = iCustom(symbol, PERIOD_H4, "Awesome", 0, shift4);
//         BUFFER[i][24] = iCustom(symbol, PERIOD_H4, "Awesome", 0, shift4);       
      }
     }      
}

void Analis()
{
    ArrayInitialize(VALUES,0);    
    for(int i=0; i<ArrayRange(SYMBOLS,0); i++)      
    {      
      string symbol = SYMBOLS[i];
      //Àíàëèç ÌÀ WEEK
      if (BUFFER[i][0]<BUFFER[i][1])  VALUES[i][0] = 2;
      if (BUFFER[i][0]>BUFFER[i][1])  VALUES[i][0] = -2;
      //Àíàëèç Awesome WEEK
      if (BUFFER[i][2]>BUFFER[i][3]) VALUES[i][1]  = 1;
      if (BUFFER[i][2]<BUFFER[i][3]) VALUES[i][1]  = -1;      
      TOTAL[i][0]  = VALUES[i][0]+VALUES[i][1];
      //Àíàëèç T_MA DAY
      if (BUFFER[i][4]>BUFFER[i][5]) VALUES[i][2] = 2;
      if (BUFFER[i][4]<BUFFER[i][5]) VALUES[i][2] = -2;
      //Àíàëèç Awesome DAY
      if (BUFFER[i][6]>BUFFER[i][7]) VALUES[i][3] = 1;
      if (BUFFER[i][6]<BUFFER[i][7]) VALUES[i][3] = -1;      
      //Àíàëèç PSAR DAY
      if (BUFFER[i][8]<iHigh(SYMBOLS[i], PERIOD_D1, 0)) VALUES[i][4] = 1; else VALUES[i][4] = -1;      
      TOTAL[i][1] = VALUES[i][2]+VALUES[i][4];
      if (VALUES[i][2] == 2 || VALUES[i][3] == 1)   TOTAL[i][1] = TOTAL[i][1]+VALUES[i][3];     
      if (VALUES[i][2] == -2 || VALUES[i][3] == -1) TOTAL[i][1] = TOTAL[i][1]+VALUES[i][3];     
      //Àíàëèç T_MA H4 9:00
      if (BUFFER[i][9]>BUFFER[i][10]) VALUES[i][5] = 2;
      if (BUFFER[i][9]<BUFFER[i][10]) VALUES[i][5] = -2;      
      //Àíàëèç Awesome H4 9:00
      if (BUFFER[i][11]>BUFFER[i][12]) VALUES[i][6] = 1;
      if (BUFFER[i][11]<BUFFER[i][12]) VALUES[i][6] = -1;
      TOTAL[i][2]  = VALUES[i][5]+VALUES[i][6];      
      //Àíàëèç T_MA H4 13:00
      if (BUFFER[i][13]>BUFFER[i][14]) VALUES[i][7] = 2;
      if (BUFFER[i][13]<BUFFER[i][14]) VALUES[i][7] = -2;      
      //Àíàëèç Awesome H4 13:00
      if (BUFFER[i][15]>BUFFER[i][16]) VALUES[i][8] = 1;
      if (BUFFER[i][15]<BUFFER[i][16]) VALUES[i][8] = -1;
      TOTAL[i][3]  = VALUES[i][7]+VALUES[i][8];      
      //Àíàëèç T_MA H4 17:00
      if (BUFFER[i][17]>BUFFER[i][18]) VALUES[i][9] = 2;
      if (BUFFER[i][17]<BUFFER[i][18]) VALUES[i][9] = -2;      
      //Àíàëèç Awesome H4 17:00
      if (BUFFER[i][19]>BUFFER[i][20]) VALUES[i][10] = 1;
      if (BUFFER[i][19]<BUFFER[i][20]) VALUES[i][10] = -1;
      TOTAL[i][4]  = VALUES[i][9]+VALUES[i][10];            
      //Àíàëèç T_MA H4 21:00
      if (BUFFER[i][21]>BUFFER[i][22]) VALUES[i][11] = 2;
      if (BUFFER[i][21]<BUFFER[i][22]) VALUES[i][11] = -2;      
      //Àíàëèç Awesome H4 121:00
      if (BUFFER[i][23]>BUFFER[i][24]) VALUES[i][12] = 1;
      if (BUFFER[i][23]<BUFFER[i][24]) VALUES[i][12] = -1;
      TOTAL[i][5]  = VALUES[i][11]+VALUES[i][12];             
     }   
}

void CreateObjects()
{
   int delta_y = 20;
   int delta_x = 60;
   int start_pos_x = 70;
   int start_pos_y = 30;
      
   ObjectCreate("Info", OBJ_LABEL, WindowFind(short_name), 0, 0);
// ObjectSetText("Info", "{UP} - Ñîâïàäåíèå òðåõ èíäèêàòîðîâ; [UP] - äâóõ; UP - îäíîãî",8,"Verdana", MediumVioletRed);
   ObjectSetText("Info", " UP!! - agreement of three indicators; UP! - two;  UP - one ",8,"Verdana", MediumVioletRed);

   ObjectSet("Info", OBJPROP_XDISTANCE, 0);  
   ObjectSet("Info", OBJPROP_YDISTANCE, 15);  
         
   for(int i=0; i< ArrayRange(SYMBOLS,0); i++)
   {      
      ObjectCreate("Title" + SYMBOLS[i], OBJ_LABEL, WindowFind(short_name), 0, 0);
      ObjectSetText("Title" + SYMBOLS[i], SYMBOLS[i],8,"Verdana", Blue);
      ObjectSet("Title" + SYMBOLS[i], OBJPROP_XDISTANCE, (i)*delta_x+start_pos_x);  
      ObjectSet("Title" + SYMBOLS[i], OBJPROP_YDISTANCE, start_pos_y);      
      for(int j=0;j<6;j++)
      {
         ObjectCreate("Title" + FRAMES[j], OBJ_LABEL, WindowFind(short_name), 0, 0);
         ObjectSetText("Title" + FRAMES[j], FRAMES[j],8,"Verdana", Blue);
         ObjectSet("Title" + FRAMES[j], OBJPROP_XDISTANCE, 5);  
         ObjectSet("Title" + FRAMES[j], OBJPROP_YDISTANCE, (j)*delta_y+start_pos_y+30);        
         
         if (TOTAL[i][j]>0)
         {
            ObjectCreate("V"+i+j, OBJ_LABEL, WindowFind(short_name), 0, 0);
            ObjectSetText("V"+i+j, ARROWS[(TOTAL[i][j])+4],8,"Verdana", Lime);
            ObjectSet("V"+i+j, OBJPROP_XDISTANCE, (i)*delta_x+start_pos_x);  
            ObjectSet("V"+i+j, OBJPROP_YDISTANCE, (j)*delta_y+start_pos_y+30);        
         }
         if (TOTAL[i][j]<0)
         {
            ObjectCreate("V"+i+j, OBJ_LABEL, WindowFind(short_name), 0, 0);
            ObjectSetText("V"+i+j, ARROWS[(TOTAL[i][j])+4],8,"Verdana", Red);
            ObjectSet("V"+i+j, OBJPROP_XDISTANCE, (i)*delta_x+start_pos_x);  
            ObjectSet("V"+i+j, OBJPROP_YDISTANCE, (j)*delta_y+start_pos_y+30);        
         }        
         if (TOTAL[i][j]==0)
         {
            ObjectCreate("V"+i+j, OBJ_LABEL, WindowFind(short_name), 0, 0);
            ObjectSetText("V"+i+j, ARROWS[(TOTAL[i][j])+4],8,"Verdana", DarkSlateGray);
            ObjectSet("V"+i+j, OBJPROP_XDISTANCE, (i)*delta_x+start_pos_x);  
            ObjectSet("V"+i+j, OBJPROP_YDISTANCE, (j)*delta_y+start_pos_y+30);        
         }    
         
      }
   }  
}



Sample





Analysis



Market Information Used:

Series array that contains the highest prices of each bar


Indicator Curves created:


Indicators Used:

MACD Histogram
Moving average indicator


Custom Indicators Used:

Order Management characteristics:

Other Features: