EA-30955 · 辅助工具
PeterPanel
Peter Panel是一个半自动交易面板EA,通过GUI界面让用户手动放置、修改和平仓交易。它使用三条水平价格线(AQUA/GREEN/RED)来设定入场价、止盈和止损,用户拖动线条后点击按钮执行订单,EA本身不产生交易信号。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
暂未回测:这个 EA 还没能自动转换。
策略分析
此EA并非自动策略系统,而是一个交易辅助面板工具。入场条件完全由用户手动决定:用户在图表上拖动AQUA线设定入场价,GREEN线设定止盈价,RED线设定止损价,然后点击Buy/Sell/Stop/Limit按钮下单。出场条件同样由用户通过面板上的Modify和Close按钮手动操作。仓位管理通过面板上的Lot控件实现,包括手数增减(+/-按钮)、最大手数(Max按钮根据可用保证金计算)、最小手数(Min按钮)和规范化手数(Norm按钮)。资金管理方面,Max按钮调用OrderCalcMargin计算可用保证金允许的最大手数,但未考虑已用保证金和多重持仓的累积风险。止损止盈的设定依赖于用户对GREEN和RED线的正确放置,BUY单GREEN为止盈RED为止损,SELL单则反转,这要求用户理解线条含义。
优势
- 提供直观的GUI交易面板,集成下单、修改、平仓功能,操作便捷
- 使用三条可拖动水平线可视化设定入场价/止盈/止损,直观易懂
- 手数管理功能完善,支持增减、最大(按保证金计算)、最小和规范化手数
- 实时刷新持仓和挂单列表,支持通过列表选择订单进行修改或平仓
- 半自动模式给予交易者完全的控制权,不会盲目开仓
劣势
- Max按钮仅根据单笔保证金计算最大手数,未考虑已有持仓的保证金占用,可能导致过度杠杆
- 没有交易时间过滤(如新闻时段、休市时段),用户可能在不利时段下单
- 构造函数中调用GetLot()时edits[0]尚未创建,导致lotSet从空控件读取为0,存在初始化顺序Bug
- OnClickListItem中对Position和Order的选择逻辑可能冲突:如果同一个ticket既是Position又是Order,两者都会执行
- 缺少点差过滤和滑点保护机制,市价单在剧烈波动时可能以极差价格成交
改进建议
- 修复构造函数初始化顺序Bug:将GetLot()从构造函数移至Create()方法中在控件创建后调用
- 在Max手数计算中加入已用保证金和已持仓手数的考量,防止过度杠杆
- 添加对Position和Order互斥选择的逻辑,避免同一ticket被重复处理
- 增加点差过滤和最大滑点限制,提高市价单成交质量
- 为GREEN/RED线添加标签提示(如TP/SL),降低用户混淆线条含义的风险
风险评估
总体风险: 低风险
- 构造函数初始化Bug导致lotSet为0,若用户未修改手数直接下单将导致下单失败
- Max手数计算未考虑已有持仓保证金,可能允许超出实际承受能力的仓位
- 缺乏点差和滑点保护,在流动性差的市场环境下可能以不利价格成交
评估得分
代码质量3.0
策略逻辑2.0
风险管理2.0
稳健性2.0
创新性2.0
文档1.0
综合2.0
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
DIALOG_WIDTH | 300 | 面板宽度(像素) |
DIALOG_HEIGHT | 350 | 面板高度(像素) |
SPAN | 6 | 控件间距(像素) |
UNIT_WIDTH | 44 | 标准控件宽度(像素) |
UNIT_HEIGHT | 30 | 标准控件高度(像素) |
deviation | 10 | 市价单最大滑点容忍值(点) |
同类 EA:辅助工具
回测是历史模拟,不代表未来收益,不构成投资建议。