跳转到主要内容

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

Wunder DCA TradingView Strategy 是一套高度复杂且功能丰富的 定投加仓(Dollar-Cost Averaging,DCA)策略,提供了大量可自定义的入场条件、过滤器和出场选项。

作者:Jacob

如何在 WunderTrading 上自动化运行 Wunder DCA TradingView 策略

  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 DCA Bot 是一款高级 TradingView 策略,它将主要入场信号与 DCA(Dollar-Cost Averaging,定投加仓)订单网格 相结合。该策略允许您在价格逐步变得更有利(或不利)时分批建立仓位,同时通过止损、止盈、追踪止损和移动止损至保本价等机制进行风险管理。

此外,策略还支持高级趋势过滤器,以确保入场方向与更广泛的市场趋势保持一致,并提供多种基于技术指标的出场方式。

主要功能

入场条件(Entry Conditions)

支持以下入场信号类型:

  • Breakout(突破)

  • MACD

  • Bollinger Bands(布林带)

  • VWRSI(成交量加权 RSI)

  • Price Change(价格变化)

  • ASAP(立即入场)

DCA 网格(DCA Grid)

支持最多 30 个额外加仓订单,并可配置:

  • 价格偏离(Price Deviation)

  • 仓位倍数(Volume Multiplier)

  • 偏离倍数(Deviation Multiplier)

趋势过滤器(Trend Filter)

可选启用趋势过滤器,并支持以下方法:

  • SuperTrend

  • SMA(简单移动平均线)

  • EMA(指数移动平均线)

  • TEMA(三重指数移动平均线)

  • ATR(平均真实波幅)

  • 收益率标准差(Standard Deviation of Returns)结合百分位分析

出场管理(Exit Management)

支持以下出场模式:

  • 仅止盈(TP Only)

  • 仅指标出场(Indicator Only)

  • 先触发者优先(First-Come)

指标出场支持:

  • RSI

  • SMA

  • CRSI

  • MACD

  • SuperTrend

以及多种子模式配置。

风险管理(Risk Management)

支持:

  • 固定百分比止盈/止损(TP/SL)

  • 基于风险回报比(Risk/Reward)的止损计算

同时支持:

  • 追踪止损(Trailing Stop)

  • 移动止损至保本价(Move to Breakeven)

止损安全检查(Stop-Loss Safety Check)

策略会自动检查止损位置,确保止损位设置在 DCA 网格之外,从而避免仓位尚未完成加仓时被提前止损。


2. 快速开始

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

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

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

  4. Core Settings → Entry Condition Type(核心设置 → 入场条件类型) 中选择入场方式。

  5. 调整 DCA 参数:

    • 加仓订单数量

    • 价格偏离

    • 仓位倍数

    • 偏离倍数等

  6. 根据需要启用或禁用趋势过滤器,并设置相应方法及参数。

  7. 配置止盈(TP)和止损(SL):

    • 使用固定百分比;

    • 或使用风险回报比(Risk/Reward)模式。

  8. 如有需要,配置:

    • 追踪止损(Trailing Stop)

    • 移动止损至保本价(Breakeven)

  9. 选择出场方式及对应的技术指标。

  10. 运行回测并优化参数。


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

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

注意:当前版本不包含“单笔交易风险百分比(Risk Per Trade %)”功能。仓位大小的计算方式仅为“资金金额 ÷ 开仓价格”。


3.3 策略设置

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

参数

类型

取值范围 / 选项

默认值

说明 / 生效条件

Use TP

bool

true/false

true

启用止盈功能。

Use SL

bool

true/false

true

启用止损功能。

Take Profit (%)

float

min=0.1

3.5

固定百分比止盈(TP)。当风险回报比(RR)功能关闭,或仅启用止盈(TP)时使用。

Stop Loss (%)

float

min=0.1, max=100

3.5

固定百分比止损(SL)。当启用止损(SL)时使用。

