首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iMA在回溯测试中显示不正确

iMA在回溯测试中显示不正确
EN

Stack Overflow用户
提问于 2021-10-08 23:46:45
回答 1查看 22关注 0票数 0

我在使用iMA函数的MQL4中开发并开始测试EA。基本上,该程序将当前candle的iMA值与前一个candle的iMA值进行比较。当我使用Strategy Tester (每个刻度)测试EA时,我的EA不能正确地打开和关闭交易。我的意思是交易不是在正确的烛光下开始的。在进一步研究后,我注意到,在当前的烛光上,数据窗口和图表中的iMA值是相同的,但它们与“打印”值不同。前一支蜡烛的值是正确的。当我在谷歌上搜索时,我发现2008年有人报告了完全相同的问题。在2008年,似乎没有一个解决方案。现在我们已经进入了一个新的十年,我想知道是否有解决方案?有没有人知道MQL5 Strategy Tester中的iMA是否可以工作?

double MAEMACurrent = iMA(NULL,0,3,0,MODE_EMA,PRICE_CLOSE,0);

double MAEMAPrevious = iMA(NULL,0,3,0,MODE_EMA,PRICE_CLOSE,1);

double MASlowEMACurrent = iMA(NULL,0,10,0,MODE_EMA,PRICE_CLOSE,0);

double MASlowEMAPrevious = iMA(NULL,0,10,0,MODE_EMA,PRICE_CLOSE,1);

打印(“MAEMACurrent”+MAEMACurrent+“MAEMAPrevious”+ MAEMAPrevious +“MASlowEMACurrent”+ MASlowEMACurrent +“MASlowEMAPrevious”+ MASlowEMAPrevious);

图表和数据窗口:

MAEMACurrent: 1.95552

MAEMAPrevious: 1.95572

MASlowEMACurrent: 1.95201

MASlowEMAPrevious: 1.95097

打印值:

MAEMACurrent: 1.95538

MAEMAPrevious: 1.95572

MASlowEMACurrent: 1.951086

MASlowEMAPrevious: 1.950972

从上面的示例中可以看出,MAEMACurrent和MASlowEMACurrent的“图表和数据窗口”值与“打印值”不匹配。

这是我第一次提问,所以如果我遗漏了什么,或者我没有遵循正确的提问协议,请让我知道。

EN

Stack Overflow用户

发布于 2021-10-12 11:17:03

首先,始终使用"NormalizeDouble“函数将值四舍五入到适当数量的分数。在您的例子中,如果分数后面只有5位数字,请使用以下代码将"MASlowEMACurrent“和"MASlowEMAPrevious”的值四舍五入为5位:

代码语言:javascript
运行
复制
double dNormalizedValue = NormalizeDouble(MASlowEMACurrent, 5);

此外,切勿将图表上正在进行的蜡烛的值与指示器或价格函数(如iMA、iClose等)返回的值进行比较。请注意,即使是非常微小的时间差也可能导致两个值的差异。对于其他值(在您的示例中是前一个值),因为它们都已关闭,并且没有任何变化,所以您可以将图表上的值与函数返回的值进行比较。因此,iMA的工作情况与预期一致。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69502698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档