请帮助我解开这个谜团!! - 页 4

 
ernest02:

我将按照建议去掉 "打印"。

有什么其他建议可以解决我的问题吗?

我附上一份文件,显示同一EA在同一经纪商的不同MT4模拟终端上的表现。

你说"在另一个MT4终端上,我得到了7个交易,而不是只有一个交易!!"从这个角度来看,什么是重要的?"从你编码EA的方式来看,重要的是你在任何时候都有多少个订单 ... ...看起来你的订单不超过4个,这与你编写代码的方式一致,所以这里没有问题,你的代码正在做你编码的事情 ...为什么?

TotalBuyOrders <= MaxTrans

MaxTrans是3,所以如果你有3个未平仓的买入订单,等于MaxTrans,所以可以再开一个,当你有4个时,大于MaxTrans,所以不能再开一个买入订单。

 
RaptorUK:
也许这与你的CCIReal变量有关,它是第0条的CCI值,所以在第0条的形成过程中,它很可能是不同的,使用PRICE_CLOSE只是意味着你在使用第0条的Close[0]值,这与Bid相同。


你认为如果我在我的CCIReal变量中使用shift=1会解决这个问题吗?

 
RaptorUK:

你说"在另一个MT4终端上,我得到了7个,而不是只有一个交易!"。"从你编码EA的方式来看,重要的是你在任何时候有多少订单开仓 ......看起来你的订单不超过4个,这与你编写代码的方式一致,所以这里没有问题,你的代码正在做你编码的事情 ......为什么? 因为你写了这个 ......

MaxTrans是3,所以如果你有3个未完成的买入订单,等于MaxTrans,所以可以再开一个,当你有4个时,大于MaxTrans,所以不能再开一个买入订单。


我明白为什么最多可以同时打开四个交易,因为这是我写代码的方式。

但我不能理解的是,为什么我在同一经纪商的两个MT4模拟终端上得到了完全不同的结果,同一时间段和同一EA?

我很想知道,当你在你的终端上运行这个EA的同一时期,你会得到什么结果。(2012年11月1日至2012年11月9日期间)

 
ernest02:

我明白为什么最多可以同时开启四个交易,因为这是我写代码的方式。

但我不能理解的是,为什么我在同一经纪人、同一时间段和同一EA的两个MT4模拟终端上得到如此完全不同的结果呢?

我很想知道,当你在你的终端上运行这个EA的同一时期,你会得到什么结果。(2012年11月1日至2012年11月9日期间)


在我所做的测试中,我得到了明显不同的结果,直到我与我的经纪人断开连接。 当我与我的经纪人断开连接时,我得到了稍微不同的结果,这不应该发生......我不知道为什么会发生,这需要详细调查。

我不知道我是否有2012年11月1日至9日的M1及以上数据,哪个符号?
 
ernest02:

你认为如果我在我的CCIReal变量中使用shift=1会解决这个问题吗?

我不使用技术指标,我不得不查一下什么是CCI,以及它是如何计算的,然后我把它放在图表上,看看它的作用,然后才写下我的帖子,所以从交易的角度来看,我不是询问以某种方式使用任何指标的优点的最佳人选,我可以从编码的角度看到发生了什么。......如果你使用Bar 1,它将不会重新绘制,当你看静态图表时,你只能看到关闭的条形。
 
RaptorUK:
在我所做的测试中,我得到了明显不同的结果,直到我与我的经纪人断开连接。 当我与我的经纪人断开连接时,我得到了稍微不同的结果,这不应该发生。 我不知道为什么它会发生,它需要一个详细的调查。

我不知道我是否有2012年11月1日至9日的M1及以上数据,哪个符号?


符号是欧元兑美元1小时数据。
 
ernest02:

符号是EURUSD 1小时数据。

我没有这个日期范围的M1数据,我不使用我的经纪人数据进行策略测试 工作,因为它很可能有漏洞。 但我有M5数据 ......让我们看看会发生什么。

附加的文件:
 
RaptorUK:

我没有那个日期范围的M1数据,我不使用我的经纪商数据进行策略测试工作,因为它很可能有漏洞。 但我有M5数据 ......让我们看看会发生什么。


谢谢你的麻烦!非常感谢!

你的结果与我的MT4终端一致,但与另一个终端差别很大。我怀疑你的数据是从一个可靠的来源下载的tick数据?

所以我可以假设,用经纪人的数据做的回测和用可靠的tick数据做的回测可能完全不一样?即使该EA不是黄牛,使用的是一小时的时间框架,止损为80,止盈为230?

顺便说一下,在我把CCI从shift=0改为shift=1后,我得到了更可靠的结果。谢谢你的提示!!!!

(Phi.nuts一直都很安静!我希望他能给我更多的信息。我希望他能就可能出现的问题提供更多的信息,而不仅仅是在一个不太能接受的地方提供一个Print语句!)

 
ernest02:

谢谢你给我带来的麻烦!非常感谢!

你的结果与我的一个MT4终端一致,但与另一个终端有很大差别。我怀疑你的数据是从可靠来源下载的tick数据?

所以我可以假设,用经纪人的数据做的回测和用可靠的tick数据做的回测可能完全不一样?即使该EA不是黄牛,并且使用一小时的时间框架,止损为80,获利为230?

我使用的数据是我的经纪人的数据,这就是为什么我没有M1数据的原因。 我有的tick数据来自两个不同的经纪人,我有一些来自Dukascopy,一些来自Pepperstone。我测试你的EA的数据只是在正常使用MT4的过程中从经纪商那里得到的数据,它来自Go Markets。 你会看到不同经纪商的数据不同,这很正常。
 
ernest02:

顺便说一下,在我把CCI从shift=0改为shift=1之后,我得到了更可靠的结果。谢谢你的提示!!!!

是的,这一点都不令我吃惊。)

顺便说一下,你有没有玩过我添加到你的代码中的调试东西?

原因: