郁闷!!!一个简单的MACD交叉却不成交,请各位朋友看看是怎么回事 - 页 2 12 新评论 xfxyldj 2009.12.11 10:22 #11 进去不IF 也就说明if(_time!=Time[0] && MACDM0>0 && MACDS1<MACDM1 && MACDS0>MACDM0)这个判断的条件不成立。 那你需要逐个每个条件,根据你前面帖子,MACDS1<MACDM1 && MACDS0>MACDM0这两个条件是成立的。 现在重点检查下_time!=Time[0] && MACDM0>0这两个条件。 你可以把这个IF拆开,来看哪里出了问题。 if(下单条件满足吗) { if(是需要检测的时间吗) { if(下单条件1)//_time!=Time[0] { print(条件一满足); if(下单条件二) { print(条件二满足) if ........ } } } } 判断下那个条件出了问题。 很可能是_time!=Time[0]这个条件出错了。 [删除] 2009.12.12 04:58 #12 xfxyldj 写道 >> 进去不IF 也就说明if(_time!=Time[0] && MACDM0>0 && MACDS1<MACDM1 && MACDS0>MACDM0)这个判断的条件不成立。 那你需要逐个每个条件,根据你前面帖子,MACDS1<MACDM1 && MACDS0>MACDM0这两个条件是成立的。 现在重点检查下_time!=Time[0] && MACDM0>0这两个条件。 你可以把这个IF拆开,来看哪里出了问题。 判断下那个条件出了问题。 很可能是_time!=Time[0]这个条件出错了。 xfxyldj,谢谢您的热心回复。 /--- 你所说的方法我曾一个一个的测试过,除了不能进下单语句外,外面的判断都是没有问题的。 /--- 我昨晚安装另一个平台测试,同样的代码,在新平台原来有问题的点位是可以成交的,但同时有些原来成交的点位却不成交了, 看来下单条件需要更严密些,不过原来的问题依然是个问题,毕竟如贴图所示,这是个很明显的死叉,为什么不能下单呢。 xfxyldj 2009.12.12 14:02 #13 你的意思是说,能够执行到ordersend()语句,但就是没有订单发生? [删除] 2009.12.12 15:50 #14 xfxyldj 写道 >> 你的意思是说,能够执行到ordersend()语句,但就是没有订单发生? 您好xfxyldj ,除了6点50几的单子没有进入判断下单进行开单外,其它能成立的单子都没有任何问题。 xfxyldj 2009.12.13 02:04 #15 010 写道 >> 您好xfxyldj ,除了6点50几的单子没有进入判断下单进行开单外,其它能成立的单子都没有任何问题。 你的表述有些混乱。 你的意思是在你指定的那个时间,并没有进入到if中?也就是没有执行到ordersend()? 如果是这样,还是回到我前面的问题了。 就是在你指定的时间,IF条件不成立。 所以你还是要检查这几个条件,看那个条件出了问题。 我想你需要用到下面的if嵌套 if(是需要检测的时间吗) { if(!下单条件1)//_time!=Time[0] { print(条件一不满足); } if(!下单条件二) { print(条件二不满足) } if ........ { ....... } } 我想一定某个条件在你指定的这个时间内一直不满足。 [删除] 2009.12.13 10:47 #16 经 xfxyldj 的反复提示帮助,问题终于找到,就是我所贴的代码里前面还有一个 _time 被再次赋值, 所以就不能进入IF语句进行正常的下单工作。 /- 在此深深的感谢各位热心的朋友的帮助。 12 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
进去不IF
也就说明if(_time!=Time[0] && MACDM0>0 && MACDS1<MACDM1 && MACDS0>MACDM0)这个判断的条件不成立。
那你需要逐个每个条件,根据你前面帖子,MACDS1<MACDM1 && MACDS0>MACDM0这两个条件是成立的。
现在重点检查下_time!=Time[0] && MACDM0>0这两个条件。
你可以把这个IF拆开,来看哪里出了问题。
判断下那个条件出了问题。
很可能是_time!=Time[0]这个条件出错了。
进去不IF
也就说明if(_time!=Time[0] && MACDM0>0 && MACDS1<MACDM1 && MACDS0>MACDM0)这个判断的条件不成立。
那你需要逐个每个条件,根据你前面帖子,MACDS1<MACDM1 && MACDS0>MACDM0这两个条件是成立的。
现在重点检查下_time!=Time[0] && MACDM0>0这两个条件。
你可以把这个IF拆开,来看哪里出了问题。
判断下那个条件出了问题。
很可能是_time!=Time[0]这个条件出错了。
xfxyldj,谢谢您的热心回复。
/---
你所说的方法我曾一个一个的测试过,除了不能进下单语句外,外面的判断都是没有问题的。
/---
我昨晚安装另一个平台测试,同样的代码,在新平台原来有问题的点位是可以成交的,但同时有些原来成交的点位却不成交了,
看来下单条件需要更严密些,不过原来的问题依然是个问题,毕竟如贴图所示,这是个很明显的死叉,为什么不能下单呢。
你的意思是说,能够执行到ordersend()语句,但就是没有订单发生?
您好xfxyldj ,除了6点50几的单子没有进入判断下单进行开单外,其它能成立的单子都没有任何问题。
您好xfxyldj ,除了6点50几的单子没有进入判断下单进行开单外,其它能成立的单子都没有任何问题。
你的表述有些混乱。
你的意思是在你指定的那个时间,并没有进入到if中?也就是没有执行到ordersend()?
如果是这样,还是回到我前面的问题了。
就是在你指定的时间,IF条件不成立。
所以你还是要检查这几个条件,看那个条件出了问题。
我想你需要用到下面的if嵌套
我想一定某个条件在你指定的这个时间内一直不满足。
经 xfxyldj 的反复提示帮助,问题终于找到,就是我所贴的代码里前面还有一个 _time 被再次赋值,
所以就不能进入IF语句进行正常的下单工作。
/-
在此深深的感谢各位热心的朋友的帮助。