3.3.2 风险回报比

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

参数

类型

取值范围 / 选项

默认值

说明 / 生效条件

Condition RR

bool

true/false

true

风险回报比(Risk/Reward)总开关。关闭后,止盈(TP)将使用固定止盈百分比(Take Profit %)进行设置。

Simple fraction / Decimal

string

Simple fr, Decimal

Simple fraction

选择风险回报比(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 按“风险 ÷ 回报(Risk / Reward)”计算。如果 RR = 0.5,则止盈(TP)距离将设置为止损(SL)距离的两倍。

3.3.3 追踪止损(Trailing Stop)

参数

类型

取值范围

默认值

说明

Use TS

bool

true/false

true

启用追踪止损功能。

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.3.4 移动止损至保本价 (Move Stop Loss to Breakeven)

参数

类型

取值范围

默认

说明

Use MSL

bool

true/false

true

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

MSL activation (%)

float

min=0.01, step=0.1

0.5

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


3.4 DCA 设置

这些参数用于定义 DCA(定投加仓)订单网格。

参数

类型

取值范围

默认

说明

Max DCA orders

int

min=1, max=30

5

订单总数量(包含基础订单)。例如:5 表示 1 笔基础订单 + 4 笔 DCA 加仓订单。

Price deviation

float

min=0.1, max=20.0

1.00

第一笔 DCA 加仓订单的初始价格偏离百分比。

Order size multiplier

float

min=1.0, max=10.0

2.01

后续每笔 DCA 加仓订单的仓位倍数。

Price dev. multiplier

float

min=1.0, max=10.0

1.0

应用于后续每笔订单价格偏离的倍数。

DCA Take-profit anchor point

string

average_price, entry_order

average_price

确定止盈(TP)计算所使用的参考价格:average_price 使用仓位平均开仓价;entry_order 使用初始订单价格。

DCA Stop-loss anchor point

string

entry_order, average_price

entry_order

确定止损(SL)计算所使用的参考价格。


3.5 风险回报比

3.5.1 交易方向

参数

类型

选项

默认

说明

Trade direction

string

LONG, SHORT, BOTH, NONE

BOTH

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

3.5.2 入场条件类型

参数

类型

选项

默认

说明

Entry condition type

string

Breakout, MACD, Bollinger, Price Change, VWRSI, ASAP

Breakout

选择用于生成初始入场信号的主要指标。


3.6 入场条件指标

3.6.1 突破

参数

类型

取值范围

默认

说明

Timeframe

timeframe

any valid TF

'D'

用于计算日内高点/低点的高时间周期。

逻辑:当 close[1] <= dailyLowclose > dailyLow 时产生多头信号;当 close[1] >= dailyHighclose < dailyHigh 时产生空头信号。

3.6.2 MACD

参数

类型

取值范围

默认

说明

Fast Length

int

min=1

3

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

Slow Length

int

min=1

21

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

Signal Smoothing

int

min=1, max=50

9

信号线 EMA 周期。

逻辑:当 MACD 向上穿越信号线且信号线 < 0 时产生多头信号;当 MACD 向下穿越信号线且信号线 > 0 时产生空头信号。

3.6.3 布林带

参数

类型

取值范围

默认

说明

BBPeriod

int

min=1

210

SMA 基准线计算周期。

StdDev

float

min=0.001, max=50

2.5

通道(Bands)所使用的标准差倍数。

逻辑:当 close[1] < lowerBandclose > lowerBand 时产生多头信号;当 close[1] > upperBandclose < upperBand 时产生空头信号。

3.6.4 VWRSI

参数

类型

取值范围

默认

说明

Length

int

min=1

14

RSI(相对强弱指数)周期。

VWRSI lower limit

int

(no explicit limits)

20

多头入场的超卖阈值。

VWRSI upper limit

int

(no explicit limits)

80

空头入场的超买阈值。

逻辑:当 VWRSI 向上突破下限时产生多头信号;当 VWRSI 向下跌破上限时产生空头信号。

3.6.5 价格变化

参数

类型

取值范围

默认

说明

Price Change Period

int

min=1

14

用于计算价格变化的回溯 K 线数量。

Price Cap, %

float

min=2.0, max=5.0

5.0

所需价格变化百分比(多头为负值,空头为正值)。

逻辑:当价格在指定周期内下跌幅度超过 Price Cap 时产生多头信号;当价格上涨幅度超过 Price Cap 时产生空头信号。

3.6.6 ASAP(立即入场)

参数

类型

取值范围

默认

说明

(none)

-

-

-

当没有持仓时,在第一根符合条件的 K 线上立即开仓,并遵循设定的交易方向。

3.6.7 价格变化的 RSI 过滤器

该过滤器可应用于 Price Change(价格变化)入场条件。

参数

类型

取值范围

默认

说明

Use RSI filter

bool

true/false

false

启用价格变化(Price Change)条件的 RSI 过滤器。

RSI period

int

(no explicit limits)

14

RSI 计算周期。

RSI lower limit

int

(no explicit limits)

20

多头开仓时,RSI 必须低于该数值。

RSI upper limit

int

(no explicit limits)

80

空头开仓时,RSI 必须高于该数值。


3.7 趋势过滤器设置

趋势过滤器作为额外的入场筛选条件,必须满足后才允许开仓。可选择禁用(None),或设置为六种指标类型中的一种。

参数

类型

选项

默认

说明

Filter indicator type

string

none, Super Trend, SMA, EMA, TEMA, ATR, STD+Percentile

none

选择趋势过滤器。启用后将显示相关子参数。

3.7.1 SuperTrend 过滤器

仅当“Filter Indicator Type(过滤器指标类型)”选择为 SuperTrend 时显示。

参数

类型

选项

默认

说明

Super Trend filter type

string

Trend Direction, Trend Confirmation, Price Distance

Trend Direction

确定 SuperTrend 的使用方式。

ATR Length (global)

int

min=1

10

用于计算 SuperTrend 的 ATR 周期。

Factor (global)

float

min=0.01

3.0

SuperTrend 的 ATR 倍数。

SuperTrend confirmation bars (only for Trend Confirmation)

int

min=1

10

确认趋势所需连续保持的 K 线数量。

SuperTrend Price-ATR Threshold (only for Price Distance)

float

min=0.001

0.5

价格与 SuperTrend 距离除以 ATR 后所需达到的最小比值。

SuperTrend Price-ATR ATRperiod (only for Price Distance)

int

min=1

14

距离计算中使用的 ATR 周期。

逻辑:

  • 趋势方向:当 SuperTrend direction < 0(上升趋势)时允许多头开仓;当 direction > 0(下降趋势)时允许空头开仓。

  • 趋势确认:统计连续保持相同趋势方向的 K 线数量;当数量 ≥ 设定阈值时,条件成立。

  • 价格距离:要求价格在趋势方向上与 SuperTrend 保持足够距离(根据 ATR 调整后计算)。

3.7.2 SMA 过滤器

仅当“Filter Indicator Type(过滤器指标类型)”选择为 SMA 时显示。需要配置快速 SMA 和慢速 SMA 参数(详见下方“趋势过滤器指标参数”)。可选择以下过滤方式:

参数

类型

选项

默认

说明

SMA filter type

string

Price‑SMA position, Price‑SMA with slope, SMA Comparison

Price‑SMA position

逻辑(使用快速 SMA out_fast 和慢速 SMA out_slow):

  • 价格与 SMA 位置:当 close > out_fast 时允许多头;当 close < out_fast 时允许空头。

  • 价格与 SMA 斜率:当 close > out_fast 且 out_fast > out_fast[1] 时允许多头;当 close < out_fast 且 out_fast < out_fast[1] 时允许空头。

  • SMA 对比:当快速 SMA 高于慢速 SMA 时允许多头;当快速 SMA 低于慢速 SMA 时允许空头。

3.7.3 EMA 过滤器

与 SMA 过滤器类似,但使用 EMA(指数移动平均线)。仅当过滤器类型选择为 EMA 时显示。

参数

类型

选项

默认

说明

EMA filter type

string

Price‑EMA position, Price‑EMA with slope, EMA Comparison

Price‑EMA position

逻辑与 SMA 相同,但使用快速 EMA(out_fast_ema)和慢速 EMA(out_slow_ema)进行判断。

3.7.4 TEMA 过滤器

仅当过滤器类型选择为 TEMA 时显示。使用 TEMA(三重指数移动平均线)。

参数

类型

选项

默认

说明

TEMA filter type

string

Price‑TEMA position, Price‑TEMA with slope, TEMA Comparison

Price‑TEMA position

逻辑与 SMA 相同,但使用快速 TEMA(out_f_tema)和慢速 TEMA(out_s_tema)进行判断。

3.7.5 ATR 过滤器

仅当过滤器类型选择为 ATR 时显示。

参数

类型

选项

默认

说明

ATR filter type

string

Volatility Level, Historical Comparison, Adaptive Threshold

Volatility Level

Volatility threshold (for Volatility Level)

float

min=0.000001

0.05

ATR 必须高于该数值。

Market condition (for Historical Comparison)

string

Active market, Calm market

Active market

将当前 ATR 与其历史平均值(最近 100 根 K 线 ATR 的 SMA)进行比较。Active:当前 ATR > 平均值;Calm:当前 ATR < 平均值。

Adaptive Threshold Range (%) (for Adaptive Threshold)

float

min=5.0, max=80.0

15.00

围绕历史 ATR 均值建立区间:atrLow = avg × (1 − range),atrHigh = avg × (1 + range)。当 atrLow < 当前 ATR < atrHigh 时允许开仓。

注意:相同条件同时适用于多头和空头方向。

3.7.6 STD+Percentile 过滤器

该过滤器使用对数收益率的滚动标准差及其百分位数(默认第 75 百分位)来衡量市场波动率,并提供多种高级分析方法。仅当过滤器类型选择为 STD+Percentile 时显示。

参数

类型

取值范围 / Options

默认

说明

STD+Percentile filter type

string

Low Volatility, High Volatility, Historical Comparison, Adaptive Threshold, Smart Adaptive Threshold

Low Volatility

Show Indicator "STD+Percentile"

bool

true/false

false

在独立指标窗口中显示该指标。

Market condition (for Historical Comparison, Adaptive Threshold, SAT)

string

Active market, Calm market

Active market

定义市场状态(Regime)。

Standard Deviation Window

int

(no explicit limits)

280

标准差(Stdev)计算的回溯周期。

Percentile Window

int

(no explicit limits)

280

百分位数计算的回溯周期。

Percentile

int

(no explicit limits)

75

百分位水平(例如第 75 百分位)。

低 / 高波动率历史比较

  • 低波动模式:要求 std_dev < percentile_75std_dev < std_dev[1](波动率持续下降)。

  • 高波动模式:要求 std_dev > percentile_75std_dev > std_dev[1](波动率持续上升)。

历史比较(STD)

  • 活跃市场(Active Market):std_dev > percentile_75

  • 平静市场(Calm Market):std_dev < percentile_75

自适应阈值(AT)

将波动率相对于百分位基准进行归一化:q = std_dev / percentile_75

区间参数(活跃区间和低波动区间)以百分位基准值的比例形式定义。

  • AT:活跃区间下限(rA_min)—— 浮点数,最小值 0.05,步长 0.01,默认值 0.90。用于定义 q 空间中活跃模式的下边界。

  • AT:活跃区间上限(rA_max)—— 浮点数,最小值 0.05,步长 0.01,默认值 1.20。用于定义活跃模式的上边界。

  • AT:低波动区间下限(rC_min)—— 浮点数,最小值 0.05,步长 0.01,默认值 0.60

  • AT:低波动区间上限(rC_max)—— 浮点数,最小值 0.05,步长 0.01,默认值 0.90。

条件:在活跃模式(Active Mode)下,要求 q ∈ [rA_min, rA_max];在低波动模式(Calm Mode)下,要求 q ∈ [rC_min, rC_max]。该条件对多头和空头方向均适用。

智能自适应阈值(SAT)

SAT 会围绕 std_dev 的滚动均值构建动态通道,并使用稳健的宽度估算方法确定通道范围。

参数

类型

取值范围

默认

说明

SAT: Baseline SMA length (Lμ)

int

min=2

50

标准差(std_dev)SMA 的计算周期(基准值 μ)。

SAT: Width SMA length (Lw)

int

min=2

50

相对于基准值绝对偏差 SMA 的计算周期(宽度 w)。

SAT: Corridor width multiplier (k)

float

min=0.1, step=0.1

1.5

用于设置通道宽度的倍数:low = μ − k × w,high = μ + k × w。

SAT: Active zone floor (u_min, 0..1)

float

min=0.0, max=1.0, step=0.01

0.65

Active 模式下,通道内归一化位置的下限。

SAT: Active zone ceiling (u_max, 0..1)

float

min=0.0, max=1.0, step=0.01

0.95

Active 模式下,通道内归一化位置的上限。

SAT: Calm zone floor (u_min, 0..1)

float

min=0.0, max=1.0, step=0.01

0.10

Calm 模式下,通道内归一化位置的下限。

SAT: Calm zone ceiling (u_max, 0..1)

float

min=0.0, max=1.0, step=0.01

0.40

Calm 模式下,通道内归一化位置的上限。

SAT: Enable hysteresis

bool

true/false

false

启用后,使用独立的入场区与出场区,以减少信号频繁切换。

SAT: Hysteresis margin (h, 0..1)

float

min=0.0, max=0.50, step=0.01

0.03

用于扩展持仓区/出场区的缓冲边界。

SAT: Show hysteresis bands

bool

true/false

false

绘制扩展后的持仓区与出场区。

SAT 逻辑:

  1. 计算 μ = SMA(std_dev, Lμ)w = SMA(|std_dev - μ|, Lw)

  2. 通道范围:low = max(0, μ - k·w)high = μ + k·w

  3. 归一化位置:u = (std_dev - low) / (high - low),并限制在 [0,1] 区间内。

  4. 在活跃模式下,如果 std_dev 位于通道内,且 u 落在 [active_floor, active_ceiling] 区间内,则 SAT 条件通过。在平静模式下,则使用 Calm 对应的上下限。

  5. 如果启用迟滞机制(Hysteresis),入场判断使用原始边界;持仓判断则使用扩展后的边界 [u_min - h, u_max + h](并限制在有效范围内),同时结合状态记忆以减少频繁切换。


3.8 出场设置

3.8.1 出场方式

参数

类型

选项

默认

说明

Exit method

string

indicator only, TP only, indicator or TP (First)

indicator or TP (First)

确定仓位平仓方式。

  • 仅指标出场:仅当出场指标触发时平仓。

  • 仅止盈出场:仅当价格触及止盈目标时平仓。

  • 指标或止盈优先触发:指标出场信号或止盈目标,哪个先触发就按哪个平仓。

3.8.2 出场指标类型

仅当“Exit Method(出场方式)”不等于“TP only(仅止盈)”时显示

参数

类型

选项

默认

说明

Exit indicator type

string

RSI, SMA, CRSI, MACD, Super Trend

RSI

选择用于生成平仓信号的指标。

3.8.3 出场参数

每个出场指标都有各自的参数和子方法。

RSI 出场

参数

类型

选项 / 取值范围

默认

说明

RSI exit type

string

Overbought/Oversold, Level Reversal, Signal Line Cross

Overbought/Oversold

RSI period

int

min=1

14

RSI 周期。

RSI lower limit

int

(no explicit)

20

超卖阈值(在某些模式下用于空头平仓)。

RSI upper limit

int

(no explicit)

80

超买阈值(用于多头平仓)。

Signal MA Length (for Signal Line Cross)

int

min=1

14

信号线的移动平均线周期。

Signal MA Type (for Signal Line Cross)

string

RMA, SMA, EMA, WMA

RMA

移动平均线类型。

逻辑:

  • 超买/超卖:当 RSI 向上突破超买阈值时,多头平仓;当 RSI 向下跌破超卖阈值时,空头平仓。

  • 水平反转:当 RSI 向下跌破超买阈值时,多头平仓;当 RSI 向上突破超卖阈值时,空头平仓。

  • 信号线交叉:当 RSI 与其信号均线(Signal MA)发生交叉时平仓(多头在 RSI 下穿信号线时平仓,空头在 RSI 上穿信号线时平仓)。

SMA 出场

使用快速和慢速 SMA(类似于 SMA 趋势过滤器,但使用独立的周期参数)。

参数

类型

选项

默认

说明

SMA exit type

string

Price‑SMA position, Price‑SMA with slope, SMA Comparison

Price‑SMA position

Fast SMA Length

int

min=1

9

Fast SMA Source

source

-

close

Fast SMA Offset

int

-500 to 500

0

Fast SMA Smoothing Type

string

None, SMA, EMA, RMA, WMA, VWMA

None

对 SMA 进行额外平滑处理。

Fast SMA Smoothing Length

int

min=1 (if smoothing not None)

14

Slow SMA Length

int

min=1

24

Slow SMA Source

source

-

close

Slow SMA Offset

int

-500 to 500

0

Slow SMA Smoothing Type

string

None, SMA, EMA, RMA, WMA, VWMA

None

Slow SMA Smoothing Length

int

min=1 (if smoothing not None)

14

逻辑(使用快速 SMA out_fast_e 和慢速 SMA out_slow_e):

  • 价格与 SMA 位置:当价格下穿快速 SMA 时,多头平仓;当价格上穿快速 SMA 时,空头平仓。

  • 价格与 SMA 斜率:逻辑与“价格与 SMA 位置”相同,但同时要求 SMA 斜率方向满足条件。

  • SMA 对比:当快速 SMA 下穿慢速 SMA 时,多头平仓;当快速 SMA 上穿慢速 SMA 时,空头平仓。

CRSI 出场

Connors RSI(CRSI)是一种综合指标,由 RSI、连续上涨/下跌 RSI,以及百分位排名组成。

参数

类型

取值范围 / 选项

默认

说明

CRSI exit type

string

Overbought/Oversold, Level Reversal, Signal Line Cross

Overbought/Oversold

RSI Length

int

min=1

3

RSI 组成部分的计算周期。

UpDown Length

int

min=1

2

连续上涨/下跌周期 RSI 的计算周期。

ROC Length

int

min=1

100

ROC(变化率)百分位排名的计算周期。

CRSI lower limit

int

(no explicit)

10

超卖阈值(用于空头平仓)。

CRSI upper limit

int

(no explicit)

90

超买阈值(用于多头平仓)。

Signal MA Length (for Signal Line Cross)

int

min=1

14

Signal MA Type (for Signal Line Cross)

string

RMA, SMA, EMA, WMA

RMA

逻辑与 RSI 类似,但使用不同的默认阈值(10/90)。

MACD 出场

参数

类型

选项

默认

说明

MACD exit type

string

Line Cross, Zero Cross, Histogram, Decay, Slope, Divergence, MACD+SMA, Neutral

Line Cross

Fast Length

int

min=1

3

Slow Length

int

min=1

21

Signal Smoothing

int

min=1, max=50

9

MACD combo SMA Period (for MACD+SMA)

int

min=1

50

组合条件使用的 SMA 周期。

逻辑:

  • 线交叉:当 MACD 线与信号线发生交叉时平仓(多头在 MACD 下穿信号线时平仓,空头在 MACD 上穿信号线时平仓)。

  • 零轴交叉:当 MACD 线穿越零轴时平仓。

  • 柱状图:当 MACD 柱状图正负号发生变化时平仓。

  • 衰减:当 MACD 连续 3 根 K 线下降时平仓(简单判断)。

  • 斜率:当 MACD 斜率发生反转时平仓(多头在斜率转为负值时平仓,空头在斜率转为正值时平仓)。

  • 背离:简化版背离检测。

  • MACD + SMA:当 MACD 线交叉发生,且价格位于长期 SMA 的相反一侧时平仓。

  • 中性:当 MACD 接近零轴时平仓(其绝对值小于最近 50 根 K 线标准差的 0.1 倍)。

SuperTrend 出场

参数

类型

取值范围

默认

说明

ATR Length

int

min=1

10

ATR 周期。

Factor

float

min=0.01

3.0

倍数。

逻辑:当 SuperTrend 方向由下降转为上升时平多仓(即 direction 增加);当方向由上升转为下降时平空仓。


3.9 其他设置

参数

类型

取值范围

默认

说明

Show Extra Order Line

bool

true/false

false

启用后,在图表上绘制 DCA 加仓订单价格水平。

4. 最佳实践

4.1 资金与风险管理

策略采用简单的仓位计算方式:

仓位大小 = 资金金额(Capital)÷ 开仓价格(Entry Price)

请根据您的实际交易资金规模设置 Capital $ 参数。

止损百分比(Stop Loss %)应谨慎设置。脚本内置了止损安全检查机制,用于防止止损位落在 DCA 加仓网格内部。

系统会根据当前 DCA 网格结构自动计算允许的最小止损距离。如果设置的止损百分比低于允许值,系统会显示警告信息,并停止开仓。


4.2 DCA 参数优化

最大 DCA 订单数(Max DCA Orders)

更多的 DCA 订单能够实现更深层次的摊低成本,但也会增加总体风险敞口。

建议先从 3–5 笔加仓订单开始测试,仅在市场经常出现回调后反弹的情况下再逐步增加。

价格偏离(Price Deviation)

初始价格偏离决定第一笔 DCA 订单与开仓价格之间的距离。

  • 较小的数值:订单更接近当前价格,成交频率更高;

  • 较大的数值:订单间距更宽,触发频率更低。

订单规模倍数(Order Size Multiplier)

当倍数大于 1 时,每次 DCA 加仓的仓位规模都会递增,从而加快风险累积。

常见设置范围为:

1.0 – 1.5

价格偏离倍数(Price Deviation Multiplier)

  • 当大于 1 时,后续订单距离会逐步扩大(类似几何级数分布);

  • 当等于 1 时,所有 DCA 订单保持等距排列。


4.3 趋势过滤器选择

趋势过滤器为策略增加方向性偏向。

建议根据您的交易风格进行选择:

  • 趋势市场:

    • SuperTrend

    • SMA Comparison(均线比较)

  • 均值回归市场:

    • ATR Filter

    • STD Filter

这些波动率过滤器能够帮助避免在强趋势行情中逆势交易。

关于 STD+Percentile

STD+Percentile 是所有过滤器中功能最复杂的一种。

建议按以下顺序逐步使用:

  1. Low Volatility(低波动)

  2. High Volatility(高波动)

  3. Adaptive Threshold(AT)

  4. Smart Adaptive Threshold(SAT)

这样更容易理解各模式的行为差异。


4.4 出场管理

出场方式(Exit Method)

推荐使用:

Indicator or TP(First)

即:

指标信号或止盈目标,哪个先触发就执行平仓。

这种方式同时兼顾:

  • 利润保护

  • 趋势反转退出

通常能够适应更多市场环境。

RSI / CRSI 参数

超买和超卖水平应根据不同交易品种进行优化。

由于 CRSI 属于复合指标,因此通常使用更极端的阈值:

  • 超卖:10

  • 超买:90

MACD 出场方式

建议测试不同的 MACD 出场逻辑,例如:

  • Line Cross(线交叉)

  • Zero Cross(零轴交叉)

  • Histogram(柱状图变化)

  • Slope(斜率变化)

观察哪种方式最适合您的时间周期和交易品种。


4.5 回测

使用具有代表性的时间范围

回测数据应覆盖:

  • 趋势行情

  • 震荡行情

  • 高波动阶段

  • 低波动阶段

谨慎优化

由于该策略拥有大量参数,因此非常容易发生:

过度拟合(Overfitting)

建议:

  • 使用样本外数据(Out-of-Sample)

  • 测试多个交易品种

  • 测试多个时间周期

手续费

默认手续费:

0.05%

请根据交易所或经纪商实际费率进行调整。

滑点

策略未模拟滑点(Slippage)。

评估回测结果时,请预留合理的滑点缓冲空间。


4.6 止损最小距离

策略会自动计算:

保持止损位位于 DCA 网格之外所需的最小止损距离。

如果:

Stop Loss (%) < 最小允许距离

则:

  • 图表会显示警告表格;

  • 策略不会执行任何交易。

因此请始终确保止损范围足够宽,以覆盖整个 DCA 网格。


5. 重要说明与限制

  • Pyramiding(加仓层数)设置为 99,允许执行多个 DCA 加仓订单。

  • 尽管如此,策略逻辑始终只管理一个整体仓位,不会同时运行多个独立仓位。

  • 脚本使用:

calc_on_order_fills = false

因此在回测过程中:

  • DCA 限价单成交后,

  • 不会在同一根 K 线内继续生成新的 DCA 订单。

这属于标准回测行为,但可能与实时交易表现存在差异。

  • DCA 订单价格由 DCA 公式计算得出,并以限价单方式挂出。

在回测中:

如果价格触及该限价位,订单通常会在下一根 K 线成交。

  • 止损安全检查采用简化计算模型。

如果策略显示止损相关警告,请务必手动验证止损位置是否合理。

  • 脚本中包含用于 WunderTrading 集成的 JSON 相关函数,但本文档未进行详细说明。

如果您不使用 WunderTrading,可以忽略这些内容。

  • 可启用 STD+Percentile(AT / SAT) 的可视化功能,以便更直观地观察过滤器行为。


Wunder DCA Bot 是一套功能极其强大的 DCA(定投加仓)策略,提供丰富的入场、过滤和出场机制。

其通过:

  • 多层 DCA 网格

  • 波动率分析

  • STD+Percentile(AT / SAT)

  • 趋势过滤器

实现对市场环境的动态适应。

然而,强大的灵活性也意味着更高的复杂度。

虽然回测结果可能非常优秀,但由于以下因素:

  • 滑点(Slippage)

  • 实际成交情况

  • 市场结构变化

  • 流动性差异

实盘表现未必能够完全复制回测结果。

因此,强烈建议您:

  1. 先使用模拟账户(Demo Account)测试;

  2. 验证 DCA 网格行为;

  3. 检查止损位置;

  4. 验证出场逻辑;

  5. 确认所有参数符合您的交易风格。

请务必记住:

DCA 策略会在不利行情中持续增加仓位,因此风险敞口也会同步扩大。

在使用本策略之前,请确保您选择的参数设置与自身风险承受能力相匹配,并始终遵循严格的资金管理原则。

这是否解答了您的问题?