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

 
Andrey Sokolov #:

数组k_buffer[0]和d_buffer[0]包含最新的指标值。输出它们并自己看到它们有什么问题?

是的,的确,显然我的错误在其他地方。谢谢你!

 
Andrey Sokolov #:

在代码缩写中到底有什么地方不顺畅呢?

我已经写过了。如果满足某些条件,几个订单将被关闭。它们被放置在不同的货币对和不同的方向上。这里有一段代码。

 if ( NormalizeDouble((MaxOpenSell(2) + MaxOpenBuy(2) + MinOpenSell(2))*Point,Digits) >= Profit1 && FindLastSell() >= Block 
         && FindLastBuy() >= 1 && MaxOpenSell(2) > 0 && MA1 < MA2)
      {
         LockTicket = 0;
         CalProfHis = 0;
         bool close =  OrderClose((int)MaxOpenSell(5),MaxOpenSell(3), Ask, Slippage, clrPink);
              close =  OrderClose((int)MinOpenSell(5),MinOpenSell(3), Ask, Slippage, clrPink);
              close =  OrderClose((int)MaxOpenBuy(5),MaxOpenBuy(3), Bid, Slippage, clrBlue);
      }

我在其中关闭了三个订单。

然而,我的经纪公司有时会错过它们,我想是因为一次有很多信号。因此,我可以检查每个订单,如果失败了就重复。
问题是如何正确地、有能力地做到这一点,而不是写一个巨大的代码。我相信有一个简短的方法,这就是为什么我问你,我的高级程序员。

 
makssub #:

所以我可以为每个订单写一张支票,如果失败了就重复写。
问题是:如何正确地、有能力地做到这一点,而不是写一个巨大的代码。我相信有一个简短的方法,所以我问你,我们的高级程序员。

我建议的方案不适合你?

这是一个关于交易、自动交易系统和策略测试的论坛。

新手对MQL4和MQL5的任何问题,或对算法和代码的任何提示和讨论

Mihail Matkovskij, 2022.01.17 10:35

如果退出/关闭条件发生,则将点数添加到数组 中。然后,如果数组不是空的,就循环浏览,为每张票调用OrderClose。然后检查每张票的存在性,并将其从列表(数组)中删除。以1-3秒的间隔重复这些动作,直到列表为空。


 
多囊性是一切
 
Artyom Trishkin #:
多囊性是一切

这是在第一次:)

当然,当我看到这样的代码时,怜悯的泪水就会夺眶而出。

 
Vitaly Muzichenko #:

这是在第一次:)

当然,当我看到这样的代码时,怜悯的泪水就会夺眶而出。

同时,拐杖不会自己写...

 
Vitaly Muzichenko #:

这是在第一次:)

当然,当我看到这样的代码时,怜悯的泪水就会夺眶而出。

先生们,请使用合理的批评。

 
Andrey Sokolov #:

先生们,请使用合理的批评。

这只是我们......只是在抽烟休息时的谈话。不要管我们。

 
一切都可以被称为拐杖。因为人们不能很好地理解汇编语言的机器代码,所以发明了高级和超高级的编程语言。什么不是拐杖?
 
Mihail Matkovskij #:

当一个退出/关闭条件发生时,将票据添加到数组中。然后,如果这个数组不是空的,就循环浏览,为每张票调用OrderClose。然后检查每张票的存在性,并将其从列表中删除。以1-3秒的间隔重复这些动作,直到列表为空。

你能展示整个关闭功能吗?

原因: