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

MT5 到 MT4 的交易类 - MetaTrader 4 库

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

在开发用于在账户之间复制头寸的程序的过程中,有必要为 MT5 和 MT4 开发基本相同的代码。差异仅在于执行交易操作的功能。因此,MT5 标准库中的几个类被重写以在 MT4 中工作。

使用此库时,理想情况下可以使用 MT4 中的编译器从 MT5 编译程序,以便它可以在 MT4 中运行。

但有两个重要的限制:

在这个版本中,可能有一些类方法找不到  测试时因为需要修正。

该文件 TradeLibraryMT5Example.mq4是在 MT5 和 MT4 上编译和运行的简单 EA 示例。

以下代码用于打开挂单:

CTrade m_trade;

...

分辨率=m_trade.OrderOpen(m_符号,ORDER_TYPE_BUY_LIMIT, m_lot, lowPrice, lowPrice,0,0,ORDER_TIME_GTC,0);
分辨率=m_trade.OrderOpen(m_符号,ORDER_TYPE_SELL_LIMIT, m_lot, 高价, 高价,0,0,ORDER_TIME_GTC,0);

计算所有公开市场持仓总利润的功能可以实现如下:

//+------------------------------------------------------------------+
//|计算所有市价订单的总利润                     |
//+------------------------------------------------------------------+
双倍的获取利润(){
  整数总计 =持仓总数();
  双倍的利润=0;

  C位置信息;

  为了整数我 = 总计 -1;我 >=0;我 - ) {
      如果p.按索引选择(i)){
        乌龙魔法=p.Magic();
        细绳符号=p。象征();
        如果(魔法!= m_magicN || 符号!= m_symbol){
            继续;
         }

         利润+=p.Profit()+p.Commission()+p.Swap();
      }
   }

  返回利润;
}

平掉所有未平仓合约和挂单的功能可以如下实现:

//+------------------------------------------------------------------+
//|尝试关闭所有挂单和市价订单                   |
//+------------------------------------------------------------------+
布尔值尝试关闭全部() {
  布尔值分辨率=真的;
   
  整数全部的;
  双倍的利润=0;
  乌龙票;
  乌龙魔法;
  细绳象征;
   
   总计 =订单总数();

  订单信息;

  为了整数我 = 总计 -1;我 >=0;我 - ) {
      如果o.按索引选择(一)){
         魔法=o.Magic();
         符号=o。象征();
        如果(魔法!= m_magicN || 符号!= m_symbol){
            继续;
         }
         票=o.机票();

         解析度&=m_trade.OrderDelete(o.Ticket());
      }
   }

   总计 =持仓总数();
   
  C位置信息;

  为了整数我 = 总计 -1;我 >=0;我 - ) {
      如果p.按索引选择(一)){
         魔法=魔术师();
         符号=p。象征();
        如果(魔法!= m_magicN || 符号!= m_symbol){
            继续;
         }
         票=p.门票();

         解析度&=m_trade.PositionClose(订单);
      }
   }

  返回资源;
}



附件下载

📎 orderinfo.mqh (43.87 KB)

📎 positioninfo.mqh (15.92 KB)

📎 symbolinfo.mqh (71.44 KB)

📎 trade.mqh (163.76 KB)

📎 tradelibrarymt5example.mq4 (19.6 KB)

📎 tradelibrarymt5example.mq4

Source: MQL5 #39161

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