从一开始,我的预定目标就是使用标准库。 我的首要任务是实现最简单的功能:包括 CTrade 交易类,及执行买入或卖出的方法。 我之所以选择标准库,是因为它可以生成更简洁的代码。以下以脚本形式执行的短代码以交易量 1.0 手执行开多头仓位:
//+------------------------------------------------------------------+ //| Open Buy.mq5 | //| Copyright © 2018-2021, Vladimir Karputov | //+------------------------------------------------------------------+ #property copyright "Copyright © 2018-2021, Vladimir Karputov" #property version "1.001" //--- #include <Trade\Trade.mqh> CTrade m_trade; // trading object //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- m_trade.Buy(1.0); // open Buy position, volume 1.0 lot }
-
交易设置
-
Working timeframe — 操作时间帧。操作时间帧也许不同于 EA 启动所在的图表时间帧。 这是所创建指标的默认时间帧(如果指标中未明确指定其它时间帧)。 它还用于跟踪新柱线创建的时刻(如果只有在新柱线出现时才能检测出交易信号,或者只有在新柱线出现时才启动跟踪信号)。
-
Stop Loss — 止损。(0 – 禁用)。
-
Take Profit — 止盈。(0 – 禁用)。
-
Trailing on ... — 尾随。在每次即时报价(柱线#0(每次即时报价))或仅在出现新柱线时检查尾随能力 (柱线 #1 (出现一根新柱线))。
-
Search signals on ... — 信号搜索位柱线。在每次即时报价(柱线#0(每次即时报价))或仅在出现新柱线时搜索交易信号 (柱线 #1 (出现一根新柱线))。
-
Trailing Stop (min distance from price to Stop Loss) — 尾随停止,价格和持仓止损之间的最小距离。 只有在持仓已有盈利、且价格远离开盘价超过尾随停止+尾随步长时,尾随才被激活。尾随操作显示在 TrailingStop 代码图片之中。
-
Trailing Step — 尾随步长。
-
仓位大小管理(手数计算)。
-
Money management lot: Lot OR Risk — 资金管理手数:手数或风险。手数计算系统。 手数可以是固定的(资金管理=固定手数,手数大小可设置在 资金管理的数值),也可以是动态的 — 每笔交易的风险 %(资金管理=每笔交易的风险百分比,风险百分比设置在货币管理数值)。 您还可以将固定手数为最小手数(资金管理=最小手数)。
-
The value for "Money management" — 资金管理数值
-
交易模式
-
Trade mode: 仅允许多头仓位, 仅允许空头仓位 以及 允许多头和空头仓位
-
DEMA — 自定义指标参数。 这是您最终设置指标及其参数的地方
-
DEMA: 均化周期
-
DEMA: 水平偏移
-
DEMA: 价格类型
-
时间控制 — 操作时间周期 该时间周期表示在其内允许搜索交易信号
-
Use time control — 标志,启用/禁用 时间控制
-
Start Hour — 周期开始钟点
-
Start Minute — 周期开始分钟
-
End Hour — 周期结束钟点
-
End Minute — 周期结束分钟
-
挂单参数 — 与挂单相关的参数
-
Pending: Expiration, in minutes (0 -> OFF) — 挂单生存期 (0 — 禁用)。
-
Pending: Indent — 挂单距当前价格的间距(未明确设置挂单价格时)
-
Pending: Maximum spread (0 -> OFF) — 最大点差 (0 — 禁用)。 如果当前点差超过指定值,则不会放置挂单(EA 等待点差缩小)
-
Pending: Only one pending — 启用/禁用标志。 场内上只允许有一笔挂单
-
Pending: Reverse pending type — 启用/禁用标志。 挂单逆向
-
Pending: New pending -> delete previous ones — 如果要设置挂单,则所有前期的其它挂单均被删除
-
附加功能
-
Positions: Only one — 启用/禁用标志。 场内上只允许有一笔持仓
-
Positions: Reverse — 启用/禁用标志。 交易订单逆向
-
Positions: Close opposite — 启用/禁用标志。 如果有交易订单,则所有前期持仓都被平仓,以便执行该订单
-
Print log — 启用/禁用标志。 显示有关操作和错误的扩展信息
-
Coefficient (if Freeze==0 Or StopsLevels==0) — 考虑到停止级别的比率
-
Deviation — 指定滑点
-
Magic number — EA 独有 ID