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

 
Amon1953:
谢谢你的建议。我不是一个很有经验的程序员。我使用的是一种对我来说很舒服的风格,我还没有学会如何把它带到这个网站上的通用风格。- 我还没有学会如何去做。

但你可以在你的文章中插入代码(Alt+S),甚至可以用你的风格。然而,你总是可以使用编辑器中的样式器(Ctrl+,),将样式带到网站上的采用。虽然这对每个人来说都不方便,但总比无法阅读的东西好。

 
Artyom Trishkin:

但你可以将代码插入你的文章中(Alt+S),尽管有你的风格。然而,你总是可以使用编辑器中的造型工具(Ctrl+,)来使风格与网站的风格一致。虽然这对每个人来说都不方便,但总比无法阅读的东西好。

 
 if((cnt_OO > 1))
  {
   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:
好吧,我得到了一些东西。只是在本质上我不明白我的错误在哪里

你到底想达到什么目的?

从你所展示的内容来看,这是不可能理解的--没有关于所用变量值的数据。

 
Artyom Trishkin:

你到底想达到什么目的?

从你所展示的内容来看,这是不可能理解的--没有关于所用变量值的数据。

第二个if语句是可选的,但没有它就不能工作。
 
Amon1953:
第二个if语句是可选的,但没有它就不能工作。

关于交易、自动交易系统和策略测试的论坛

对MQL4新手的任何问题,对算法和代码的帮助和讨论

Artyom Trishkin, 2018.08.21 22:14

你到底想达到什么目的?

从你所展示的内容来看,这是不可能理解的--没有关于所用变量值的数据。


 
Artyom Trishkin:

我已经展示了这个单元的一个结果

结果:Otkritih命令NEXT网

奥特克里蒂赫订单5

 
Amon1953:

我已经展示了这个单元的一个结果

结果:Otkritih命令NEXT网

奥特克里蒂赫订单5

我明白了 - 意识流。我把自己从讨论中撤出...

继续阅读

 

Anton1953 如果你指的是最开始没有if的那块工作,那就有错误了。我给你一个提示--尝试用有其他majik的订单运行那段代码,有很多订单,但它们没有通过majik条件。你是否需要进一步的建议,或者你会自己想办法解决?

顺便说一下,正确的编码在搜索这类错误时有很大帮助,因为你用你通常的风格来标记它们,错误就会变得很明显!

 
Vitaly Gorbunov:

Anton1953 如果你指的是最开始没有if的那个区块的工作,那就有一个错误。我给你一个提示--尝试用有其他majik的订单运行那段代码,有很多订单,但它们没有通过majik条件。你是否需要进一步的建议,或者你会自己想办法解决?

顺便说一下,正确的编码在搜索这类错误时有很大帮助,因为当你用你通常的风格标记它们时,错误是如此明显

有几个专家顾问在运行,有不同的主业。cnt_OO - 这是具有某种模式的未结订单的数量。该块是这样设计的:如果有一个以上的订单cnt_OO>1,我们 从所有开放的订单OrdersTotal()中选择一个具有必要模式 的订单if((OrderMagicNumber() == Magic))并做必要的操作

否则,我们就执行其他行动。但 "否则 "不起作用,我们必须输入if((cnt_OO == 1)),没有它就不起作用


	          
 
Amon1953:

有几个EA正在运行,有不同的主力。cnt_OO - 之前定义的 - 这是一个特定模式的未平仓订单的数量。该块是这样设计的:如果有一个以上的订单cnt_OO>1,我们 从所有开放的订单OrdersTotal()中选择一个具有必要模式 的订单if((OrderMagicNumber() == Magic))并做必要的操作

否则,我们就执行其他行动。但 "否则 "没有执行,我们必须输入if((cnt_OO == 1)),没有它就不能工作

你在某处定义了必要的订单数量,这很好,但在这个区块中,你又一次运行了所有的订单,并对它们进行了检查!这是很好的事实。

适当地分解代码,你就会马上看到!

原因: