外汇自动化程序量化交易,用MQL5语言实现。
核心技术
MQL5语言开发,使用布林带指标检测波动率收缩,通过挂单交易实现突破策略。采用移动止损动态保护利润,使用订单选择器管理持仓和挂单。
技术难点
多订单协调:同时管理Buy Stop和Sell Stop两个挂单,一方成交后需立即删除另一方
状态同步:持仓管理、挂单删除、移动止损之间的状态机切换复杂
止损移动精度:需判断盈利是否达到启动点,且每次移动必须超过最小步长,避免频繁修改订单
整体架构
采用单例状态机架构,主控变量havebreakout驱动三阶段流转:信号检测→挂单开仓→持仓管理。每个Tick检查状态并执行对应逻辑。
设计思路
突破前:布林带收窄时双向挂单,捕捉爆发方向。突破后:成交方启动移动止损,立即删除反向挂单避免双向持仓。退出条件:多空双方均完成平仓后重置状态机,重新等待下次突破信号。
个人负责全部的代码