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

TradeTransactions - MetaTrader 5 库

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

异步交易订单有一个巨大的优势——批量发送时速度快。然而,这种订单的传播受到了不便的阻碍——订单结果数据只能在OnTradeTransaction中看到,这使得用户如果想要异步,就需要构建其交易策略的事件模型。这并不总是容易的(EA),有时甚至是不可能的(脚本)。

图书馆解决了这个问题。自应用程序启动以来,它随时可以访问交易终端中的所有交易(相应 OnTradeTransaction 的完整数据),从而简化了程序异步的过程。

下面的例子展示了库的运行原理:

// 打印出所有没有 OnTradeTransaction 的交易

#包括// 在程序中的任何位置访问 OnTradeTransaction 数据贸易交易 交易;// 交易交易

常量 布尔值初始化=事件集毫秒定时器100);空白 定时器()
{
  静止的 单位总计 =0;
  常量 单位NewTotal = Transactions.Total();// 保存的交易数量  
  为了单位i = 总计; i < 新总计;我++)// 运行新事务  {
    MqlTrade事务反式;
    Mql交易请求要求;
    Mql交易结果结果;
    
    // 获取相应交易的所有数据并打印它们。    打印字符串时间(交易[i].Get(交易, 请求, 结果)) +“\n”+ 
          ToString(Trans) + ToString(请求) + ToString(结果));        
  }
  总计 = 新总计;
}

运行此 EA 并尝试手动执行交易订单。 EA 交易将打印所有详细信息,就像它具有 OnTradeTransaction 一样。虽然还没有!

使用此类功能的实际场景可能有很多。例如,交易一篮子交易品种。例如,如果您需要在代码内快速开多个仓位。如果它们打开,您可以执行其他交易操作,而无需离开“打开”功能。

由于我们经常需要等待大量异步订单发送的结果,因此该库具有适当的功能,可以使用这样的示例快速评估

// 等待结果的大量异步交易订单示例。

#包括//https://www.mql5.com/en/code/16006
#包括// 在程序中的任何位置访问 OnTradeTransaction 数据贸易交易 交易;// 交易交易

// 尽快开仓。持仓时返回。
布尔值未平仓合约(常量 整数金额=10)
{
  单位请求ID[];
  
  为了整数我=数组调整大小(请求 ID、金额)-1;我 >=0;我 - )
  {
    常量 细绳符号=符号名称(我,真的);
    
    请求ID[i] =订单发送异步(符号,OP_买入,1,符号信息双(符号,SYMBOL_ASK),100,0,0);// 发送异步订单  }
  
  返回(交易.等待(RequestID));// 等待服务器对所有异步订单的响应}// 尽快关闭所有内容。确认操作后返回。
布尔值关闭全部()
{
  单位请求ID[];
  
  为了整数我=数组调整大小(请求ID,订单总数()) -1;我 >=0;我 - )
    如果订单选择(我,SELECT_BY_POS))
      // 发送异步订单      请求 ID[i] = (订单类型() <=OP_卖出)?订单关闭异步(订票(),订单批次(),订单收盘价(),100) : OrderDeleteAsync(订票());
  
  返回(交易.等待(RequestID));// 等待服务器对所有异步订单的响应}空白 启动时()
{
  如果(未平仓头寸())
    打印(关闭全部());
}

当然,这是一个脚本,但它仍然允许通过库处理事务。此次发布展示了如何快速开立和关闭多个交易头寸/订单。


附件下载

📎 tradetransactions.mq5 (1.4 KB)

📎 tradetransactions_example.mq5 (2.65 KB)

📎 ontradetransaction.mqh (0.83 KB)

📎 resource.mqh (0.63 KB)

📎 resourcedata.mqh (1.41 KB)

📎 string.mqh (0.45 KB)

📎 traderequest.mqh (2.12 KB)

📎 traderesult.mqh (1.15 KB)

📎 tradetransaction.mqh (2.06 KB)

📎 tradetransactions.mqh (2.46 KB)

📎 typetobytes.mqh (20.54 KB)

Source: MQL5 #22166

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