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

MT5 到 MT4 的交易类 - MetaTrader 4 库 | MT5 EA下载 - MetaTrader 5资源

author emer | 1043 人阅读 | 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

MT5 到 MT4 的交易类 - MetaTrader 4 库 使用前要点

这篇页面已经补充结构化说明,重点整理EA源码的用途、MQL4/MQL5平台兼容性、测试流程和风险控制。下载或部署前,建议先判断它是否符合自己的品种、周期和账户环境。

适合谁使用

  • 想快速筛选EA源码,并愿意先做模拟盘验证的用户。
  • 需要比较 MT4/MT5 EA、指标、脚本或源码项目的人。
  • 希望在实盘前记录回测、参数和风险边界的交易者。

测试与风控建议

  • 先在策略测试器或模拟账户中验证默认参数,再逐项调整品种、周期、点差和交易时段。
  • 剥头皮、网格、马丁和高频策略要重点观察最大回撤、连续亏损、滑点和交易频率。
  • 任何文件都不建议直接实盘运行,至少先观察 2-4 周模拟盘表现。

常见问题

MT4 和 MT5 可以通用吗?
通常不能直接通用。EX4/MQ4 对应 MT4,EX5/MQ5 对应 MT5,源码需要在对应 MetaEditor 中编译。

这个资源能保证盈利吗?
不能。EA、指标和脚本只能作为交易工具,结果取决于参数、市场环境、点差、滑点和风险控制。

还可以继续看哪些内容?
Forex EA 下载外汇指标下载EA测评MQL5 CodeBase

English Search Notes

This page is also optimized for English search intent around MT5 到 MT4 的交易类 - MetaTrader 4 库. Related search terms include: MQL4 source code, MQL5 source code. Test any Forex EA, Expert Advisor, MT4/MT5 indicator, script or MQL source code with historical data and a demo account before live trading.

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