初学者的问题 MQL5 MT5 MetaTrader 5 - 页 446

 

谁能解释为什么在不同的经纪商(FXOpen、Weltrade、Alfa-Forex)的终端上,设置相同的EA,测试结果却如此不同。掉期没有影响,因为它不产生缩减。十三年的报价是来自gelium,日期是一样的。价差是一样的。重复的测试是一样的。问题是什么?

附加的文件:
3.jpg  227 kb
 
неAni:

谁能解释为什么在不同的经纪商(FXOpen、Weltrade、Alfa-Forex)的终端上,设置相同的EA,测试结果却如此不同。掉期没有影响,因为它不产生缩减。十三年的报价是来自gelium,日期是相同的。价差是一样的。重复的测试是一样的。问题是什么?

EA的算法是在蜡烛内部工作还是通过蜡烛的收盘来工作?
 

该代码不看收盘和开盘烛台。

而经纪人MODE_STOPLEVEL也不影响算法。

 
неAni:

关闭和打开蜡烛的代码看起来并不像。

...

也许这就是问题所在?每个交易服务器可能有不同的报价流。如果你的赌注是分析刻度线而不是蜡烛图,那么在测试中可能会有非常大的变化。
 
Karputov Vladimir:
我是故意用英语写评论的--我正在发展我的语言知识,所以不会有俄语的评论。对不起。

而这,据我所知,是社区的另一位成员在发展一种语言的知识,而不是该网站俄语 多民族部分 常用的语言。但只是代替评论,在博客文章上,我决定实践一下。


因此,有快乐的人在那里对交易所和场外交易主题和MQL5/MQL4的编程感兴趣。 他们看起来是如此淫秽的简单和易懂,可能更好的是至少在网站的俄罗斯多国部分用不完全易懂的语言的短语将其复杂化。搞什么鬼。当然,除了在这里发展陌生或不熟悉的语言,还能在哪里发展。

 
Karputov Vladimir:
这可能是问题所在吗?每个交易服务器可能有不同的报价流。如果你的赌注分析的是刻度线而不是蜡烛,那么在测试中可能会有很大的差异。
如果我自己放了13年的引号,网络被切断了,那么服务器怎么办?
 
 if ((iRSI(NULL,0,14,PRICE_HIGH,i) < (iRSI(NULL,0,21,High[iHighest(NULL,0,MODE_HIGH,21,i)],i) - iRSI(NULL,0,21,High[iHighest(NULL,0,MODE_HIGH,14,i)],i)*2))){
            CrossDown[i] = Low[i] + Range*0.5;

这有什么不对吗?

 
неAni:
如果我自己插入引号13年,网络被切断,服务器有什么关系?
如果报价相同,在不同的贸易服务器上进行测试的意义何在?还有,你设置了哪些测试设置(答案是 "相同 "就不好了)?
 
azfaraon:

这里有什么问题吗?

你多放了一个大括号,或者你忘了一个大括号。这一点是正确的。

   if((iRSI(NULL,0,14,PRICE_HIGH,i)<(iRSI(NULL,0,21,High[iHighest(NULL,0,MODE_HIGH,21,i)],i)-iRSI(NULL,0,21,High[iHighest(NULL,0,MODE_HIGH,14,i)],i)*2)))
      CrossDown[i]=Low[i]+Range*0.5;
 
Karputov Vladimir:

你多放了一个大括号,或者你忘了一个大括号。这一点是正确的。

非常感谢......我问的是逻辑问题......你怎么理解我在行中放的东西? 它没有给我想要的结果((......我被告知High[]可能不会被放在地方(APPLIED_PRICE价格)。
那么你如何在一定范围内显示rsi的最大点?

正如你所看到的,我正试图比较不同范围内的两个最大值