сравните две валютные пары и нарисуйте гистограмму в MQL4 - PullRequest
0 голосов
/ 22 января 2020

Я хочу сравнить последний минимум и максимум двух закрытых валютных пар (например: «USDCHF» и «USDJPY»). если минимум и максимум в первой валютной паре меньше, чем вторая валютная пара, тогда нарисуйте красный столбец, в противном случае, если минимум и максимум в первой валютной паре больше, чем вторая валютная пара, тогда нарисуйте зеленый бар.

Я хочу повторить его в каждую минуту.

как это сделать?

#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 clrGreen
#property indicator_color2 clrRed


double line1[],line2[];


int OnInit()
  {
   SetIndexBuffer(0,line1);
   SetIndexBuffer(1,line2);

   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
   SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);

   return(INIT_SUCCEEDED);
  }

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   int Counted_bars=prev_calculated;

   for(int i = 1;i <= rates_total;i++)
     {
      double low1=iLow("USDCHF",PERIOD_M1,1)-iLow("USDJPY",PERIOD_M1,1);
      double high1=iHigh("USDCHF",PERIOD_M1,1)-iHigh("USDJPY",PERIOD_M1,1);
      if(low1<0 && high1<0){
         line1[i-1]=low1*2;
         line1[i]=high1*2;
      }else if(low1>0 && high1>0){
         line2[i-1]=low1*2;
         line2[i]=high1*2;
      }

     }
   return(rates_total);
  }
...