初学者的问题 MQL5 MT5 MetaTrader 5 - 页 477

 
#include <Trade/Trade.mqh>

void DeletePendingOrders(const string sSymbol, const ulong nMagic)
{
   CTrade oTrade;

   for(int i = OrdersTotal() - 1; i >= 0; i--)
   {
      ulong nOrderTicket = OrderGetTicket(i);
      
      if(nOrderTicket > 0)
      {
         if(OrderGetString(ORDER_SYMBOL) == sSymbol && OrderGetInteger(ORDER_MAGIC) == nMagic)
         {
            // удаляем только отложенники
            ENUM_ORDER_TYPE eType = (ENUM_ORDER_TYPE)OrderGetInteger(ORDER_TYPE);
            
            if(eType == ORDER_TYPE_BUY_STOP  || eType == ORDER_TYPE_SELL_STOP ||
               eType == ORDER_TYPE_BUY_LIMIT || eType == ORDER_TYPE_SELL_LIMIT ||
               eType == ORDER_TYPE_BUY_STOP_LIMIT || eType == ORDER_TYPE_SELL_STOP_LIMIT)
            {
               oTrade.OrderDelete(nOrderTicket);
            }
         }
      }
   }
}

MT4的脚本不会在Five上工作,它的交易功能 非常不同。

 
Sergei Vladimirov:

MT4的脚本不会在Five上工作,它的交易功能 非常不同。

谢谢你,我正准备处理Trade.mqh。
 
能否请你告诉我一些事情?我怎样才能以编程方式而不是逻辑方式找出一个市场订单是如何关闭的--通过TP、SL还是通过市场?
 
-Aleks-:
能否请你告诉我一些事情?我怎样才能以编程方式而不是逻辑方式知道一个市场订单是如何关闭的--通过TP、SL还是通过市场?
收盘价 与TP、SL进行比较。如果它们几乎重合--答案就在那里。如果它们不吻合,答案也在那里
 
Victor Nikolaev:
收盘价 与TP、SL进行比较。如果它们几乎匹配--答案就在那里。如果它们不重合,那么答案也在那里。

这就是我所问的,如何不通过比较?在终端,订单是有颜色的,这意味着它们有一个关于如何关闭的标志。

我不太清楚如何安排 "几乎"--滑坡可能太多,无法比较。

 
-Aleks-:

这就是我所问的,如何不通过比较?在终端,订单是有颜色的,所以它们有一个关于如何关闭的标志。

我不太清楚如何组织 "几乎"--滑坡可能太多,无法比较。

在 "几乎 "的情况下,它是根据个案情况单独决定的。在缓慢的市场中是一回事,在快速的市场中是另一回事。
 
-Aleks-:
能否请你告诉我一些事情?我怎样才能以编程方式而不是逻辑方式知道一个市场订单是如何关闭的--通过TP、SL还是通过市场?
被止损关闭的订单的评论被归入[sl],被止盈关闭的订单被归入[tp]。
 
Artyom Trishkin:
在评论中,关闭止损,归于[sl],关闭止盈,归于[tp]。
你醒了吗?
 
Victor Nikolaev:
你醒了吗?
我在用手机写作...在我的睡梦中...鼾声...流鼻涕...呼噜声...
 
Victor Nikolaev:
用 "几乎 "是在每个案例中以自己的方式单独解决的。这在慢速市场是一回事,在快速市场又是另一回事。

是的,这就是为什么我在寻找一个通用的解决方案--如果在订单关闭后的下一个条形图上需要信息,那么评估波动率就不是那么困难,但如果是在一天后,那么我必须计算已经过去的条形图数量和当时的波动率。

阿尔乔姆-特里什金
在止损平仓的评论中,我们归结为[sl],在止盈平仓的评论中我们归结为[tp]。

谢谢--我现在会试着去读它的。

而在测试器中没有这样的评论,对吗?