需要帮助来发现一些轻微的错误。 - 页 3 12345 新评论 [删除] 2014.07.07 02:00 #21 长的&&和||条件,我把这部分分解成许多连锁的if语句。我还试着用MarketInfo(OrderSymbol() , MODE_ASK/BID)代替OrderClosePrice()。这一部分有时仍然有效,而不是一直有效,我也试过你们给我的那些建议,但结果还是一样。我不确定是否是这个原因导致的问题,还是其他原因。但从这些试验和错误中,我注意到了这一点。看起来,即使满足条件(长的&&和||条件和许多连锁的if语句,我都试过了),开仓的最底部部分也不想移动止损。EA的设置。帐户1之前。帐户1后。对于这个账户1,第1和第2个订单不符合if条件/if + &&和|条件,所以止损没有被移动(这是正确的)。然而,第3个订单已经满足了条件,它应该跟踪到第10个订单,但止损只被移动了一次。( 错了,错了 )它应该移动一次以上(根据我的计算应该是50.0点,而不是5.0点)。之前的账户2。帐户2后。对于这个账户2,只有第1个订单不符合条件,所以同样没有止损被移动(这是正确的)。第2和第3个订单符合条件,这里是最奇怪的部分。第2个订单正好追踪到第10个订单,止损正好被移动了10次。止损点从该订单的开盘价移到了50.0点(这是对的)。然而,第3个订单也符合条件,它应该跟踪到第3个订单,但同样的,止损只移动了一次(又错了:())。你们是否注意到,在两个账户中,尾随部分不能正常工作的是最后一个订单?如果USDJPY可以工作,它应该可以应用于所有其他货币对。我不确定该怎么做。我使用的是我从RaptorUK那里读到的一个回数for循环,不过应该是不错的。向后数也不应该是问题。专家标签也没有显示任何错误 ....@.@ T_T Ian Venner 2014.07.07 03:41 #22 你确定价格没有在第一条线索之后回调并停止它吗? [删除] 2014.07.07 03:44 #23 对不起,我不太明白你的意思 ...你的意思是哪个价格?在第一条线索之后就停止了吗? Ian Venner 2014.07.07 04:10 #24 我现在明白你的意思了,我第一次没能正确阅读交易结果 [删除] 2014.07.07 04:13 #25 SDC: 我现在明白你的意思了,我第一次没能正确阅读交易结果 我仍然不知道它有什么问题 ....你知道我哪里错了吗? ffoorr 2014.07.07 05:35 #26 if ( ( OrderStopLoss() == 0 ) || (OrderStopLoss() != 0 && OrderStopLoss() <= OrderOpenPrice() ) || ( OrderStopLoss() < ( OrderOpenPrice() + ( TrailingStop * Figure ) ) ) ) { [删除] 2014.07.07 07:29 #27 我试过了,还是一样,....。我试了很多次,仍然是最后一个订单没有被正确修改 ....我不认为如此,但我不知道为什么它不能正常工作......。 qjol 2014.07.07 07:54 #28 juniorlcq:循环倒数会导致这个问题吗?无论你 是向上还是向下 计数 (跟踪止损)都 没有关系。删除或关闭一个交易,你必须向下计数。 [删除] 2014.07.07 08:00 #29 我也试着往上数,问题还是一样。是不是第2个for循环已经修改了订单,我不得不再次重新选择?一开始我选择了订单,在第2个for循环的条件下,它修改了那个订单。我需要再次重新选择吗? qjol 2014.07.07 09:10 #30 订单选择OrderSelect()函数将订单数据复制到程序环境中,所有进一步调用OrderClosePrice(),OrderCloseTime(),OrderComment ( ),OrderCommission(),OrderExpiration(),OrderLots(),OrderMagicNumber(), OrderOpenPrice(),OrderOpenTime(),OrderPrint(),OrderProfit(),OrderStopLoss(),OrderSwap(),OrderSymbol(),OrderTakeProfit(),OrderTicket(),OrderType() 函数返回之前复制的数据。这意味着,在某些情况下,订单的细节(开盘价,SL/TP水平或到期日)可能会发生变化,数据变得不真实。我们强烈建议在请求订单数据之前调用OrderSelect()函数。 12345 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
长的&&和||条件,我把这部分分解成许多连锁的if语句。我还试着用MarketInfo(OrderSymbol() , MODE_ASK/BID)代替OrderClosePrice()。
这一部分有时仍然有效,而不是一直有效,我也试过你们给我的那些建议,但结果还是一样。
我不确定是否是这个原因导致的问题,还是其他原因。但从这些试验和错误中,我注意到了这一点。
看起来,即使满足条件(长的&&和||条件和许多连锁的if语句,我都试过了),开仓的最底部部分也不想移动止损。
EA的设置。
帐户1之前。
帐户1后。
对于这个账户1,第1和第2个订单不符合if条件/if + &&和|条件,所以止损没有被移动(这是正确的)。
然而,第3个订单已经满足了条件,它应该跟踪到第10个订单,但止损只被移动了一次。( 错了,错了 )
它应该移动一次以上(根据我的计算应该是50.0点,而不是5.0点)。
之前的账户2。
帐户2后。
对于这个账户2,只有第1个订单不符合条件,所以同样没有止损被移动(这是正确的)。第2和第3个订单符合条件,这里是最奇怪的部分。
第2个订单正好追踪到第10个订单,止损正好被移动了10次。止损点从该订单的开盘价移到了50.0点(这是对的)。
然而,第3个订单也符合条件,它应该跟踪到第3个订单,但同样的,止损只移动了一次(又错了:())。
你们是否注意到,在两个账户中,尾随部分不能正常工作的是最后一个订单?
如果USDJPY可以工作,它应该可以应用于所有其他货币对。我不确定该怎么做。
我使用的是我从RaptorUK那里读到的一个回数for循环,不过应该是不错的。向后数也不应该是问题。
专家标签也没有显示任何错误 ....
@.@ T_T
我现在明白你的意思了,我第一次没能正确阅读交易结果
我试过了,还是一样,....。
我试了很多次,仍然是最后一个订单没有被正确修改 ....我不认为如此,但我不知道为什么它不能正常工作......。
juniorlcq:
循环倒数会导致这个问题吗?
无论你 是向上还是向下 计数 (跟踪止损)都 没有关系。
删除或关闭一个交易,你必须向下计数。
我也试着往上数,问题还是一样。
是不是第2个for循环已经修改了订单,我不得不再次重新选择?
一开始我选择了订单,在第2个for循环的条件下,它修改了那个订单。我需要再次重新选择吗?
订单选择
OrderSelect()函数将订单数据复制到程序环境中,所有进一步调用OrderClosePrice(),OrderCloseTime(),OrderComment ( ),OrderCommission(),OrderExpiration(),OrderLots(),OrderMagicNumber(), OrderOpenPrice(),OrderOpenTime(),OrderPrint(),OrderProfit(),OrderStopLoss(),OrderSwap(),OrderSymbol(),OrderTakeProfit(),OrderTicket(),OrderType() 函数返回之前复制的数据。这意味着,在某些情况下,订单的细节(开盘价,SL/TP水平或到期日)可能会发生变化,数据变得不真实。我们强烈建议在请求订单数据之前调用OrderSelect()函数。