本帖最后由 360 于 2026-5-8 10:00 编辑
本ea花费本人近一年时间打造,花了无数精力与金钱。ea必须加载自编的五个指标才能正常运行。
请看详细介绍。
可用于不同周期,一分钟线开单较多。
每一单下单前会进行10秒倒计时,允许取消,如果不响应,则在10秒后如果行情继续,则下单,如果反向了,则取消下单。
一、策略核心框架本EA是一套多过滤器趋势跟踪+条件加仓的自动化交易系统,专门针对黄金(XAUUSD)品种优化。其核心逻辑层叠如下:
层级 作用
主信号自定义“两线AB多空gj”指标(类似双均线/双线MACD)的金叉/死叉
方向确认8类独立过滤器(当前周期、1分钟、5分钟)对主信号进行全票或多数一致验证
首单保护布林带宽极度萎缩时硬性禁止首单;趋势衰减和布林放大仅作警告提示(不强制阻止)
持仓管理反向优先平仓(主信号+多数过滤器一致反向时立即平仓)
加仓系统仅在已存在同向持仓且满足“主信号、过滤器、间距、前单止损、黄金特征”等条件时加仓
风控套件震荡过滤、点差过滤、时间限制、浮亏/总亏损暂停、启动延迟、冷却期、反转K线过滤
人工干预图形按钮切换模式/加仓开关;开仓确认弹窗(倒计时可选);手动下单按钮
二、信号系统详解1. 主信号(AB交叉)自定义指标 两线AB多空gj,参数 AB_EMAPeriod=13。 定义:AA[0] > BB[0] → 多头;AA[0] < BB[0] → 空头。 附加斜率要求:开仓时要求 AA[0] > AA[1](做多)或 AA[0] < AA[1](做空),确保动量方向正确。
2. 过滤器集群(共8个,均可独立启用)
过滤器 周期 逻辑
操作线过滤当前价格 > 操作线 → 只做多;< 操作线 → 只做空
EMA_Fast过滤当前价格 > EMA_Fast → 只做多;< EMA_Fast → 只做空
TTT1M过滤1分钟根据TTT1M指标趋势值(1/-1/0)限制方向
xSuperTrend1M过滤1分钟根据该指标的上升/下降线条方向
DH_5M过滤5分钟基于DH_MAIN_FIX指标判断方向
MA过滤当前价格高于/低于MA通道线一定滞后点数
MA5M过滤5分钟同上,在5分钟图上
AB5M过滤5分钟5分钟图上AB指标快慢线状态
聚合规则: 所有启用的“当前周期+1分钟”过滤器必须全部同向(allLong / allShort)。 5分钟组(DH_5M、MA5M、AB5M)采用多数表决:启用项中至少2个同向(若仅启用1个则只需该1个同向)。 最终输出 filterDir(1=做多,-1=做空,0=无方向)。
3. 首单额外过滤(黄金专用)注意:首单布林萎缩硬过滤可以有效避免在盘整末期(带宽极窄)开仓被假突破扫损;趋势衰减和布林放大仅在确认窗提示,给予交易员二次决断机会。
三、加仓系统(条件极其严格)加仓仅在已有同向持仓时触发,且需满足以下所有条件(任一条不满足则加仓被拒): 功能开关:加仓按钮(或参数)允许加仓。 持仓数量:当前同向单数 ≤ 有效最大加仓次数+1(震荡时可减少)。 信号一致性:主信号和过滤器方向与持仓方向一致。 前单止损有效:最后一笔同向单的止损价必须符合方向逻辑(多单SL>开仓价,空单SL<开仓价)。 加仓间距:当前价格与上一笔同向单开仓价的距离 ≥ 加仓间隔点数。 价格条件:做多加仓时 Close[0] > AA[0];做空加仓时 Close[0] < AA[0]。 黄金专用过滤:
趋势衰减:ADX高位持续掉头 → 禁止加仓。 布林异常:带宽异常放大或极度萎缩 → 禁止加仓。
未处于平仓冷却或反转冷却。 未触发风控(点差、震荡、亏损等)。
此外,加仓系统还有锁定机制:如果某方向已有首单+加仓单,之后加仓单被止损/平仓而首单仍在,则锁定该方向,禁止继续加仓,直到该方向全部平仓才解锁。这防止了“亏损加仓”的恶性循环。 四、平仓与风控机制1. 反向优先平仓2. 平仓后冷却与动摇保护3. 震荡过滤4. 点差过滤5. 其他风控时间限制:禁止时段(如04:45-06:30)不开仓。 浮亏暂停:当前权益回撤 ≥30% 时停止开仓。 总亏损暂停:从初始余额算起累计亏损 ≥30% 时停止开仓。 启动延迟:EA加载后等待 启动延迟K线数=2根K线才开始交易,避免刚加载时数据不完整。 反转K线过滤:前一根K线影线/实体比例≥2且影线点数≥10时,额外冷却1根K线,防止在影线后立即开仓。
五、黄金专用高级过滤器这两组过滤器主要用于加仓,首单仅作警告。 1. 趋势衰减检测(IsTrendDecaying)2. 布林带宽异常检测(UpdateBollingerStatus)计算当前带宽 (上轨-下轨)/Point。 计算过去20根K线的平均带宽,以及过去50根K线的最小带宽。 异常放大:当前带宽 > 平均带宽 × 2.5,且价格偏离20均线大于平均带宽×0.5 → 视为异常。 极度萎缩:当前带宽 ≤ 历史最窄带宽 × 1.05,且前一根带宽也处于萎缩状态 → 视为异常。 任一异常发生时,禁止加仓。
这两项的设计思路是:在加仓时避免追在趋势末端(衰减)或极端波动区(布林扩口/缩口),有效控制加仓风险。
六、人工交互与监控1. 图形按钮2. 开仓确认窗口(可选)当信号触发开仓时,弹窗显示方向、价格、倒计时(默认10秒)。 用户可点击“确认”执行开仓,或“取消”放弃本次开仓(本K线内不再重复弹窗)。 倒计时结束后会重新验证条件,条件仍满足则自动开仓,否则放弃。 若首单伴有布林放大或趋势衰减警告,会在窗口内显示⚠️提示。
3. 实时信息面板 七、整体策略效果预期(基于逻辑推理)优势高过滤强度:8层过滤器全启用时,开仓条件非常苛刻,能过滤大量假信号,适合追求高胜率而非高频交易的用户。 加仓风控严谨:加仓需要满足信号、间距、前单止损、黄金过滤等多重条件,且带锁定机制,极大避免了亏损加仓放大风险。 黄金专用适配:趋势衰减和布林异常检测切中黄金的几大特性——高位钝化、极端波动、盘整窄幅。用于加仓能有效减少在趋势末端或波动异常时加重仓。 首单布林萎缩硬过滤:避免在窄幅盘整末期开仓(此时期常伴随假突破),对趋势跟踪策略很实用。 完整的风控防护网:震荡、点差、时间、浮亏、总亏损、冷却、动摇保护、反转冷却……几乎覆盖了所有可能导致亏损的场景。 人工干预友好:按钮快速切换模式,确认窗口防止误操作,手动下单同样受过滤保护。
潜在不足过滤过多可能导致交易机会稀少:尤其在黄金波动不连贯时,可能数天甚至一周不开一单。 加仓条件苛刻:当前代码中加仓需同时满足主信号一致、过滤器一致、间距≥100点、前单SL有效、黄金过滤通过等,实际中很难触发多次加仓。 布林萎缩硬过滤可能过于激进:在缓慢趋势启动前,布林带宽也会经历一段萎缩期,硬过滤可能导致错失趋势初段。建议用户根据回测调整带宽萎缩阈值参数。 点差固定80点:黄金点差在不同交易商/时段差异大,固定值可能过于严格(某些平台高峰时点差可能瞬时超过80点)。 MT4平台限制:大量使用iCustom调用外部指标,若指标未加载或名称不匹配,EA无法工作;同时高频率调用可能消耗CPU。
适用场景品种:黄金(XAUUSD) – 专门针对其波动特性优化。 周期:建议M15或H1,因为过滤器中包含1分钟和5分钟周期数据,主周期过小会导致噪音增加。 交易商:低点差、低延迟的ECN账户最佳。 用户:偏好高过滤、低频交易、严格风控的中长线趋势交易者。
参数调优建议布林萎缩过滤首单:可先关闭,观察实际盘整期开仓情况再决定是否启用。 趋势衰减警告首单:建议保持开启,作为人工复核的提醒。 加仓间隔点数:根据ATR动态调整(当前固定100点,黄金日均波幅约200-300点时可适当调高)。 震荡ADX阈值:20是保守值,可提高至25以减少震荡误判。 移动止损:当前默认关闭,开启时建议TrailingStartPoints设为400点以上,避免被轻易触发。
八、代码实现细节评价结构清晰:全局变量、输入参数、函数模块划分合理。 防御性编程:大量使用EMPTY_VALUE检查和指标有效性验证,防止因数据缺失导致错误交易。 日志系统:LogBlockReason函数防止同一K线重复打印,信息面板实时状态刷新。 确认窗口设计:基于OnTimer和OnTick双重倒计时,兼容性较好;但MT4中ObjectSetInteger频繁调用可能略微影响性能,建议在低周期谨慎使用。 风险点:iCustom指标名称硬编码,若指标名称与图表上加载的不完全一致(如后缀版本号),会导致信号无效。建议用户确保所有自定义指标已正确安装且名称匹配。
九、总结AB_Cross_EA_TripleFilter v4.99_gold 是一套设计严谨、风控完善、专为黄金打造的趋势跟踪+条件加仓系统。它通过多层过滤器确保信号高度可靠,加仓机制极度保守,同时加入首单布林萎缩硬过滤和趋势衰减/布林放大人工确认,既保障了首单的安全性,又防止了加仓的鲁莽行为。 效果预估: 胜率:较高(因过滤严格,假信号少)。 交易频率:较低(可能每日1-3单,甚至更少)。 最大回撤:受控(多道风控和加仓锁)。 适用心态:适合耐心等待,不追求频繁交易的投资者。
补充内容 (2026-5-8 12:23):
https://www.eazhijia.com/forum.p ... p;extra=#pid6327249 出售贴位置 |