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

虚拟 - MetaTrader 5 库

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

Virtual - library for MetaTrader 5

Virtual - library for MetaTrader 5

Virtual - library for MetaTrader 5

Virtual - library for MetaTrader 5

Virtual - library for MetaTrader 5

Virtual - library for MetaTrader 5

Virtual - library for MetaTrader 5

这种跨平台允许以最简单的方式之一使用虚拟交易环境。

该库允许创建虚拟交易环境并像真实交易环境一样进行交易。该库的功能并不新鲜,尽管提供的跨平台库具有一个有时可能很重要的属性:你不需要学习任何东西来使用。了解 MT4(而非 MT5)交易逻辑就足够了。

虚拟交易选择MT4风格的交易逻辑,因为它更方便并且可以轻松开发跨平台EA。

传统上可以通过预先准备的示例来演示库功能。

// 在真实和虚拟交易环境中启动TS

#包括//https://www.mql5.com/en/code/16006
#包括// 虚拟交易环境

输入 双倍的手数 =1;输入 整数间隔=100;  // 位置生命周期
输入 布尔值示例 =真的;// 选择什么代码示例

// 反转 TS
空白系统()
{
  如果(!订单选择订单总数()-1,SELECT_BY_POS))
    订单发送_象征,OP_买入, 很多,符号信息双_象征,SYMBOL_ASK),100,0,0);// 如果没有仓位,则开仓  别的 如果时间当前()-订单开放时间() > 间隔)// 如果仓位生存期超过指定时间  {
    // 反转位置    订单关闭订票(),订单批次(),订单收盘价(),100);
    订单发送_象征,1-订单类型(),很多,订单收盘价(),100,0,0);
  }
}空白 勾选()
{
  静止的 常量 整数句柄= VIRTUAL::Create();// 创建虚拟交易环境句柄。 0 - 真实交易环境  如果(例子)
  {
    如果(虚拟::SelectByHandle())// 选择真实的交易环境      系统();                    // 在选定的交易环境上启动 TS(真实)    如果(虚拟::SelectByHandle(句柄))// 选择虚拟交易环境    {
      虚拟::NewTick();      // 为虚拟交易环境添加tick      系统();                // 在选定的交易环境(虚拟)上启动 TS    }
  }
  别的 // 相同动作的替代固定。    // 沿着所有现有的交易环境移动    为了整数我=0;我<=虚拟::总计();我++)
      如果(虚拟::按索引选择(i))// 选择合适的交易环境      {
        虚拟::NewTick();// 添加勾选到选定的交易环境        系统();// 在选定的交易环境上启动 TS      }

  评论(虚拟::ToString());// 在图表上显示虚拟交易环境的状态}


这是一款跨平台反转 EA。它的交易逻辑可以用几个字符串来描述(系统功能)得益于 MT4 风格。 EA 同时在真实和虚拟交易环境中启动 TS。这可以在 MT4 或 MT5 测试器 (CTRL+F5) 中清楚地看到

Virtual - library for MetaTrader 5

截图显示真实和虚拟环境中的交易是相同的。

注意TS代码保持不变。仅选择一种交易环境:真实的交易环境或任意数量的虚拟交易环境。

这里显示的代码是多余的 - 这两个版本只是显示了使用该库的逻辑。

自从 测试仪加速度场景(参见上面第 5 页)可能比其他场景更频繁地需要,我们通过在代码开头添加两个字符串来添加将任何 TS 切换到虚拟环境并返回的功能。

#定义虚拟测试仪// 在虚拟交易环境中启动
#包括// 虚拟交易环境

突出显示的字符串可以让用户不干扰TS原始代码。

Virtual - library for MetaTrader 5

该模式是专门为测试仪设计的。假设长期优化是在启用(虚拟测试仪 = true)虚拟环境而不是真实环境。这显着提高了优化速度(时间)。获得的结果(OnTester 标准 - 余额)可用于真实交易环境中的标准单次运行(虚拟测试仪=假)。

旨在加速测试器的相同两个字符串可以解决另一个常见问题 - TS 反转。

Virtual - library for MetaTrader 5

反向交易 = true模式可以逆转交易。内部算法如下:

因此,不会以任何方式违反 EA 逻辑。同时,我们可以看到 TS 反转提供了什么。此模式也适用于测试人员。


附件下载

📎 string.mqh (0.59 KB)

📎 sync.mqh (5.42 KB)

📎 order.mqh (15.78 KB)

📎 orders.mqh (13.93 KB)

📎 virtual.mqh (23.14 KB)

📎 virtual_example.mq5 (1.92 KB)

Source: MQL5 #22577

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