Exp_Karacatica
该EA基于自定义指标'Karacatica'(基于ATR)产生的突破信号进行交易。在向上突破信号时开多仓,向下突破信号时开空仓,并可选择在反向信号时平仓。资金管理支持多种保证金模式,包括固定手数。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
| 品种 | 盈亏 | 年化 | 最大回撤 | 交易数 | 胜率 | 夏普 | 恢复因子 | 最长连亏 | 每笔期望 | 状态 |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
| XAUUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
这个 EA 从未交易的原因:转换后没有留下任何开仓规则。
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
爆仓风险: 未发现爆仓模式
代码里没有发现常见的爆仓模式,回测中账户也没有爆仓。但这不是保证,任何 EA 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
该EA的策略概念是基于Karacatica指标的突破信号进行交易,该指标内部使用ATR(平均真实波幅)来衡量市场波动性并生成突破信号。入场条件为:当指标缓冲区1(UpValue)产生非空非零信号时开多仓,当缓冲区0(DnValue)产生非空非零信号时开空仓。出场条件为:当出现反向突破信号时平掉对应仓位(多仓出现下突破信号时平多,空仓出现上突破信号时平空),同时设有固定的止损和止盈点位。仓位管理方面,EA通过IsNewBar机制确保每个K线最多产生一次信号,避免重复开仓。资金管理支持五种模式:自由保证金比例、余额比例、扣除亏损后自由保证金比例、扣除亏损后余额比例以及固定手数模式。EA还包含一个额外的历史回溯检查逻辑,当同时允许开仓和平仓但当前无平仓信号时,会向前遍历历史K线寻找是否有遗漏的平仓信号。
优势
- 策略逻辑清晰,基于ATR突破信号进行交易,适应市场波动性变化
- 资金管理模式丰富,提供五种不同的仓位计算方式,灵活性强
- 内置IsNewBar机制防止同一K线重复开仓,避免信号重复执行
- 买卖开仓和平仓均可独立开关控制,策略配置灵活度高
- 包含历史回溯平仓信号检查逻辑,减少遗漏平仓信号的风险
劣势
- 止损止盈使用固定点数而非ATR动态计算,在不同波动率环境下风险收益比不一致
- 缺少点差过滤和交易时段过滤,在点差较大或低流动性时段可能产生不利成交
- 历史回溯平仓信号检查逻辑遍历所有历史K线,在K线数量较多时存在性能问题
- 依赖外部自定义指标Karacatica且使用iCustom调用,缺乏指标源码时难以回测和优化
- 没有最大持仓数量限制和最大回撤控制等全局风控机制
改进建议
- 将固定点数止损止盈改为基于ATR倍数的动态止损止盈,使风险收益比随市场波动性自适应调整
- 添加点差过滤和交易时段控制,避免在不利交易条件下开仓,并设置全局风控参数如最大持仓数和最大回撤限制
- 优化历史回溯平仓信号检查逻辑,设置最大回溯K线数量限制以避免性能问题
风险评估
总体风险: 中等
- 固定止损1000点和止盈2000点在低波动品种上可能过大,在高波动品种上可能过小
- 历史回溯平仓检查无K线数量上限,理论上可能遍历全部历史数据导致卡顿
- 缺少点差过滤,在点差扩大的新闻事件或低流动性时段可能以不利价格成交
- SignalBar=1时信号有一根K线延迟,但设为0时可能在未完成的K线上产生虚假信号
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
MM | 0.1 | 资金管理比例或固定手数 |
MMMode | LOT | 资金管理模式(自由保证金/余额/扣除亏损后保证金/扣除亏损后余额/固定手数) |
StopLoss_ | 1000 | 止损点数 |
TakeProfit_ | 2000 | 止盈点数 |
Deviation_ | 10 | 最大允许滑点 |
BuyPosOpen | true | 是否允许开多仓 |
SellPosOpen | true | 是否允许开空仓 |
BuyPosClose | true | 是否允许平多仓 |
SellPosClose | true | 是否允许平空仓 |
InpInd_Timeframe | PERIOD_H1 | Karacatica指标时间周期 |
iPeriod | 70 | ATR周期参数 |
SignalBar | 1 | 信号所在K线索引(0=当前K线) |
同类 EA:突破
回测是历史模拟,不代表未来收益,不构成投资建议。