新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 605

 
Amon1953:

MQL4中的小问题?


在另外两种情况下也出现了类似的故障,也是使用if()操作符

如果你仔细思考,并试图了解为什么这个故障是唯一适合你的原因?也许你有某种特殊的终端?

 
Alexey Viktorov:

如果你仔细思考并试图了解为什么只有你有这样的故障?也许你有某种特殊的终端?

来自InstaForex公司的终端并不罕见。而这个故障并没有马上出现。起初还不错,但后来突然就消失了。重新安装终端并没有帮助。我将不得不向另一个经纪人查询。
 
Amon1953:
我使用的是InstaForex公司的终端,没有什么异常。而这个故障并没有马上出现。起初它是正常的,但后来突然消失了。重新安装终端并没有帮助。我将不得不向另一个经纪人查询。

是的,嗯...我没有收到摩尔斯电码。我必须把它弄到公开的地方...

也许我们应该在逻辑上和自己的代码中寻找错误?

 

一句话的建议。我正在进行优化,假设我不需要任何参数,例如,有慢速和快速移动,我不需要在优化结果 中得到这些移动的周期,即快速移动的周期比慢速移动的周期长。

我怎样才能 "跳过 "按条件优化的这一步?

 
Alexey Viktorov:

是的,嗯...我没有收到摩尔斯电码。我必须把它弄到公开的地方...

也许应该寻找逻辑和自己的代码中的错误?

这段代码是独立于一般算法的。

这是同一个区块,但它工作正常。它使用了两个IF()运算符,尽管如教科书中所述,只有一个可以使用。这显示了IF()/运算符的不正确操作。

//+------------------------------------------------------------------+
   if((cnt_OO>=2))
     {
      for(int h=OrdersTotal()-1; h>=0; h--)
        {
         if(OrderSelect(h,SELECT_BY_POS))
           {
            if((OrderMagicNumber()==Magic))
              {
               Nextstep  = NextStep;
               BaseNext  = OrderOpenPrice();
               LotsNext  = NormalizeDouble(OrderLots()*K,lotDigit);
               if(NewPB>0)
                  PBcloseON=true;
               Alert("Pospedny Order NEXT  ",OrderTicket());
               Alert("Otkritih orderov  ",cnt_OO);
               break;
              }
           }
        }
     }
   if((cnt_OO==1))
     {
      LotsNext=NormalizeDouble(Lots*Prikup,lotDigit);
      Alert("Otkritih orderov NEXT net ");
      Alert("Otkritih orderov  ",cnt_OO);
     }
//+------------------------------------------------------------------+
 
Amon1953:

这段代码是独立于整个算法的。

这里是同一个区块,但它能正常工作。它使用了两个IF()运算符,尽管可以像教科书中描述的那样使用一个。这显示了IF()/运算符的不正确操作。


这只是展示了蟑螂的存在。在你谈论不正确的操作之前,你应该打印出if()操作符中使用的变量的值,并将其与预期值进行比较。

并学习如何插入代码,使其能够正常读取。

 
Alexey Viktorov:

这只能说明我们有一个错误。在你说它不能正确工作之前,你应该打印出if()语句中使用的变量的值,并与预期值进行比较。

并学习如何插入代码,使其能够正常读取。

我只是复制了程序文本。在第一篇文章中,你可以清楚地看到有5个订单,并有消息说没有订单,如Next.this is the second third order等。

这个程序很简单,cnt_OO是未结订单的数量,如果多于一个就意味着有一个订单 下一个,这是在失败和重启EA的情况下恢复参数的部分块

 
Amon1953:

我只是复制了程序文本。在第一篇帖子中,你可以清楚地看到有5个订单,并有消息说没有订单,如Next.this is the second third order等。

这个程序就像钉子一样简单,cnt_OO是未平仓订单的数量,如果多于一个就意味着有一个订单 下一个,这是参数恢复块的一部分,以防EA失败和重启

哪里能保证是这样的呢?

 
Amon1953:

我只是复制了程序文本。在第一篇文章中,你可以清楚地看到有5个订单,并有消息说没有订单,如Next.this is the second third order等。

程序很简单,cnt_OO是未平仓订单的数量,如果多于一个,意味着有一个订单 下一个,这是在失败和重启EA的情况下恢复参数的部分块

  1. 使用Alt+S粘贴代码,或使用你帖子中的格式栏按钮。



  2. 你的逻辑不工作,不是条件性的if()操作符
  3. 我把你帖子中的代码改成了正常的,对于那些帮助你的人--请尊重他们。下次人们就不会再试图通过看你提供的票据来帮忙了。
 
Artyom Trishkin:
  1. 使用Alt+S粘贴代码,或使用你帖子上的格式栏按钮。



  2. 你的逻辑不工作,不是条件性的if()操作符
  3. 我把你帖子中的代码改成了正常的,对于那些帮助你的人--请尊重他们。下次人们就不会再试图通过看你提供的票据来帮忙了。
谢谢你的建议。我不是一个很有经验的程序员。我使用的是一种对我来说很舒服的风格,我还没有学会如何把它带到这个网站上的通用风格。- 泽特注。
原因: