跳转到主要内容

Wunder Trend Reversal Bot:配置指南与交易策略

本文档介绍如何使用 Wunder Trend Reversal Bot——一款专为通过 TradingView 与 WunderTrading 实现自动化交易而设计的多重过滤趋势反转策略。文档涵盖了所有输入参数及其取值范围、交易信号背后的逻辑、与 WunderTrading 的集成方式,以及回测和实盘交易的最佳实践。

作者:Jacob

如何在 WunderTrading 上自动化运行 Wunder Trend Reversal Bot

  1. 前往 Signal Bot(信号机器人) 页面,然后点击 Create Bot(创建机器人)

  2. General(常规) 部分填写所有必要字段,并选择 TradingView Strategy(TradingView 策略) 作为机器人启动条件。

  3. 根据需要决定是否设置 Max Capital(最大资金) 限制,然后点击 Create Bot(创建机器人)。系统将显示如下窗口,其中包含 Webhook URL 和占位符(Placeholders)。

  4. 保持该窗口处于打开状态,然后前往 TradingView 的 Supercharts(超级图表) 页面。点击 Indicators(指标) 并选择您的策略。

  5. 将策略添加到图表后,选择您要交易的 交易对(Trading Pair)时间周期(Timeframe)

  6. 根据需要调整策略的 Inputs(输入参数)Properties(属性),然后点击 OK(确定)

  7. 打开 Alert(警报) 创建窗口,并在 Condition(条件) 字段中选择您的策略。

  8. 打开 Message(消息) 标签页,输入警报名称,然后从 Signal Bot 窗口复制 TradingView Strategy JSON,并将其粘贴到 TradingView 警报的 Message(消息) 字段中。

  9. 前往 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. 快速开始

  1. 将脚本添加到您的 TradingView 图表中。

  2. 设置回测时间范围(可选)。

  3. 配置 风险与资金管理(Risk & Money Management),定义您的资金规模和单笔交易风险比例。

  4. 启用或禁用 止盈(TP)止损(SL),选择是否使用止盈和/或止损功能。

    注意: 本版本中的 TP/SL 均基于 ATR 计算,不支持固定百分比方式,仅支持 ATR 动态计算。

  5. 调整 ATR 周期(ATR Length)ATR 倍数(ATR Multiplier),以设置所需的止损距离。

  6. 根据需要启用或禁用各项过滤器:

    • HTF EMA(高时间周期 EMA)

    • High/Low(高低点过滤器)

    • SMA

    • Supertrend

    • MACD

  7. 默认设置下所有过滤器均已启用。建议先使用默认参数运行,然后再根据需要进行优化。

  8. 设置交易方向:

    • Long(仅做多)

    • Short(仅做空)

    • Both(双向交易)

    • None(不交易)

  9. 如有需要,配置 追踪止损(Trailing Stop)移动止损至保本价(Breakeven) 功能。

  10. 设置用于自动化交易信号的 WunderTrading 注释(Comments)

  11. 运行回测并评估策略表现。

3. 输入参数说明

所有输入参数均按功能分组显示在脚本的设置面板中。下文将详细介绍每个参数的用途,包括其数据类型、取值范围、默认值,以及影响其显示或启用状态的相关条件。

3.1 回测时间范围

参数

类型

取值范围

默认值

说明

Start

bool

true/false

false

启用开始日期限制。

Start Period

time

any valid timestamp

24 Mar 2023 00:00 +0300

回测时间范围的开始日期。

Finish

bool

true/false

false

启用结束日期限制。

End Period

time

any valid timestamp

24 Mar 2025 23:59 +0300

回测时间范围的结束日期。

注意:必须同时启用这两个开关,日期过滤器才会生效。


3.2 风险与资金管理

参数

类型

取值范围

默认值

说明

Capital $

int

min=1, max=1,000,000

1000

用于计算仓位规模的资金金额。

Volume in contract

bool

true/false

true

启用后按合约数量计算仓位;禁用后按计价货币金额计算。此设置会影响策略测试器和 Webhook 信号。

Risk Per Trade % (visible only when the inline toggle is enabled)

float

min=0.01, step=0.1

3.0

启用止损时,每笔交易承担的资金风险比例。


3.3 策略设置(止盈/止损)

参数

类型

取值范围

默认值

说明

Use TP

bool

true/false

false

启用止盈功能。止盈价格按“开仓价 ± ATR × 倍数(Multiplier)”计算。

Use SL

bool

true/false

false

启用止损功能。止损价格按以下方式计算:多头仓位为最低价 − ATR × 倍数(Multiplier),空头仓位为最高价 + ATR × 倍数(Multiplier)

注意:当前版本不提供固定百分比的止盈(TP)和止损(SL)参数,所有止盈和止损均基于 ATR(平均真实波幅)进行计算。


3.4 ATR 止盈/止损

仅在启用止盈(Use TP)或止损(Use SL)时显示。

参数

类型

取值范围

默认值

说明

ATR length

int

min=1

14

用于计算平均真实波幅(ATR)的回溯周期。

SL multiplier

float

min=0, step=0.01

0.9

应用于 ATR 的倍数,用于确定止损距离。对于止盈,同样使用该倍数,并以相反方向计算(开仓价 ± ATR × 倍数)。


3.5 风险回报比

本部分允许根据设定的风险回报比(Risk/Reward Ratio)自动从止损距离推导止盈目标,并覆盖默认基于 ATR 计算的止盈设置。

参数

类型

取值范围 / 选项

默认值

说明 / 生效条件

condition RR

bool

true/false

true

风险回报比(Risk/Reward Ratio)总开关。关闭后,止盈(TP)将按照 ATR × 倍数(Multiplier)的固定距离进行计算。

simple fraction / Decimal

string

Simple fr, Decimal

Simple fr

选择风险回报比(RR)的表示方式。

Risk (simple fraction)

int

min=1, max=100

4

风险回报比分数形式的分子。(仅在选择“Simple Fraction(简单分数)”时生效。)

Reward (simple fraction)

int

min=1, max=100

5

风险回报比分数形式的分母。(仅在选择“Simple Fraction(简单分数)”时生效。)

decimal RR

float

min=0.01, max=99.99

0.50

风险回报比的小数值(例如:0.5 表示风险回报比为 1:2)。(仅在选择“Decimal(小数)”时生效。)

  • 注意:RR(风险回报比)按“风险 ÷ 回报”计算。如果 RR = 0.5,则止盈(TP)距离将设置为止损(SL)距离的两倍。


3.6 核心设置(交易方向)

参数

类型

选项

默认值

说明

Trade direction

string

LONG, SHORT, BOTH, NONE

BOTH

限制策略允许开仓的交易方向。


3.7 追踪止损(Trailing Stop)

参数

类型

取值范围

默认

说明

Use TS

bool

true/false

true

启用追踪止损功能。

Trailing Stop Activation (%)

float

min=0.01, step=0.1

2.0

从开仓价格开始计算,达到指定价格变动百分比后激活追踪止损。

Trailing Stop Execution (%)

float

min=0.01, step=0.1

1.0

追踪止损激活后,止损位将设置在最高价(多头)或最低价(空头)之后指定的百分比距离处。


3.8 移动止损至保本价 (Move Stop Loss to Breakeven)

参数

类型

取值范围

默认值

说明

Use MSL

bool

true/false

true

启用移动止损至保本价功能。

MSL activation (%)

float

min=0.01, step=0.1

0.5

从开仓价格开始计算,达到指定价格变动百分比后,将止损位移动至保本价(开仓价)。


3.9 高时间周期 EMA(Higher-Timeframe EMA)

该模块从更高时间周期计算 EMA(指数移动平均线),并可选择将其斜率作为额外的过滤条件。

参数

类型

取值范围

默认值

说明 / 生效条件

Enable HTF EMA

bool

true/false

false

高时间周期 EMA 模块总开关。

EMA timeframe

timeframe

any valid TF (e.g., 60, 240, D, W)

'D'

用于获取 EMA 数据的高时间周期。

EMA length

int

min=1

20

EMA(指数移动平均线)的计算周期。

Color by slope

bool

true/false

false

启用后,EMA 线将根据其斜率自动变色:斜率大于正阈值显示为绿色,斜率小于负阈值显示为红色,其余情况显示为白色。

Slope gate

bool

true/false

false

启用后,只有当 EMA 斜率确认趋势方向时才允许开仓:斜率大于正阈值允许多头开仓,斜率小于负阈值允许空头开仓。

Smoothing length

int

min=1

10

应用于高时间周期 EMA 的二次 EMA 平滑周期,用于平滑斜率计算。(仅在启用“按斜率着色”或“斜率过滤”时生效。)

Slope threshold

float

min=0, step=0.001

0.001

用于判断 EMA 斜率为正或为负的阈值(以价格单位表示)。

EMA 将绘制在主图上(force_overlay=true)。当“按斜率着色”和“斜率过滤”均被禁用时,EMA 仍会显示在图表中,但不会作为交易过滤条件使用


3.10 高低点过滤器(High/Low Filter)

当价格创出新的高点或低点时,该过滤器会被触发,并随后寻找趋势反转确认信号。

参数

类型

取值范围

默认值

说明

Enable High/Low filter

bool

true/false

true

总开关。

Lookback (bars)

int

min=1

5

用于判断新高/新低的回溯 K 线数量。当某根 K 线的最高价 ≥ 指定回溯周期内的最高价(highest(high, lookback))时,视为创出新高;同理,当最低价 ≤ 指定回溯周期内的最低价时,视为创出新低。

OR window (bars)

int

min=1, max=20

4

策略会检查最近指定数量的 K 线(包含当前 K 线),判断其中是否有任何一根 K 线创出新高或新低。如果窗口内至少有一根 K 线满足条件,则该条件成立。不过,最终开仓还要求当前 K 线本身也必须创出新高或新低(详见下方说明)。

注意: 最终入场条件要求同时满足“扫描窗口内出现过新高/新低”和“当前 K 线本身创出新高/新低”两个条件。因此,仅有 OR 窗口满足条件并不足以触发交易,当前 K 线也必须符合新高/新低要求。


3.11 SMA 过滤器(SMA Filter)

参数

类型

取值范围

默认值

说明

Enable SMA Filter

bool

true/false

true

总开关。

SMA length

int

min=1

20

简单移动平均线(SMA)的计算周期。

多头条件:价格必须位于 SMA 之上;空头条件:价格必须位于 SMA 之下


3.12 Supertrend 指标(Supertrend)

参数

类型

取值范围

默认值

说明

Enable Supertrend filter

bool

true/false

true

总开关。

ATR Length

int

min=1

100

用于计算 Supertrend 指标的 ATR 周期。

Factor

float

min=0.01, step=0.01

8.0

应用于 ATR 的倍数,用于确定 Supertrend 通道宽度。

Supertrend 趋势方向:

  • direction < 0 → 上升趋势(允许多头开仓)

  • direction > 0 → 下降趋势(允许空头开仓)

Supertrend 指标会在 K 线中间位置与 Supertrend 线之间绘制彩色填充区域,以直观显示当前趋势方向。


3.13 MACD

参数

类型

取值范围

默认值

说明

Enable MACD filter

bool

true/false

true

总开关。

Fast Length

int

min=1

12

快速 EMA(指数移动平均线)周期。

Slow Length

int

min=1

26

慢速 EMA(指数移动平均线)周期。

Signal Smoothing

int

min=1, max=50

9

信号线周期。

Oscillator MA Type

string

SMA, EMA

EMA

用于计算 MACD 线的移动平均线(MA)类型。

Signal Line MA Type

string

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

string

'Add me'

用于多头开仓信号的 WunderTrading Signal Bot 注释。

Exit Long Comment

string

'Add me'

用于多头平仓信号的 WunderTrading Signal Bot 注释。

Enter Short Comment

string

'Add me'

用于空头开仓信号的 WunderTrading Signal Bot 注释。

Exit Short Comment

string

'Add me'

用于空头平仓信号的 WunderTrading Signal Bot 注释。

Exit All Comment

string

'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 TPUse 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_ongaps = barmerge.gaps_off。这种实现方式使用的是已完成的上一根高时间周期 K 线数据,从而避免前视偏差。

  • MACD 显示在独立指标窗口中 —— 如果您希望将其显示在主图中,可以将相关绘图代码中的 force_overlay 修改为 true

  • Supertrend 的颜色填充区域 使用 K 线中点 ((open + close) / 2) 作为参考位置。这仅用于视觉展示,不会影响任何交易计算结果。

Wunder Trend Reversal Bot 通过多重过滤机制(高低点过滤器、SMA、Supertrend、MACD 以及可选的高时间周期 EMA)来识别潜在的趋势反转机会。

这种多层过滤结构能够有效提高信号质量,但如果未经充分验证,也可能增加过度拟合(Overfitting)的风险。

与所有自动化交易策略一样,历史回测表现并不代表未来收益。

为了安全地使用该策略,强烈建议您先在模拟账户中结合实时市场数据进行测试。这将帮助您:

  • 观察策略在当前市场环境中的实际表现;

  • 优化参数设置;

  • 确认策略逻辑是否符合您的交易风格。

模拟交易能够帮助您在积累经验的同时避免代价高昂的错误。

请始终坚持合理的风险管理原则,并且不要投入超出您承受能力范围的资金。

这是否解答了您的问题?