EA-38226 · 辅助工具
Trailing Star
Trailing Star是一款移动止损工具EA,通过修改已有持仓的止损来跟踪价格走势。它有两个变体:基于点数(从入场价获利固定点数后触发)和基于价格(价格突破用户指定入场价后触发)。该EA本身不开仓,仅管理已有持仓的止损。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
暂未回测:这个 EA 还没能自动转换。
策略分析
策略概念:这是一个纯粹的移动止损管理工具,不涉及任何开仓策略。入场条件:EA本身不开仓,仅对已有持仓进行管理。Point版本的触发条件是当持仓浮盈超过设定的entry_point点数后开始移动止损;Price版本的触发条件是当价格突破用户指定的entry_price后开始移动止损。出场条件:通过移动止损来保护利润,止损会跟随价格移动trailing_point点数的距离,当价格回撤触及移动止损时平仓。仓位管理:EA不进行任何仓位管理,也不开仓。资金管理:没有任何资金管理逻辑,不计算风险百分比或动态调整仓位。两个版本的核心逻辑相同:对于BUY仓位,当价格上升时将止损上移;对于SELL仓位,当价格下降时将止损下移,止损始终保持在距离当前价格trailing_point点数的位置。
优势
- 逻辑简单清晰,易于理解和配置,适合初学者使用
- 提供两种触发方式(点数和价格),适应不同的交易场景和需求
- 同时支持BUY和SELL仓位的移动止损管理,功能完整
劣势
- PositionGetSymbol(idx)在循环中修改仓位列表时可能导致索引错位,应使用倒序循环
- 没有检查PositionGetSymbol的返回值是否与当前图表品种匹配,会修改其他品种的仓位
- entry_point和trailing_point默认值为0,用户忘记设置时EA不会生效且无任何提示
- 没有对CTrade.PositionModify的返回值进行检查,修改失败时无错误处理
- 未考虑止损修改的最小距离限制(StopsLevel),可能导致修改请求被服务器拒绝
改进建议
- 使用倒序循环遍历仓位,并在PositionGetSymbol后检查是否匹配当前品种符号
- 添加止损修改的最小距离限制检查(SymbolInfoInteger(SYMBOL_TRADE_STOPS_LEVEL)),并检查PositionModify返回值
- 为参数设置合理的非零默认值,并在OnInit中验证参数有效性,无效时发出警告或返回INIT_FAILED
风险评估
总体风险: 低风险
- 正向循环遍历仓位列表可能在仓位被删除时导致索引跳过,造成部分仓位未被管理
- 未检查品种匹配可能意外修改其他品种仓位的止损
- 未考虑止损级别限制可能导致修改请求频繁失败
评估得分
代码质量2.0
策略逻辑3.0
风险管理3.0
稳健性2.0
创新性1.0
文档2.0
综合2.2
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
entry_point | 0 | 入场点数(Point版本):浮盈达到此点数后开始移动止损 |
trailing_point | 0 | 移动止损点数:止损与当前价格保持的距离 |
entry_price | 0.0 | 入场价格(Price版本):价格突破此价位后开始移动止损 |
同类 EA:辅助工具
回测是历史模拟,不代表未来收益,不构成投资建议。