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

问题描述

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

解决方法

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

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

您可以尝试上面的代码。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...