欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

相反交易 - MetaTrader 5 专家

author emer | 340 人阅读 | 0 人评论 |

开仓与平仓相反,交易量相同。它适用于任何符号和任何幻数。

例如,我们有一个 AUDUSD 买入 0.01 持仓。一旦该仓位被平仓(例如我们手动平仓)对口贸易Expert Advisor 将立即开立新的 AUDUSD 头寸,现在是卖出头寸。

整个代码包含在 OnTradeTransaction 函数中:

//+------------------------------------------------------------------+
//| TradeTransaction 函数                                       |
//+------------------------------------------------------------------+
空白 网上交易常量 MqlTrade事务&反式,
                        常量 Mql交易请求&要求,
                        常量 Mql交易结果&结果)
  {//--- 获取交易类型作为枚举值  ENUM_TRADE_TRANSACTION_TYPE类型=反式.类型;//--- 如果交易是添加历史交易的结果  如果(类型==TRADE_TRANSACTION_DEAL_ADD)
     {
      长的     deal_type         =-1;
      长的     deal_entry        =-1;
      双倍的   交易量       =0.0;
      细绳   deal_symbol       =””;
      如果历史交易选择(交易))
        {
         deal_type         =历史交易获取整数(跨交易,交易类型);
         deal_entry        =历史交易获取整数(跨交易,DEAL_ENTRY);
         交易量       =历史交易获得双倍(跨交易,交易量);
         deal_symbol       =历史交易获取字符串(跨交易,DEAL_SYMBOL);
        }
      别的        返回;
      如果(交易条目==DEAL_ENTRY_OUT)
        {
        转变((整数)交易类型)
           {
            案件  DEAL_TYPE_BUY:
               m_trade.Buy(deal_volume,deal_symbol);
              休息;
            案件  交易类型_卖出:
               m_trade.Sell(deal_volume,deal_symbol);
              休息;
            默认:
              休息;
           }
        }
     }
  }

我们在这里等待平仓交易 (DEAL_ENTRY_OUT)。一旦出现此交易,我们就会检查交易头寸(如果我们平仓买入,这将是一笔卖出交易,反之亦然)并开立一个新头寸。


附件下载

📎 opposite_trade.mq5 (6.19 KB)

Source: MQL5 #18904

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录