【SuperTrend超级趋势(反转过滤版) 】超级趋势只是名字。真逻辑是箱体突破 + 多重过滤

| 发表于 1 小时前 | 显示全部楼层 |复制链接
这款EA,网上发的已有很多版本,下面再讲下这EA,按模块拆开说:

1. 它真实是什么策略
名字虽然写 超级趋,但其实代码全文没有任何 ATR / SuperTrend 线计算。它是一套箱体(区间)高抛低吸 + 轻微突破偏置的策略:在 N 根 K 线的价格箱体内,贴近下沿(支撑)时买、贴近上沿(阻力)时平;同时用"价格已突破近 66 根 K 线最低点"做一点趋势方向偏置。每个品种/图表同一时刻只持有 1 张同向单。

2. 入场逻辑(函数 pojie_5 = 开多,约第 675–798 行)
逐条条件(开多为例):

交易时段:StartHour:StartMinute ~ StopHour:StopMinute(默认 0:00–24:00,等于不限制);周五另有 FridayProhibitStartHour(默认 24=关闭)。
无同单:遍历 OrdersTotal,存在同 MAGIC=8888888、同品种、同类型(OP_BUY)的挂单就 return,保证单仓。
止损价:取 SLPeriod(66) 内最低价 子_2_do,再夹到区间 [Bid − MaxSL×PointX×Point, Bid − MinSL×PointX×Point],即 MinSL=25、MaxSL=1500 点之间。
止盈价:子_4_do = 2×子_1_do − 子_2_do(区间最高×2 − 最低),是个偏远的固定 TP。
手数:Lots<=0 用 InitLots=0.01;否则按净值缩放 Lots/BasicEquity(300)×AccountEquity(),再夹在平台 min/max 内。
趋势偏置:Close[1] − 66根最低 > TrendGap(60)×PointX(10)×Point 才给多单放行(价格已偏离近期底部)。
箱体位置过滤(pojie_9(0)):见第 4 节。
其它闸门:Bid < Close[1] + 2×PointX×Point(不追暴涨)、MarketInfo(Symbol,13) 点差 < Spread(3)×PointX(点差校验)。
全部满足才 OrderSend(OP_BUY, ...,SL,TP,...),且 SL/TP 是真实发给券商的。
3. 出场逻辑(pojie_7 = 平多,约第 920–1054 行;pojie_8 = 平空对称)
三种平仓,按顺序:

反转出场(默认关):UseReversalExit 且 IsTrend(1) 且检测到 RSI 顶背离 + 头肩顶形态 + 放量破颈线 → 平多。
箱体平仓水平:当 Close[1] > OSC(9) 上一根最高 且"位置百分比 > −(100−LongCloseLevel=88) = −12"(即价格已到箱体上沿 12% 内)→ 平多。这正对应"到阻力位获利了结"。
盈利平仓:若持仓平均每张利润 > ProfitPoint(20)×10 = 200 点 → 平。
ExitSelect=1(立即出场) 每 tick 检查;=0(下根K线出场) 用 总_3_do!=Bars 门控只在换新 K 线时跑。

4. 核心:"箱体位置百分比"算法(pojie_9,约第 1193–1225 行)
子_3 = 9根最高(当根)   子_4 = 9根最低(当根)
子_7 = (子_3 − Close[1]) × (−100) ÷ (子_3 − 子_4)
含义:现价在箱体顶部→0,在底部→−100。

开多:子_7 < LongEntryLevel(10)−100 = −90 → 现价落在箱体最底下 10%(贴近支撑)才买;且 Close[1] < 子_6(低于上一根最低)。
开空:对称,子_7 > −ShortEntryLevel(−90) → 现价在箱体最顶上 10%(贴近阻力)才空。
配合 OSCGap(12)×PointX×Point 的间距门槛,避免箱体太扁时乱开。
这就是整套策略的"灵魂":箱体底部买、顶部卖。

以下为新增:
5. 反转三重过滤(默认全关,需手动开)
IsTrend(dir):最近 RevTrendBars(8) 根收盘价逐级同向,且 SMA20 斜率同向。
DetectDivergence():RevLookback(50) 内取 RSI(14),找"价格更高/RSI 更低"的两次摆动高=顶背离(返1),或"价格更低/RSI 更高"的两次摆动低=底背离(返−1)。
DetectReversalPattern():识别吞没 / 孕线 / 三 K 线反转,返回颈线价位与多空方向。
CheckBreakAndVolume():现价突破颈线且 Volume[0] > 20根均量 × RevVolumeMult(1.5) 才确认。
开仓时(UseReversalFilter)用于阻止反向反转单;持仓时(UseReversalExit)用于主动离场。
6. 斐波那契过滤(默认关)
CalculateFiboSignal():在 [斐波那契取值K线开始=1, 结束=20] 区间取最高/最低,算 23.6% / 76.4% 两条水平。现价 > 76.4% → 看空(−1),< 23.6% → 看多(+1),中间无信号。若 新闻开单模式=ToAvoidNews,则当根或上一根 K 线振幅 ≥ 单根K线波动点数(500)×Point 时抑制信号(规避数据/新闻波动)。开仓处 if(启用斐波那契信号过滤 && Fibo_Signal != 1) return; 强制方向一致。

7. 多品种自动缩放(默认开)
DetectInstrumentType() 把品种映射到 0–7(XAUUSD/XAGUSD/USDJPY/USOIL/NAS100/GBPJPY/BTCUSD/XNGUSD)。CalcPipMultiplier() / CalcProfitScale() 给出每品种的点值与点距倍数,ApplyInstrumentScaling() 把 TrendGap / OSCGap / MinSL / MaxSL / Spread / ProfitPoint / 利润锁定 / 追踪止损 全部按倍数缩放。所以同一套输入参数挂不同品种会自动适配(XAUUSD 不缩放,其它按属性放大/缩小),OnInit 里打印调试信息。
a4099bd8-59eb-41e0-851a-e37fe3cd2f36.png 31f333da-134f-4bed-b99f-8ca6de04d651.png 本EA本人默认参数试跑段时间,准确率时好时差。综合结果还是正向盈利的,有兴趣的,可以下载继续优化调整参数。或许能跑出更好结果!小白请勿下载,不懂修改代码的请勿下!谢谢 044eeeabfee5b68e19985d9265e0bd1c.jpg
f940f52e-c06f-45a1-be21-107eceb8b1e6.png
filetype

SuperTrend超级趋势 反转过滤版 多品种版.mq4

85.7 KB, 下载次数: 0, 下载积分: 活跃度 -5 售价: 3 H币  [记录]  [购买]

filetype

SuperTrend超级趋势 反转过滤版 多品种版.ex4

66.64 KB, 下载次数: 0, 下载积分: 活跃度 -5 售价: 2 H币  [记录]  [购买]

评分
  • 1
  • 2
  • 3
  • 4
  • 5
平均分:NAN    参与人数:0    我的评分:未评 下载时遇到问题?
举报

评论 使用道具

发新帖
EA交易
您需要登录后才可以评论 登录 | 立即注册