新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1074

 
jarikn:
我有这样一个问题。
我需要在Ask价格与移动MA交叉时开立订单,即Ask==MA,是否可以这样做? 或者如果价格比MA高3个点,比如说。请告知

从下往上穿越的正确条件,Ask低于或等于MA,并变得更高。要么是在前一个柱子上,变成在当前柱子上,要么是按刻度,前一个刻度和最后一个刻度。

 
Alexey Viktorov:

正确的条件是自下而上的交叉条件,Ask低于或等于MA,并变得更高。要么是在前一个条形图上,变成了在当前条形图上,要么是按刻度,前一个刻度和最后一个刻度。

谢谢。它将是Open[0]<MA && Close[0]>MA类型????,如果不是,请给我一个例子。
 
jarikn:
谢谢。它将像Open[0]<MA && Close[0]>MA ???? 如果不是,请给我一个例子。

就像这样,只不过它没有考虑到如果价格等于MA的选项。随着时间的推移,你会意识到自己的许多变化。

你可以用Close[1]代替Open[0],可能更合理。毕竟,收盘价[1]可以低于MA,而开盘价[0]已经高于MA。

Close[0] == SymbolInfoDouble(_Symbol,SYMBOL_BID),但这其实并不重要。

 
Alexey Viktorov:

就像这样,只不过它没有考虑到如果价格等于MA的选项。随着时间的推移,你会自己了解很多选择。

Open[0]可以用Close[1]代替,可能更合理。事实上,收盘价[1]可能低于MA,而开盘价[0]则高于MA。

Close[0] == SymbolInfoDouble(_Symbol,SYMBOL_BID), 但这并不重要。

明白了。非常感谢你。
 
如果有2个或更多的检查,用switch if 哪个更快
 
在MT5上用不同的经纪商测试了专家顾问,模拟质量为99-100%,输入参数相同,我得到了完全不同的结果:从宇宙般的利润到损失。在此之前,我特意离开了MT4,因为在那里要达到同样的建模质量比较困难。那么结果是什么呢?专家顾问在实际交易中会有什么表现?也许有人会给我一个好的提示?
 
ganri:
在MT5上用不同的经纪商测试了专家顾问,模拟质量为99-100%,输入参数相同,我得到了完全不同的结果:从宇宙般的利润到损失。在此之前,我特意离开了MT4,因为在那里要达到同样的建模质量比较困难。那么结果是什么呢?专家顾问在实际交易中会有什么表现?也许有人会给我一个好的提示?

试着在真正的蜱虫上测试一下。

 
Alexey Viktorov:

尝试在真正的蜱虫身上进行测试。

同样的故事:2019年的净利润相差12.9倍!!。也许这取决于在每个经纪人处收到的信号的延迟?这是测试器中唯一不同的指标。然而,设置一个固定的延迟值并不能改变情况。也许只是选择 "最好的 "经纪人,而不去理会?

 

这个警告是什么意思,对EA来说有什么风险?


本地变量的大小过大(超过512kb)

 
Viatcheslav Pashkov:

这个警告是什么意思,对EA来说有什么风险?


本地变量的大小过大(超过512kb)

而如果开发者不关心堆栈的大小,默认情况下是1MB,在堆栈上声明的数组(是吗?)立即占用了一半的堆栈。所以这不是什么大问题,但如果机器人在运行时出现堆栈溢出错误而崩溃,你现在知道了其中一个可能的原因))

原因: