文章 "轻松快捷开发 MetaTrader 程序的函数库(第 二十二部分):交易类 - 基准类,限制验证"

 

新文章 轻松快捷开发 MetaTrader 程序的函数库(第 二十二部分):交易类 - 基准类,限制验证已发布:

在本文中,我们将着手开函数发库基准交易类,并在其第一个版本中加入进行交易操作的权限初始验证。 此外,我们还将略微扩展基准交易类的功能和内容。

若要验证交易限制检查方法的操作,我们需要人为地创建它们。
例如:

  1. 禁用 Internet 访问(模拟交易服务器断连),
  2. 在 EA 设置中禁用自动交易(按 F7 并在 EA 设置窗口的 “常用” 标签中取消勾选 “允许自动交易”),
  3. 在终端中禁用自动交易(自动交易按钮)。

单击 EA 交易面板中的开仓按钮。 以下条目出现在日志中:

2019.09.26 15:07:55.582 CTrading::OpenBuy: Request rejected before being sent to server due to:
2019.09.26 15:07:55.582 1. No permission to conduct trading operations in terminal ("AutoTrading" button disabled)
2019.09.26 15:07:55.582 2. No connection to trade server
2019.09.26 15:07:55.582 3. EA does not have permission to conduct trading operations (F7 --> Common --> "Allow Automatic Trading")


我们来一一消除这些限制。

启用 Internet 连接后,尝试开仓时我们会收到以下消息:

2019.09.26 15:10:36.766 CTrading::OpenBuy: Request rejected before being sent to server due to:
2019.09.26 15:10:36.766 1. No permission to conduct trading operations in terminal ("AutoTrading" button disabled)
2019.09.26 15:10:36.766 2. EA does not have permission to conduct trading operations (F7 --> Common --> "Allow Automatic Trading")


在终端上启用自动交易,单击自动交易按钮。 尝试开仓时,我们获得以下消息:

2019.09.26 15:13:03.424 CTrading::OpenBuy: Request rejected before being sent to server due to:
2019.09.26 15:13:03.424 EA does not have permission to conduct trading operations (F7 --> Common --> "Allow Automatic Trading")


按 F7 并在其设置里允许 EA 进行交易。 当尝试开仓时,我们终于成功了:

2019.09.26 15:14:32.619 - Position is open: 2019.09.26 11:14:32.711 -
2019.09.26 15:14:32.619 EURUSD Opened 0.10 Buy #455179802 [0.10 Market-order Buy #455179802] at price 1.09441, Magic number 123


其他限制可以在测试器或模拟帐户中测试,激活其中一个限制并创建一种情况来进行检查,例如,该帐户中挂单的最大数量限制。

作者:Artyom Trishkin

Artyom Trishkin
Artyom Trishkin
  • www.mql5.com
交易者的个人资料