跳转到主要内容

Wunder Keltner Bot:设置指南与交易策略

Wunder Keltner Bot 基于凯特纳通道(Keltner Channel)突破策略。

作者:Jacob

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

  1. 进入 Signal Bot 页面并点击 Create Bot。

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

  3. 根据需要设置 Max Capital(最大资金限制),然后点击 Create Bot。

  4. 保持该窗口打开,前往 TradingView Supercharts,点击 Indicators 并选择您的策略。

  5. 选择交易对和时间周期。

  6. 调整策略 Inputs 与 Properties,然后点击 OK。

  7. 创建 Alert,并在 Condition 中选择该策略。

  8. 在 Message 标签页中输入警报名称,将 Signal Bot 窗口中的 TradingView Strategy JSON 复制到 TradingView 警报消息中。

  9. 在 Notifications 中填写 Webhook URL:https://wtalerts.com/bot/trading_view_strategy,然后点击 Create。

您的机器人现已与 TradingView 完全连接,并已准备好根据策略信号自动执行交易。每当策略触发警报时,TradingView 都会发送包含已配置占位符(Placeholders)的 Webhook 请求,使机器人能够接收准确的实时订单数据。

在真实市场环境中运行机器人之前,我们强烈建议您先在模拟账户或使用少量资金进行测试,以确保所有设置均按预期正常运行。请再次检查您的策略设置、警报配置以及占位符参数,以避免出现执行错误。

完成验证后,您的自动化交易流程将持续运行,无需任何人工干预。

您还可以随时在 TV LogsSignal Bot Logs 中查看和分析您的交易信号:

1. 策略概述

Wunder Keltner Bot 是一套趋势跟踪策略,结合凯特纳通道(Keltner Channel)、方向运动指标(DI)以及可选的 ADX 趋势强度过滤器。
当价格突破凯特纳通道上轨且 +DI 高于 -DI 时开多仓;当价格跌破下轨且 -DI 高于 +DI 时开空仓。
支持三种止盈止损计算方式:Keltner、FIX(固定百分比)和 ATR。
同时支持追踪止损、保本止损(Move to Breakeven)以及 WunderTrading JSON 自动交易警报集成。
策略适用于现货和期货市场,并内置基于固定资金和单笔风险控制的仓位管理模型。


2. 快速开始

1) 添加脚本到 TradingView 图表。
2) 设置回测时间范围(可选)。
3) 配置交易方向(Long / Short / Both / None)。
4) 设置资金和风险管理参数。
5) 选择 SL/TP 类型(Keltner、FIX 或 ATR)。
6) 调整 Keltner 与 DI 参数。
7) 根据需要启用 ADX、追踪止损和保本止损。
8) 配置 WunderTrading 注释。
9) 运行回测并优化参数。


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 核心设置

参数

类型

选项

默认值

说明

Trade direction

string

LONG, SHORT, BOTH, NONE

BOTH

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


3.3 风险与资金管理

参数

类型

取值范围

默认值

说明

Capital $

int

min=1, max=1,000,000

1000

用于计算仓位大小的资金金额。

Volume in contract

bool

true/false

true

启用后,仓位大小将以合约数量显示;禁用后,则以计价货币显示。该设置会影响策略测试器(Strategy Tester)和 Webhook 信号。

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

float

min=0.01, step=0.1

5.0

当启用止损时,每笔交易允许承担的资金风险占总资金的百分比。


3.4 止盈止损设置

参数

类型

选项 / 取值范围

默认值

说明 / 生效条件

SL/TP TYPE

string

Keltner, FIX, ATR

Keltner

选择止损和止盈的计算方式。

Use TP

bool

true/false

true

启用止盈功能。

Use SL

bool

true/false

true

启用止损功能。

Take Profit (%)

float

min=0.1

3.5

当 SL/TP TYPE = FIX,且 RR(风险回报比)未启用或止损(SL)未启用时使用。(仅在满足上述条件时生效。)

Stop Loss (%)

float

min=0.1, max=100

3.5

当 SL/TP TYPE = FIX 且已启用止损(SL)时使用。(仅在 SL/TP TYPE = FIX 且 Use SL = true 时生效。)


3.5 ATR 止盈止损

Visible only when Use TP or Use SL is enabled.

参数

类型

取值范围

默认值

说明

ATR length

int

min=1

14

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

SL multiplier

float

min=0, step=0.01

0.9

应用于 ATR 的倍数,用于计算止损距离。


3.6 风险回报比(RR)

仅在同时启用止盈(TP)和止损(SL)时显示。

参数

类型

选项 / 取值范围

默认值

说明 / 生效条件

condition RR

bool

true/false

true

用于启用风险回报比(Risk/Reward Ratio)的总开关。禁用后,止盈(TP)将通过固定百分比或 ATR 方式进行设置。

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(风险回报比)按“风险 ÷ 回报”计算(例如:4/5 = 0.8,表示每承担 1 单位风险,对应的预期回报为 1/0.8 = 1.25 单位)。


3.7 追踪止损(Trailing Stop)

参数

类型

取值范围

默认值

说明

Use TS

bool

true/false

false

启用追踪止损功能。

Trailing Stop Activation (%)

float

min=0.01, step=0.1

0.4

从开仓价格开始计算,触发追踪止损所需的价格变动百分比。

Trailing Stop Execution (%)

float

min=0.01, step=0.1

0.6

追踪止损激活后,止损价格与最高价(多头)或最低价(空头)之间保持的百分比距离。


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

参数

类型

取值范围

默认值

说明

Use MSL

bool

true/false

false

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

MSL activation (%)

float

min=0.01, step=0.1

0.5

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


3.9 多头凯特纳通道(Keltner Long)

用于多头(Long)方向凯特纳通道(Keltner Channel)的参数设置。

参数

类型

取值范围

默认值

说明

SMA length 1

int

min=1

15

用于计算通道中线的第一个 SMA(简单移动平均线)周期。

SMA length 2

int

min=1

30

用于计算 K 线波动范围(最高价−最低价)平均值的 SMA 周期。

Multiplier

float

step=0.1

3.0

应用于波动范围 SMA 的倍数,用于确定通道上下轨的宽度。


3.10 空头凯特纳通道(Keltner Short)

用于空头(Short)方向凯特纳通道(Keltner Channel)的参数设置。

参数

类型

取值范围

默认值

说明

SMA length 1

int

min=1

20

用于计算通道中线的第一个 SMA(简单移动平均线)周期。

SMA length 2

int

min=1

110

用于计算 K 线平均波动范围的 SMA 周期。

Multiplier

float

step=0.1

2.9

应用于波动范围 SMA 的倍数。


3.11 DI Long & Short(多头与空头方向运动指标)

多头方向运动指标(DI LONG)

参数

类型

取值范围

默认值

说明

DI Length

int

min=1

14

用于计算方向运动指标(Directional Movement,DI)的周期。

key level for ADX

int

min=1

30

+DI 的阈值;只有当 +DI 大于该数值时,才允许开立多头仓位。

DI SHORT

参数

类型

取值范围

默认值

说明

DI Length

int

min=1

14

用于计算方向运动指标(Directional Movement,DI)的周期。

key level for ADX

int

min=1

25

-DI 的阈值;只有当 -DI 大于该数值时,才允许开立空头仓位。


3.12 ADX 趋势强度过滤器

参数

类型

取值范围

默认值

说明 / 生效条件

Use ADX strength filter

bool

true/false

false

总开关。启用后,只有当 ADX ≥ 最低阈值且 ADX 持续上升时,才允许开仓。

ADX min (Long)

int

min=1

15

多头入场所需的最低 ADX 值。(仅在启用 ADX 过滤器时生效。)

ADX min (Short)

int

min=1

15

空头入场所需的最低 ADX 值。(仅在启用 ADX 过滤器时生效。)

ADX rising bars

int

min=1

3

确认趋势强度所需的 ADX 连续上升 K 线数量。


3.13 WunderTrading 机器人注释

这些注释将被添加到警报消息中,用于 WunderTrading 机器人识别对应操作。其内容必须与机器人设置中的注释配置一致。

参数

类型

默认值

说明

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 资金与风险管理

  • 从小资金开始 —— 使用与您实际交易规模相匹配的资金金额。Capital $(资金规模) 参数会根据风险管理规则用于计算仓位大小。

  • 单笔交易风险(Risk per Trade) —— 较为保守且常见的设置为账户资金的 1%–2%。默认值 5% 属于较激进的风险水平,请根据您的风险承受能力以及策略胜率进行调整。

  • 按合约数量显示仓位(Volume in Contract) —— 建议保持启用(true),以获得更符合实际情况的回测结果(仓位将按合约数量计算)。仅当您需要向 WunderTrading 发送基于美元金额的交易信号时才建议关闭;关闭后,Webhook 将发送以计价货币(Quote Currency)表示的交易量。

5.2 参数选择

  • Keltner 参数设置 —— 两个 SMA 周期决定了通道的灵敏度。较短的周期能够更快响应价格变化,但也可能产生更多虚假信号。建议测试不同的参数组合,以找到最适合您交易品种的设置。

  • SL/TP TYPE(止损/止盈类型)

    • Keltner:使用凯特纳通道的对侧轨道作为止损位。这是一种根据市场波动动态调整的止损方式,在趋势行情中表现较好。

    • FIX:使用固定百分比设置止损和止盈。逻辑更简单,但可能无法适应市场波动率的变化。

    • ATR:使用 ATR(平均真实波幅)倍数计算止损和止盈,同样属于根据波动率动态调整的方式。请根据您所交易资产的波动特征选择最适合的方式。

  • 风险回报比(Risk/Reward) —— 启用 RR 后,止盈目标将根据止损距离自动计算,从而确保每笔交易都遵循固定的风险回报比。建议仅在同时启用止盈(TP)和止损(SL)时使用 RR 功能。

5.3 ADX 过滤器

  • ADX 过滤器 —— ADX 过滤器有助于避开震荡、缺乏明确趋势的市场环境。如果您决定启用该功能,建议将 最低 ADX 值(ADX Min) 初始设置在 20–25 左右,并将 ADX 连续上升 K 线数量(ADX Rising Bars) 设置为 2–3。之后可根据实际表现进行调整,以在交易频率和信号质量之间取得平衡。

5.4 追踪止损与保本止损

  • 追踪止损(Trailing Stop)移动止损至保本价(Move Stop Loss to Breakeven) 功能有助于锁定已获得的利润,但如果参数设置得过于严格,也可能降低策略的整体盈利能力。建议通过回测测试不同的触发条件和激活水平,以找到最适合的配置。

  • 建议将这些功能作为主要止损(SL)和止盈(TP)策略的补充,而不是完全替代它们。

5.5 回测建议

  • 使用合理的回测时间范围 —— 回测数据应同时包含趋势行情和震荡行情,以更全面地评估策略的稳健性和适应能力。

  • 谨慎优化参数 —— 避免基于过小的数据样本进行过度优化。建议在多个市场和不同时间周期上测试参数,以验证策略的普适性和稳定性。

  • 注意前视偏差(Look-Ahead Bias) —— 该脚本仅使用历史数据进行计算,所有条件均基于当前 K 线收盘时的数据进行判断,因此不存在直接使用未来数据的问题。

    不过需要注意的是,策略使用同一根 K 线的开盘价和收盘价来判断并执行入场,这属于一种盘中(Intra-Bar)假设。在实际交易中,订单通常会在下一根 K 线开盘时执行。因此,脚本使用当前 K 线收盘价作为入场价格,可能会与真实交易结果产生轻微偏差。

    在分析和解读回测结果时,请将这一差异因素纳入考虑。

5.6 手续费与滑点

  • 该策略默认设置的手续费为 0.075%(可在策略设置中调整)。请确保该数值与您的交易所或经纪商实际收取的手续费一致。

  • 滑点未被纳入模型计算,因此在评估策略预期表现时,建议额外预留一定缓冲空间。


6. 重要说明与限制

  • Pyramiding(加仓层数)设置为 0 —— 这意味着策略在任意时刻只能持有一个仓位,不允许在同一方向上叠加开仓。

  • 保证金(Margin)设置为 0 —— 该策略不使用杠杆,所有仓位均基于实际资金规模进行计算。

  • 脚本使用 strategy.cash 作为默认仓位数量类型 —— 仓位大小将根据资金规模(Capital)和风险参数(Risk)自动计算。

  • 策略为多头和空头分别使用独立的凯特纳通道(Keltner Channel) —— 两组参数可以单独配置和优化,从而针对不同市场方向采用不同的交易逻辑。

  • 图表中的可视化元素(Keltner 通道、ADX 和 DI 指标) 可以通过 Indicator Visibility(指标可见性) 开关进行隐藏,以减少图表杂乱并提升阅读体验。

Wunder Keltner Bot 是一套趋势跟踪策略,将 凯特纳通道(Keltner Channel)方向运动指标(DI) 以及可选的 ADX 过滤器 相结合。该策略具备较高的灵活性,支持三种不同的止损方式,并可搭配 追踪止损(Trailing Stop)移动止损至保本价(Move Stop Loss to Breakeven) 等功能。

虽然该策略在设计时充分考虑了稳健性,但回测中的历史表现并不能保证未来的实际收益。市场环境会不断变化,任何交易策略都存在亏损风险。

在投入真实资金之前,我们强烈建议您先在模拟环境中结合实时市场数据对该策略进行充分测试。这将帮助您更好地理解策略的运行逻辑,针对所交易的资产和时间周期优化参数设置,并增强对策略信号的信心。

请从小规模资金开始,密切监控策略表现,并根据实际情况进行调整。请牢记,没有任何策略能够保证持续盈利,始终坚持严格的风险管理原则至关重要。

这是否解答了您的问题?