如何在 WunderTrading 上自动化运行 Wunder Trend Reversal Bot
前往 Signal Bot(信号机器人) 页面,然后点击 Create Bot(创建机器人)。
在 General(常规) 部分填写所有必要字段,并选择 TradingView Strategy(TradingView 策略) 作为机器人启动条件。
根据需要决定是否设置 Max Capital(最大资金) 限制,然后点击 Create Bot(创建机器人)。系统将显示如下窗口,其中包含 Webhook URL 和占位符(Placeholders)。
保持该窗口处于打开状态,然后前往 TradingView 的 Supercharts(超级图表) 页面。点击 Indicators(指标) 并选择您的策略。
将策略添加到图表后,选择您要交易的 交易对(Trading Pair) 和 时间周期(Timeframe)。
根据需要调整策略的 Inputs(输入参数) 和 Properties(属性),然后点击 OK(确定)。
打开 Alert(警报) 创建窗口,并在 Condition(条件) 字段中选择您的策略。
打开 Message(消息) 标签页,输入警报名称,然后从 Signal Bot 窗口复制 TradingView Strategy JSON,并将其粘贴到 TradingView 警报的 Message(消息) 字段中。
前往 Notifications(通知) 标签页,并填写 Signal Bot 提供的 Webhook URL:
https://wtalerts.com/bot/trading_view_strategy然后点击 Create(创建) 完成配置。
您的机器人现已与 TradingView 完全连接,并能够根据策略信号自动执行交易。每当策略触发警报时,TradingView 都会发送包含已配置占位符(Placeholders)的 Webhook 请求,使机器人能够接收准确的实时订单数据。
在真实市场环境中运行机器人之前,我们强烈建议您先在模拟账户或使用少量资金进行测试,以确保所有设置均按预期正常运行。请仔细检查策略参数、警报配置以及占位符设置,以避免出现执行错误。
完成验证后,您的自动化交易流程将持续运行,无需人工干预。
您还可以随时在 TV Logs(TradingView 日志) 和 Signal Bot Logs(Signal Bot 日志) 中查看和分析您的交易信号。
1. 策略概览
Wunder Trend Reversal Bot 是一种趋势反转策略,通过结合多个技术指标过滤条件来识别潜在的趋势反转点。该策略首先寻找价格创出阶段性新高或新低,然后利用趋势跟踪指标对反转信号进行确认:
高低点过滤器(High/Low Filter):检测价格是否在指定回溯周期内创出新高或新低。
SMA 过滤器(SMA Filter):价格必须位于简单移动平均线之上(多头)或之下(空头)。
Supertrend 指标:用于识别当前市场的主要趋势方向。
MACD 指标:通过 MACD 柱状图穿越零轴来确认动量转换。
高时间周期 EMA(Higher-Timeframe EMA,可选):增加高时间周期趋势过滤和 EMA 斜率确认条件。
当所有条件同时满足时,策略将开立仓位,并使用基于 ATR(平均真实波幅)的止损,同时可选启用止盈(固定 ATR 距离或基于风险回报比自动计算)。策略还内置了 追踪止损(Trailing Stop) 和 移动止损至保本价(Move Stop Loss to Breakeven) 功能,并可向 WunderTrading 发送自动化交易警报,实现全自动执行。
2. 快速开始
将脚本添加到您的 TradingView 图表中。
设置回测时间范围(可选)。
配置 风险与资金管理(Risk & Money Management),定义您的资金规模和单笔交易风险比例。
启用或禁用 止盈(TP) 和 止损(SL),选择是否使用止盈和/或止损功能。
注意: 本版本中的 TP/SL 均基于 ATR 计算,不支持固定百分比方式,仅支持 ATR 动态计算。
调整 ATR 周期(ATR Length) 和 ATR 倍数(ATR Multiplier),以设置所需的止损距离。
根据需要启用或禁用各项过滤器:
HTF EMA(高时间周期 EMA)
High/Low(高低点过滤器)
SMA
Supertrend
MACD
默认设置下所有过滤器均已启用。建议先使用默认参数运行,然后再根据需要进行优化。
设置交易方向:
Long(仅做多)
Short(仅做空)
Both(双向交易)
None(不交易)
如有需要,配置 追踪止损(Trailing Stop) 和 移动止损至保本价(Breakeven) 功能。
设置用于自动化交易信号的 WunderTrading 注释(Comments)。
运行回测并评估策略表现。
3. 输入参数说明
所有输入参数均按功能分组显示在脚本的设置面板中。下文将详细介绍每个参数的用途,包括其数据类型、取值范围、默认值,以及影响其显示或启用状态的相关条件。
3.1 回测时间范围
参数 | 类型 | 取值范围 | 默认值 | 说明 |
Start |
| true/false | false | 启用开始日期限制。 |
Start Period |
| any valid timestamp |
| 回测时间范围的开始日期。 |
Finish |
| true/false | false | 启用结束日期限制。 |
End Period |
| any valid timestamp |
| 回测时间范围的结束日期。 |
注意:必须同时启用这两个开关,日期过滤器才会生效。
3.2 风险与资金管理
参数 | 类型 | 取值范围 | 默认值 | 说明 |
Capital $ |
| min=1, max=1,000,000 | 1000 | 用于计算仓位规模的资金金额。 |
Volume in contract |
| true/false | true | 启用后按合约数量计算仓位;禁用后按计价货币金额计算。此设置会影响策略测试器和 Webhook 信号。 |
Risk Per Trade % (visible only when the inline toggle is enabled) |
| min=0.01, step=0.1 | 3.0 | 启用止损时,每笔交易承担的资金风险比例。 |
3.3 策略设置(止盈/止损)
参数 | 类型 | 取值范围 | 默认值 | 说明 |
Use TP |
| true/false | false | 启用止盈功能。止盈价格按“开仓价 ± ATR × 倍数(Multiplier)”计算。 |
Use SL |
| true/false | false | 启用止损功能。止损价格按以下方式计算:多头仓位为最低价 − ATR × 倍数(Multiplier),空头仓位为最高价 + ATR × 倍数(Multiplier) |
注意:当前版本不提供固定百分比的止盈(TP)和止损(SL)参数,所有止盈和止损均基于 ATR(平均真实波幅)进行计算。
3.4 ATR 止盈/止损
仅在启用止盈(Use TP)或止损(Use SL)时显示。
参数 | 类型 | 取值范围 | 默认值 | 说明 |
ATR length |
| min=1 | 14 | 用于计算平均真实波幅(ATR)的回溯周期。 |
SL multiplier |
| min=0, step=0.01 | 0.9 | 应用于 ATR 的倍数,用于确定止损距离。对于止盈,同样使用该倍数,并以相反方向计算(开仓价 ± ATR × 倍数)。 |
3.5 风险回报比
本部分允许根据设定的风险回报比(Risk/Reward Ratio)自动从止损距离推导止盈目标,并覆盖默认基于 ATR 计算的止盈设置。
参数 | 类型 | 取值范围 / 选项 | 默认值 | 说明 / 生效条件 |
condition RR |
| true/false | true | 风险回报比(Risk/Reward Ratio)总开关。关闭后,止盈(TP)将按照 ATR × 倍数(Multiplier)的固定距离进行计算。 |
simple fraction / Decimal |
| Simple fr, Decimal | Simple fr | 选择风险回报比(RR)的表示方式。 |
Risk (simple fraction) |
| min=1, max=100 | 4 | 风险回报比分数形式的分子。(仅在选择“Simple Fraction(简单分数)”时生效。) |
Reward (simple fraction) |
| min=1, max=100 | 5 | 风险回报比分数形式的分母。(仅在选择“Simple Fraction(简单分数)”时生效。) |
decimal RR |
| min=0.01, max=99.99 | 0.50 | 风险回报比的小数值(例如:0.5 表示风险回报比为 1:2)。(仅在选择“Decimal(小数)”时生效。) |
注意:RR(风险回报比)按“风险 ÷ 回报”计算。如果 RR = 0.5,则止盈(TP)距离将设置为止损(SL)距离的两倍。
3.6 核心设置(交易方向)
参数 | 类型 | 选项 | 默认值 | 说明 |
Trade direction |
| LONG, SHORT, BOTH, NONE | BOTH | 限制策略允许开仓的交易方向。 |
3.7 追踪止损(Trailing Stop)
参数 | 类型 | 取值范围 | 默认 | 说明 |
Use TS |
| true/false | true | 启用追踪止损功能。 |
Trailing Stop Activation (%) |
| min=0.01, step=0.1 | 2.0 | 从开仓价格开始计算,达到指定价格变动百分比后激活追踪止损。 |
Trailing Stop Execution (%) |
| min=0.01, step=0.1 | 1.0 | 追踪止损激活后,止损位将设置在最高价(多头)或最低价(空头)之后指定的百分比距离处。 |
3.8 移动止损至保本价 (Move Stop Loss to Breakeven)
参数 | 类型 | 取值范围 | 默认值 | 说明 |
Use MSL |
| true/false | true | 启用移动止损至保本价功能。 |
MSL activation (%) |
| min=0.01, step=0.1 | 0.5 | 从开仓价格开始计算,达到指定价格变动百分比后,将止损位移动至保本价(开仓价)。 |
3.9 高时间周期 EMA(Higher-Timeframe EMA)
该模块从更高时间周期计算 EMA(指数移动平均线),并可选择将其斜率作为额外的过滤条件。
参数 | 类型 | 取值范围 | 默认值 | 说明 / 生效条件 |
Enable HTF EMA |
| true/false | false | 高时间周期 EMA 模块总开关。 |
EMA timeframe |
| any valid TF (e.g., 60, 240, D, W) | 'D' | 用于获取 EMA 数据的高时间周期。 |
EMA length |
| min=1 | 20 | EMA(指数移动平均线)的计算周期。 |
Color by slope |
| true/false | false | 启用后,EMA 线将根据其斜率自动变色:斜率大于正阈值显示为绿色,斜率小于负阈值显示为红色,其余情况显示为白色。 |
Slope gate |
| true/false | false | 启用后,只有当 EMA 斜率确认趋势方向时才允许开仓:斜率大于正阈值允许多头开仓,斜率小于负阈值允许空头开仓。 |
Smoothing length |
| min=1 | 10 | 应用于高时间周期 EMA 的二次 EMA 平滑周期,用于平滑斜率计算。(仅在启用“按斜率着色”或“斜率过滤”时生效。) |
Slope threshold |
| min=0, step=0.001 | 0.001 | 用于判断 EMA 斜率为正或为负的阈值(以价格单位表示)。 |
EMA 将绘制在主图上(force_overlay=true)。当“按斜率着色”和“斜率过滤”均被禁用时,EMA 仍会显示在图表中,但不会作为交易过滤条件使用
3.10 高低点过滤器(High/Low Filter)
当价格创出新的高点或低点时,该过滤器会被触发,并随后寻找趋势反转确认信号。
参数 | 类型 | 取值范围 | 默认值 | 说明 |
Enable High/Low filter |
| true/false | true | 总开关。 |
Lookback (bars) |
| min=1 | 5 | 用于判断新高/新低的回溯 K 线数量。当某根 K 线的最高价 ≥ 指定回溯周期内的最高价( |
OR window (bars) |
| min=1, max=20 | 4 | 策略会检查最近指定数量的 K 线(包含当前 K 线),判断其中是否有任何一根 K 线创出新高或新低。如果窗口内至少有一根 K 线满足条件,则该条件成立。不过,最终开仓还要求当前 K 线本身也必须创出新高或新低(详见下方说明)。 |
注意: 最终入场条件要求同时满足“扫描窗口内出现过新高/新低”和“当前 K 线本身创出新高/新低”两个条件。因此,仅有 OR 窗口满足条件并不足以触发交易,当前 K 线也必须符合新高/新低要求。
3.11 SMA 过滤器(SMA Filter)
参数 | 类型 | 取值范围 | 默认值 | 说明 |
Enable SMA Filter |
| true/false | true | 总开关。 |
SMA length |
| min=1 | 20 | 简单移动平均线(SMA)的计算周期。 |
多头条件:价格必须位于 SMA 之上;空头条件:价格必须位于 SMA 之下
3.12 Supertrend 指标(Supertrend)
参数 | 类型 | 取值范围 | 默认值 | 说明 |
Enable Supertrend filter |
| true/false | true | 总开关。 |
ATR Length |
| min=1 | 100 | 用于计算 Supertrend 指标的 ATR 周期。 |
Factor |
| min=0.01, step=0.01 | 8.0 | 应用于 ATR 的倍数,用于确定 Supertrend 通道宽度。 |
Supertrend 趋势方向:
direction < 0→ 上升趋势(允许多头开仓)direction > 0→ 下降趋势(允许空头开仓)
Supertrend 指标会在 K 线中间位置与 Supertrend 线之间绘制彩色填充区域,以直观显示当前趋势方向。
3.13 MACD
参数 | 类型 | 取值范围 | 默认值 | 说明 |
Enable MACD filter |
| true/false | true | 总开关。 |
Fast Length |
| min=1 | 12 | 快速 EMA(指数移动平均线)周期。 |
Slow Length |
| min=1 | 26 | 慢速 EMA(指数移动平均线)周期。 |
Signal Smoothing |
| min=1, max=50 | 9 | 信号线周期。 |
Oscillator MA Type |
| SMA, EMA | EMA | 用于计算 MACD 线的移动平均线(MA)类型。 |
Signal Line MA Type |
| SMA, EMA | EMA | 用于计算信号线(Signal Line)的移动平均线(MA)类型。 |
MACD 柱状图(Histogram)作为交易过滤条件使用:
多头条件:Histogram < 0(MACD 位于信号线下方,表明市场可能从空头动能转向多头反转)。
空头条件:Histogram > 0(MACD 位于信号线上方,表明市场可能从多头动能转向空头反转)。
MACD 指标显示在独立指标窗口中(force_overlay=false),不会叠加在主图上。
3.14 WunderTrading 机器人注释
这些注释将被添加到警报消息中,用于 WunderTrading 机器人识别对应操作。其内容必须与机器人设置中的注释配置一致。
参数 | 类型 | Default | Description |
Enter Long Comment |
| 'Add me' | 用于多头开仓信号的 WunderTrading Signal Bot 注释。 |
Exit Long Comment |
| 'Add me' | 用于多头平仓信号的 WunderTrading Signal Bot 注释。 |
Enter Short Comment |
| 'Add me' | 用于空头开仓信号的 WunderTrading Signal Bot 注释。 |
Exit Short Comment |
| 'Add me' | 用于空头平仓信号的 WunderTrading Signal Bot 注释。 |
Exit All Comment |
| 'Add me' | (当前版本暂未使用,预留供未来版本使用。) |
5. 最佳实践
5.1 资金与风险管理
使用符合实际情况的资金规模 —— 请使用您计划实际投入交易的资金金额。
单笔交易风险(Risk per Trade) —— 建议采用较为保守的风险水平(1%–2%)。默认值 3% 属于中等偏激进的设置。
按合约数量显示仓位(Volume in Contract) —— 建议保持启用(true),以获得更符合实际情况的回测结果(仓位按合约数量计算)。仅当您需要向 WunderTrading 发送基于美元金额的交易信号时才建议关闭;关闭后,Webhook 将发送以计价货币表示的交易量。
5.2 过滤器选择
该策略结合了五个独立过滤器。虽然这有助于减少虚假信号,但也可能导致交易次数显著减少。您可以关闭部分过滤器以提高交易频率。
建议先使用默认设置(所有过滤器均启用)观察策略表现。如果交易次数过少,可以考虑关闭在您所交易市场中效果最弱的过滤器。
优化参数时,建议一次仅调整一个过滤器或参数,以便准确评估其对策略表现的影响。
5.3 高低点过滤器
回溯周期决定价格创出的高点或低点需要有多“新”。
较小的数值(如 3–5)会产生更多交易信号;
较大的数值(如 10–20)则要求更严格。
OR 扫描窗口目前在逻辑上存在一定程度的冗余(详见 3.10 节说明),通常保持默认值即可。
5.4 SMA 过滤器
SMA 周期应与您的交易时间周期相匹配。
长度为 20 的 SMA 是较常见的短期趋势过滤器设置。
5.5 Supertrend
Supertrend 对参数设置较为敏感。
较高的 ATR 周期和 ATR 倍数会产生更加平滑、灵敏度更低的趋势信号。
建议先使用默认参数,然后根据市场波动率逐步调整。
5.6 MACD
MACD 过滤器使用的是柱状图(Histogram)的正负值,而非 MACD 线与信号线的交叉。
对于趋势反转策略而言,MACD 柱状图穿越零轴通常被视为较可靠的动量转换信号。
您可以尝试不同的移动平均线类型(SMA 或 EMA)以及不同周期参数进行优化。
5.7 高时间周期 EMA
该过滤器属于可选功能,但非常强大。启用后,策略会引入更高时间周期的趋势背景作为过滤条件。
EMA 斜率过滤(Slope Gate)可能显著减少交易次数,因此建议仅在您希望严格顺应高时间周期趋势时启用。
斜率阈值应根据交易品种的价格尺度进行调整。建议从较小的数值(例如 0.001)开始测试,然后逐步优化。
5.8 止盈/止损与风险回报比
默认情况下,Use TP 和 Use SL 均处于关闭状态。启用后即可配置出场条件。
当同时启用 TP 和 SL 时,您可以选择:
基于 ATR 的固定距离止盈;
基于风险回报比(RR)的止盈。
风险回报比方式通常更加稳定,因为其会根据止损距离自动调整止盈目标。
ATR 倍数决定止损距离:
较大的 ATR 倍数意味着更宽的止损空间;
在相同风险百分比下,单笔交易仓位将相应减小。
请根据市场波动情况进行调整。
5.9 追踪止损与保本止损
这两项功能默认均已启用。
它们有助于锁定利润,但在高波动市场中也可能过于敏感,从而导致过早离场。
建议通过回测测试不同的触发百分比设置。
追踪止损的工作方式为:
达到激活条件;
激活追踪止损;
按设定百分比跟随价格移动。
这是交易系统中常见的追踪止损实现方式。
5.10 回测
使用具有代表性的时间范围 —— 回测数据应同时包含趋势行情和震荡行情。
谨慎优化参数 —— 避免过度拟合(Overfitting)。建议使用样本外数据(Out-of-Sample Data)进行验证。
检查前视偏差(Look-Ahead Bias) —— 脚本使用收盘价作为入场价格,这意味着系统假设交易在信号 K 线收盘时执行。而在实际交易中,订单通常会在下一根 K 线开盘时执行。因此,回测结果可能会略微高估策略表现。评估结果时请考虑这一因素。
手续费设置 —— 默认手续费为 0.075%。请确保该数值与您的交易所或经纪商实际手续费一致。
6. 重要说明与限制
不支持固定百分比 TP/SL —— 当前版本仅支持基于 ATR 的止损和止盈。如需使用固定百分比方式,需自行修改脚本。
Pyramiding(加仓层数)设置为 0 —— 策略任意时刻仅允许持有一个仓位。
保证金(Margin)设置为 0 —— 策略不使用杠杆,仓位规模完全基于实际资金计算。
高低点过滤器的 OR 窗口逻辑可能存在冗余 —— 由于最终条件仍要求当前 K 线创出新高或新低,因此 OR 窗口本身并不会直接触发交易。这可能是设计选择,也可能是遗留逻辑,但不会影响策略正常运行。
高时间周期 EMA 使用
request.security()获取数据 —— 参数设置为lookahead = barmerge.lookahead_on和gaps = barmerge.gaps_off。这种实现方式使用的是已完成的上一根高时间周期 K 线数据,从而避免前视偏差。MACD 显示在独立指标窗口中 —— 如果您希望将其显示在主图中,可以将相关绘图代码中的
force_overlay修改为true。Supertrend 的颜色填充区域 使用 K 线中点
((open + close) / 2)作为参考位置。这仅用于视觉展示,不会影响任何交易计算结果。
Wunder Trend Reversal Bot 通过多重过滤机制(高低点过滤器、SMA、Supertrend、MACD 以及可选的高时间周期 EMA)来识别潜在的趋势反转机会。
这种多层过滤结构能够有效提高信号质量,但如果未经充分验证,也可能增加过度拟合(Overfitting)的风险。
与所有自动化交易策略一样,历史回测表现并不代表未来收益。
为了安全地使用该策略,强烈建议您先在模拟账户中结合实时市场数据进行测试。这将帮助您:
观察策略在当前市场环境中的实际表现;
优化参数设置;
确认策略逻辑是否符合您的交易风格。
模拟交易能够帮助您在积累经验的同时避免代价高昂的错误。
请始终坚持合理的风险管理原则,并且不要投入超出您承受能力范围的资金。














