多周期布林共振专业版EA
D/4H趋势共振+1H回调入场+ATR动态止损+移动止损保护利润
效果示意图 · AI 根据源码绘制,仅示意画了哪些元素,细节以实际运行为准
#property copyright "XAUOF 指标工坊"
#property version "2.00"
#property strict
#include <Trade\Trade.mqh>
//+------------------------------------------------------------------+
//| 输入参数 |
//+------------------------------------------------------------------+
input group "== 布林带参数 =="
input int Inp_BOLL_Period = 20; // 布林周期(所有时间周期统一)
input double Inp_BOLL_Deviation = 2.0; // 布林带标准差倍数
input group "== 趋势过滤参数 =="
input double Inp_MinDistanceFromMiddle = 30; // D/4H距中轨最小点数(过滤震荡)
input int Inp_SlopeMinBars = 3; // 中轨斜率判断K线数
input double Inp_BreakoutMinPoints = 20; // 1H突破中轨最小点数
input group "== 回调确认参数 =="
input int Inp_PullbackMinBars = 2; // 1H回调最少K线数
input int Inp_ConfirmBars = 2; // 15分钟确认K线数
input double Inp_MaxWickRatio = 0.4; // 确认K线最大影线比例(0.4=40%)
input group "== ATR动态止损 =="
input int Inp_ATR_Period = 14; // ATR周期
input double Inp_ATR_Multiplier = 1.0; // ATR倍数(止损 = 布林+ATR*倍数)
input int Inp_MinStopLoss = 100; // 最小止损点数
input int Inp_MaxStopLoss = 400; // 最大止损点数
input group "== 移动止损参数 =="
input bool Inp_UseTrailingStop = true; // 启用移动止损
input double Inp_BreakEvenRatio = 1.0; // 保本触发倍数(1倍SL距离)
input double Inp_LockProfitRatio = 2.0; // 锁定利润倍数(2倍SL距离)
input double Inp_TrailingStep = 1.0; // 追踪止损步进倍数
已显示前 35 行,共 616 行。完整源码仅对 xauusd.team VIP 开放查看与复制。
开通 VIP 查看完整源码作品说明
好!按照专业方案来写。这版会更严谨、更贴合实战。
改进要点说明
这个优化版本做了以下关键改进:
- 进场更严格:过滤掉震荡市假信号,只在真正趋势回调时入场
- 止损更科学:用ATR动态调整,适应市场波动
- 移动止损:自动保护利润,让盈利单跑得更远
- 时段过滤:避开假突破高发的亚盘和凌晨时段
- 风险控制:单笔固定风险2%,最多持仓1单
使用说明
安装步骤:
- 复制代码到 MetaEditor,保存为
MTF_Boll_Resonance_Pro_EA.mq5 - 编译(F7),确保无错误
- 拖到图表上,勾选"允许算法交易"
参数说明:
布林带参数
- 周期20、标准差2.0 是经典设置,适合大多数品种
趋势过滤参数(核心)
MinDistanceFromMiddle = 30:D和4H必须距中轨30点以上,过滤震荡市BreakoutMinPoints = 20:1H突破中轨至少20点,避免假突破SlopeMinBars = 3:检查最近3根K线的中轨斜率
回调确认参数
PullbackMinBars = 2:回调至少持续2根1H K线ConfirmBars = 2:15分钟至少2根确认K线MaxWickRatio = 0.4:确认K线影线不超过40%(避免长影线=犹豫信号)
ATR动态止损
ATR_Period = 14:标准ATR周期ATR_Multiplier = 1.0:止损 = 布林带宽 + 1倍ATRMinStopLoss = 100 / MaxStopLoss = 400:限制止损在100-400点之间
移动止损(自动保护利润)
UseTrailingStop = true:强烈建议开启BreakEvenRatio = 1.0:浮盈达到1倍止损距离时,止损移到开仓价(保本)LockProfitRatio = 2.0:浮盈达到2倍止损距离时,止损移到+1倍SL(锁定利润)TrailingStep = 1.0:之后每涨/跌1倍SL,止损也跟进1倍
交易管理
RiskPercent = 2.0:单笔风险2%账户余额,保守可改1%RiskRewardRatio = 3.0:初始止盈3倍止损(1:3),配合移动止损可扩大盈利
时间过滤
StartHour = 14 / EndHour = 23:只在北京时间14:00-23:00交易(欧美盘),避开亚盘震荡
实战建议:
- 先模拟盘测试2周:观察信号频率、胜率、最大回撤
- 黄金优化参数:
MinDistanceFromMiddle = 50、MinStopLoss = 150、MaxStopLoss = 500 - 欧美货币对:
MinDistanceFromMiddle = 20、MinStopLoss = 80、MaxStopLoss = 300 - 避开重大数据:非农、美联储决议前手动关闭EA
- 每周复盘:记录每笔交易的图表截图,分析哪些信号质量高
这版EA已经是专业级水平,核心是"严进宽出"——进场条件严格(多重过滤),出场灵活(移动止损让利润奔跑)。祝交易顺利!
AI 解读根据源码逐行分析写成,供参考,以实际运行为准
这是什么
一个基于多周期布林带共振的自动交易EA,专为趋势行情设计。它在日线和4小时确认大趋势方向,等待1小时深度回调后顺势突破,用15分钟K线确认入场,ATR动态调整止损,移动止损自动保护利润。适合黄金、欧美货币对等波动品种。
逻辑原理
趋势过滤 先检查日线和4小时图,价格必须同时距离布林中轨足够远(默认30点以上),且4小时中轨连续3根K线向同一方向倾斜,确认是真趋势而非震荡。
回调入场 在大趋势确认后,等待1小时图深度回调:多头趋势等价格触及下轨至少2根K线,空头趋势等触及上轨。回调结束后,1小时收盘价必须突破中轨至少20点,表示回调结束重新顺应大趋势。
15分钟确认 突破后检查最近2根15分钟K线,要求收盘价在中轨正确方向一侧,且影线不超过实体40%,避免长影线代表的犹豫信号。
动态止损 止损距离 = 4小时布林带宽度 + 1倍ATR(14),限制在100-400点之间。止盈初始为止损的3倍。
移动止损 浮盈达到1倍止损距离时,止损移到开仓价保本;达到2倍时,止损移到盈利1倍止损处锁定利润;之后每涨跌1倍止损距离,止损跟进1倍,让利润奔跑。
仓位计算 单笔风险固定为账户余额的2%,根据止损距离自动计算手数。同时只允许持有1单。
参数说明
布林带参数
- Inp_BOLL_Period (20):布林周期,所有时间周期统一使用
- Inp_BOLL_Deviation (2.0):标准差倍数,经典设置
趋势过滤参数
- Inp_MinDistanceFromMiddle (30):日线和4小时价格距中轨最小点数,过滤震荡市,黄金可调至50
- Inp_SlopeMinBars (3):判断中轨斜率的K线数,检查趋势方向
- Inp_BreakoutMinPoints (20):1小时突破中轨的最小点数,避免假突破
回调确认参数
- Inp_PullbackMinBars (2):1小时回调至少持续的K线数
- Inp_ConfirmBars (2):15分钟确认K线数量
- Inp_MaxWickRatio (0.4):确认K线最大影线比例,0.4即40%
ATR动态止损
- Inp_ATR_Period (14):ATR周期,标准设置
- Inp_ATR_Multiplier (1.0):ATR倍数,止损 = 布林宽度 + 1倍ATR
- Inp_MinStopLoss (100):最小止损点数
- Inp_MaxStopLoss (400):最大止损点数,黄金可调至500
移动止损参数
- Inp_UseTrailingStop (true):启用移动止损,强烈建议打开
- Inp_BreakEvenRatio (1.0):浮盈1倍止损距离时移到保本
- Inp_LockProfitRatio (2.0):浮盈2倍止损距离时锁定1倍利润
- Inp_TrailingStep (1.0):之后每涨跌1倍止损,止损跟进1倍
交易管理
- Inp_RiskPercent (2.0):单笔风险百分比,保守可改1%
- Inp_RiskRewardRatio (3.0):初始止盈止损比,配合移动止损可扩大
- Inp_MagicNumber (999999):EA魔术号,区分不同策略
- Inp_Comment ("BOLL_PRO"):订单备注
时间过滤
- Inp_UseTimeFilter (true):启用时间过滤
- Inp_StartHour (14):开始交易时间,服务器时间小时数
- Inp_EndHour (23):结束交易时间,默认14:00-23:00避开亚盘震荡
怎么用
- 打开MetaEditor,新建EA文件,粘贴源码,按F7编译
- 在MT5主界面按Ctrl+N打开导航器,找到Expert Advisors下的EA名称
- 拖到图表上,任何周期都可以(EA会自动读取多周期数据)
- 在设置里勾选"允许算法交易",调整参数后确定
- 图表右上角显示笑脸图标表示EA运行中
- 信号出现时EA自动下单,日志窗口会打印详细信息
- 有持仓时不再寻找新信号,等当前单平仓后才继续
适用场景
适合的品种和周期 黄金(XAUUSD)、欧美货币对(EURUSD、GBPUSD等)波动较大的品种。挂在任意周期图表即可,EA会自动读取日线、4小时、1小时、15分钟数据。
适合的行情 单边趋势行情,尤其是有深度回调再恢复的走势。例如欧美盘大涨后亚盘回调,次日欧盘重新突破的情况。
不适合的行情 宽幅震荡、无明确趋势的盘整市。日线和4小时在中轨附近来回穿越时,EA会自动停止信号。重大数据发布前后(非农、美联储决议)建议手动关闭EA,避免剧烈波动导致滑点。
时段建议 默认只在北京时间14:00-23:00(欧美盘)交易,避开亚盘和凌晨时段的假突破。如果交易其他市场,需根据服务器时区调整StartHour和EndHour。
风险提示
信号频率低 多重过滤条件严格,可能一周只有1-2次信号,这是正常现象。追求的是高质量信号而非频繁交易。
不会重绘 所有判断基于已完成的K线([1]索引),不会事后修改历史信号。
止损可能较大 根据布林带宽度和ATR动态计算,波动大时止损可能超过200点。通过RiskPercent参数控制单笔风险,不会因止损大而爆仓。
移动止损可能提前出场 保护利润的代价是可能在趋势未结束时就被止损。如果希望持仓更久,可将LockProfitRatio改为3.0,TrailingStep改为1.5。
回测与实盘差异 布林带在历史数据上表现稳定,但实盘存在滑点和点差。建议先在模拟盘测试2周,观察信号质量和最大回撤。
参数需要优化 默认参数适合黄金H1图,其他品种需调整MinDistanceFromMiddle、MinStopLoss、MaxStopLoss。欧美货币对波动小,可分别改为20、80、300。
常见问题
- 这个EA会重绘信号吗
- 不会。所有判断基于已完成K线(索引[1]),不依赖当前未完成K线,历史信号不会改变。
- 为什么一直没有信号
- EA要求日线、4小时、1小时、15分钟四个周期条件同时满足,且有时间过滤,信号频率低是正常的。可在策略测试器回测查看历史信号数量。
- 黄金以外的品种能用吗
- 可以,但需调整参数。欧美货币对波动小,建议MinDistanceFromMiddle改20,MinStopLoss改80,MaxStopLoss改300。原油、指数等需根据点值和波动自行测试。
- 可以同时挂多个品种吗
- 可以,但每个品种图表需单独挂一个EA实例,且MagicNumber要设置成不同值(如999001、999002)避免冲突。
- 移动止损太激进怎么办
- 将LockProfitRatio改为3.0(浮盈3倍止损时才锁定利润),TrailingStep改为1.5(每1.5倍止损跟进一次),让持仓时间更长。
Multi-Timeframe Bollinger Resonance Pro EA for MT5
An automated trading EA that filters trend on D1/H4, enters on H1 pullback breakout, confirms with M15 candles, uses ATR dynamic stop-loss and trailing stop to protect profits. Suitable for trending markets like gold and forex pairs.
A short source preview is shown above for visitors; full source, copy and compiled EX5 files are available to VIP members.
评论
还没有人评论,来抢个沙发。