我如何在mql4中找到最后的移动平均交叉价格x蜡烛?

时间:2020-09-14 21:01:00

标签: mql4 mql5

我想编写一个函数,该函数将返回上一个移动平均交叉的价格。如果有人在这里帮助我以mql4代码实现这一目标,我将非常高兴。

1 个答案:

答案 0 :(得分:-1)

int manyCandles=1000, crossOverCandle;
double theOpenPrice;
for(int lastCandle=1; lastCandle<manyCandles; lastCandle++){
   crossOverCandle=0;
   double firstMA = iMA(_Symbol,_Period,maPeriod,0,MODE_SMA,PRICE_CLOSE,lastCandle);
   double secondMA = iMA(_Symbol,_Period,maPeriod,0,MODE_SMA,PRICE_CLOSE,lastCandle);
   double firstMAlast = iMA(_Symbol,_Period,maPeriod,0,MODE_SMA,PRICE_CLOSE,lastCandle+1);
   double secondMAlast = iMA(_Symbol,_Period,maPeriod,0,MODE_SMA,PRICE_CLOSE,lastCandle+1);
   
   if(secondMAlast>firstMAlast && secondMA<firstMA){
      theOpenPrice = Open[lastCandle];
      crossOverCandle = lastCandle;
      Break;
   }

} Comment(“最后一次交换发生在”,lastCandle“蜡烛上,价格为”,theOpenPrice);

您可以尝试上面的代码。