EA-33930 · 辅助工具
Ronz SLTP MT5
该EA是一个交易管理工具,自动为已有持仓设置止损和止盈,支持服务端和客户端(隐性)止损止盈模式,并包含锁定利润功能和三种移动止损方法。它不根据自身策略信号开仓,仅管理已有持仓。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
暂未回测:这个 EA 还没能自动转换。
策略分析
该EA本身不产生交易信号,而是作为持仓管理工具运作。入场条件方面,EA不自行开仓,仅在OnInit中初始化参数,在OnTick中扫描所有持仓或当前图表品种的持仓。出场条件方面,Server模式下通过trade.PositionModify设置服务端SL/TP,Client模式下通过虚拟点数计算当盈利达到TP或亏损达到SL时调用trade.PositionClose平仓。仓位管理方面,EA不涉及开仓手数计算,但包含CheckMoneyForTrade和CheckVolumeValue方法用于OrderTest测试下单。资金管理方面,锁定利润功能在持仓盈利达到LockProfitAfter点数后将SL移至开仓价加ProfitLock点数处,保护已有利润。移动止损提供三种方式:经典跟随、步进保持距离、逐步移动,分别适应不同行情节奏。
优势
- 支持服务端和客户端两种止损止盈模式,灵活性高
- 提供三种移动止损方法,适应不同交易风格和市场节奏
- 锁定利润功能可在盈利达到目标后自动保护利润
- 代码结构清晰,使用面向对象封装AutoSLTP类
- 可选择仅管理当前图表品种或所有持仓,适用范围广
劣势
- Client模式下止损止盈依赖EA持续运行,EA关闭或断线后虚拟SL/TP将失效,风险极高
- SetInstantSLTP函数返回值始终为false,虽然不影响功能但表明代码逻辑不够严谨
- 没有新K线检查机制,每个tick都遍历所有持仓并尝试修改,可能导致频繁无效的PositionModify调用
- 缺少对PositionModify失败原因的日志记录,不利于排查问题
- LockProfit与TrailingStop之间的衔接逻辑(Poin在LPA和LPA+TS之间时)处理不够直观,容易造成混乱
改进建议
- 添加OnTick中的新K线检查,减少不必要的持仓遍历和修改调用频率
- 为Client模式添加断线保护机制,如EA卸载时自动为所有虚拟止损止盈持仓设置服务端止损止盈
- 记录PositionModify和PositionClose的失败原因及错误码,便于调试和监控
风险评估
总体风险: 中等
- Client模式(隐性止损止盈)下EA停止运行则止损止盈完全失效,持仓将无保护暴露于市场风险中
- 每个tick都执行遍历和修改操作,在高频行情下可能导致交易服务器过载或被限制
- 缺少对minstoplevel变化的动态校验,止损止盈可能在市场波动时因违反止损级别要求而被拒绝
评估得分
代码质量3.0
策略逻辑3.0
风险管理3.0
稳健性2.0
创新性2.0
文档1.0
综合2.3
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
TakeProfit | 550 | 止盈点数 |
StopLoss | 350 | 止损点数 |
SLnTPMode | Server | 止损止盈模式:服务端或客户端(隐性) |
LockProfitEnable | LP_ENABLE | 启用/禁用锁定利润功能 |
LockProfitAfter | 100 | 达到此点数后触发锁定利润 |
ProfitLock | 60 | 锁定利润的点数 |
TrailingStopMethod | TS_CLASSIC | 移动止损方法:经典/步进保持距离/逐步移动 |
TrailingStop | 50 | 移动止损点数 |
TrailingStep | 10 | 移动止损步长 |
Slippage | 10 | 滑点容差 |
ChartSymbolSelection | AllOpenOrder | 管理范围:仅当前图表或所有持仓 |
inpEnableAlert | false | 启用警报通知 |
inpEnableTest | false | 启用策略测试器自动下单测试 |
同类 EA:辅助工具
回测是历史模拟,不代表未来收益,不构成投资建议。