股票量化软件:赫兹量化平台开发 EA 构造函数
从一开始,我的预定目标就是使用标准库。 我的首要任务是实现最简单的功能:包括 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