EA-13233 · 剥头皮
HFT Spreader 4 FORTS
这是一个为FORTS(俄罗斯衍生品市场)设计的高频交易做市EA。当价差足够大时,它在订单簿两侧同时挂买入和卖出限价单,并随着市场条件变化主动管理和调整挂单位置。策略通过在订单簿中成为最优买卖价来赚取价差利润。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
暂未回测:这个 EA 还没能自动转换。
策略分析
策略概念:这是一个典型的做市(Market Making)策略,核心思想是在订单簿的买卖两侧同时挂单,通过赚取买卖价差获利。入场条件:当市场价差大于等于SpreadToPutOrders乘以最小变动价位时,在Ask下方一个最小变动价位挂卖限价单,在Bid上方一个最小变动价位挂买限价单,从而成为订单簿中的最优买卖价。出场条件:挂单被成交后,EA会在反方向挂出两倍成交量的限价单来平仓并重新开仓,形成连续做市循环。仓位管理:初始手数由Lots参数控制,成交后在反方向挂2倍量的限价单(一倍平仓、一倍反向开仓)。资金管理:没有止损止盈设置,也没有最大持仓限制,资金管理较为薄弱。订单管理:EA会持续监控挂单是否需要移动——如果挂单价格偏离当前最优价超过一个最小变动价位,或者当前挂单已成为订单簿中唯一的最优价且与次优价差距过大,就会删除并重新挂单。
优势
- 利用订单簿深度数据进行精细的做市策略,逻辑清晰
- 主动管理挂单位置,能够及时调整到最优买卖价,提高成交率
- 具有价差过滤机制,只在价差足够大时才挂单,避免在窄价差时被套
- OnDeinit中自动平仓和删除挂单,确保EA移除时不会留下未管理的仓位
劣势
- 没有止损和止盈设置,一旦单边行情出现可能造成重大亏损
- 2倍量反向挂单机制意味着每次成交后持仓量翻倍,存在仓位失控风险
- isBestBidOrOfferOnlyMy函数中存在潜在的数组越界风险(访问book[index+1]或book[index-1]未做边界检查)
- checkPriceInPendingOrder函数中OrderSelect后未使用pendingOrder.SelectByIndex或Select,导致pendingOrder对象可能未正确初始化
- 每次OnBookEvent中都创建新的CTrade对象删除订单,频繁创建销毁对象影响性能
改进建议
- 添加止损止盈机制和最大持仓限制,防止单边行情中的无限亏损
- 修复COrderInfo对象的初始化问题,确保OrderSelect后正确加载订单数据
- 对订单簿数组访问添加边界检查,防止越界崩溃
- 将CTrade对象改为全局或类成员变量,避免频繁创建销毁
- 添加持仓量递增的限制逻辑,避免2倍量反向挂单导致仓位失控
风险评估
总体风险: 高风险
- 没有止损设置,单边行情可能导致巨大亏损
- 2倍量反向挂单机制可能导致持仓量指数级增长
- 订单簿数组访问缺乏边界检查,可能导致EA崩溃后持仓无人管理
- COrderInfo对象初始化问题可能导致错误的交易决策
评估得分
代码质量2.0
策略逻辑3.0
风险管理1.0
稳健性2.0
创新性3.0
文档1.0
综合2.0
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
Lots | 1 | 每次挂单的手数(交易量) |
SpreadToPutOrders | 4 | 触发挂单的最小价差倍数(价差>=此值×最小变动价位时才挂单) |
Magic | 99 | EA的魔术编号,用于标识本EA的订单 |
同类 EA:剥头皮
回测是历史模拟,不代表未来收益,不构成投资建议。