如何在 WunderTrading 上自动化运行 Wunder DCA TradingView 策略
前往 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 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. 快速开始
将脚本添加到您的 TradingView 图表中。
设置回测时间范围(可选)。
配置 风险与资金管理(Risk & Money Management),定义您的交易资金规模。
在 Core Settings → Entry Condition Type(核心设置 → 入场条件类型) 中选择入场方式。
调整 DCA 参数:
加仓订单数量
价格偏离
仓位倍数
偏离倍数等
根据需要启用或禁用趋势过滤器,并设置相应方法及参数。
配置止盈(TP)和止损(SL):
使用固定百分比;
或使用风险回报比(Risk/Reward)模式。
如有需要,配置:
追踪止损(Trailing Stop)
移动止损至保本价(Breakeven)
选择出场方式及对应的技术指标。
运行回测并优化参数。
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 | 用于计算仓位规模的资金金额。 |
注意:当前版本不包含“单笔交易风险百分比(Risk Per Trade %)”功能。仓位大小的计算方式仅为“资金金额 ÷ 开仓价格”。
3.3 策略设置
3.3.1 策略设置(止盈/止损)
参数 | 类型 | 取值范围 / 选项 | 默认值 | 说明 / 生效条件 |
Use TP |
| true/false | true | 启用止盈功能。 |
Use SL |
| true/false | true | 启用止损功能。 |
Take Profit (%) |
| min=0.1 | 3.5 | 固定百分比止盈(TP)。当风险回报比(RR)功能关闭,或仅启用止盈(TP)时使用。 |
Stop Loss (%) |
| min=0.1, max=100 | 3.5 | 固定百分比止损(SL)。当启用止损(SL)时使用。 |
3.3.2 风险回报比
仅在同时启用止盈(TP)和止损(SL)时显示。
参数 | 类型 | 取值范围 / 选项 | 默认值 | 说明 / 生效条件 |
Condition RR |
| true/false | true | 风险回报比(Risk/Reward)总开关。关闭后,止盈(TP)将使用固定止盈百分比(Take Profit %)进行设置。 |
Simple fraction / Decimal |
| Simple fr, Decimal | Simple fraction | 选择风险回报比(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 按“风险 ÷ 回报(Risk / Reward)”计算。如果 RR = 0.5,则止盈(TP)距离将设置为止损(SL)距离的两倍。
3.3.3 追踪止损(Trailing Stop)
参数 | 类型 | 取值范围 | 默认值 | 说明 |
Use TS |
| true/false | true | 启用追踪止损功能。 |
Trailing Stop Activation (%) |
| min=0.01, step=0.1 | 0.4 | 从开仓价格开始计算,达到指定价格变动百分比后激活追踪止损。 |
Trailing Stop Execution (%) |
| min=0.01, step=0.1 | 0.6 | 追踪止损激活后,止损位将设置在最高价(多头)或最低价(空头)之后指定百分比距离的位置。 |
3.3.4 移动止损至保本价 (Move Stop Loss to Breakeven)
参数 | 类型 | 取值范围 | 默认 | 说明 |
Use MSL |
| true/false | true | 启用移动止损至保本价功能。 |
MSL activation (%) |
| min=0.01, step=0.1 | 0.5 | 从开仓价格开始计算,达到指定价格变动百分比后,将止损位移动至保本价(开仓价)。 |
3.4 DCA 设置
这些参数用于定义 DCA(定投加仓)订单网格。
参数 | 类型 | 取值范围 | 默认 | 说明 |
Max DCA orders |
| min=1, max=30 | 5 | 订单总数量(包含基础订单)。例如:5 表示 1 笔基础订单 + 4 笔 DCA 加仓订单。 |
Price deviation |
| min=0.1, max=20.0 | 1.00 | 第一笔 DCA 加仓订单的初始价格偏离百分比。 |
Order size multiplier |
| min=1.0, max=10.0 | 2.01 | 后续每笔 DCA 加仓订单的仓位倍数。 |
Price dev. multiplier |
| min=1.0, max=10.0 | 1.0 | 应用于后续每笔订单价格偏离的倍数。 |
DCA Take-profit anchor point |
| average_price, entry_order | average_price | 确定止盈(TP)计算所使用的参考价格: |
DCA Stop-loss anchor point |
| entry_order, average_price | entry_order | 确定止损(SL)计算所使用的参考价格。 |
3.5 风险回报比
3.5.1 交易方向
参数 | 类型 | 选项 | 默认 | 说明 |
Trade direction |
| LONG, SHORT, BOTH, NONE | BOTH | 限制策略允许开仓的交易方向。 |
3.5.2 入场条件类型
参数 | 类型 | 选项 | 默认 | 说明 |
Entry condition type |
| Breakout, MACD, Bollinger, Price Change, VWRSI, ASAP | Breakout | 选择用于生成初始入场信号的主要指标。 |
3.6 入场条件指标
3.6.1 突破
参数 | 类型 | 取值范围 | 默认 | 说明 |
Timeframe |
| any valid TF | 'D' | 用于计算日内高点/低点的高时间周期。 |
逻辑:当 close[1] <= dailyLow 且 close > dailyLow 时产生多头信号;当 close[1] >= dailyHigh 且 close < dailyHigh 时产生空头信号。
3.6.2 MACD
参数 | 类型 | 取值范围 | 默认 | 说明 |
Fast Length |
| min=1 | 3 | 快速 EMA(指数移动平均线)周期。 |
Slow Length |
| min=1 | 21 | 慢速 EMA(指数移动平均线)周期。 |
Signal Smoothing |
| min=1, max=50 | 9 | 信号线 EMA 周期。 |
逻辑:当 MACD 向上穿越信号线且信号线 < 0 时产生多头信号;当 MACD 向下穿越信号线且信号线 > 0 时产生空头信号。
3.6.3 布林带
参数 | 类型 | 取值范围 | 默认 | 说明 |
BBPeriod |
| min=1 | 210 | SMA 基准线计算周期。 |
StdDev |
| min=0.001, max=50 | 2.5 | 通道(Bands)所使用的标准差倍数。 |
逻辑:当 close[1] < lowerBand 且 close > lowerBand 时产生多头信号;当 close[1] > upperBand 且 close < upperBand 时产生空头信号。
3.6.4 VWRSI
参数 | 类型 | 取值范围 | 默认 | 说明 |
Length |
| min=1 | 14 | RSI(相对强弱指数)周期。 |
VWRSI lower limit |
| (no explicit limits) | 20 | 多头入场的超卖阈值。 |
VWRSI upper limit |
| (no explicit limits) | 80 | 空头入场的超买阈值。 |
逻辑:当 VWRSI 向上突破下限时产生多头信号;当 VWRSI 向下跌破上限时产生空头信号。
3.6.5 价格变化
参数 | 类型 | 取值范围 | 默认 | 说明 |
Price Change Period |
| min=1 | 14 | 用于计算价格变化的回溯 K 线数量。 |
Price Cap, % |
| 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 |
| true/false | false | 启用价格变化(Price Change)条件的 RSI 过滤器。 |
RSI period |
| (no explicit limits) | 14 | RSI 计算周期。 |
RSI lower limit |
| (no explicit limits) | 20 | 多头开仓时,RSI 必须低于该数值。 |
RSI upper limit |
| (no explicit limits) | 80 | 空头开仓时,RSI 必须高于该数值。 |
3.7 趋势过滤器设置
趋势过滤器作为额外的入场筛选条件,必须满足后才允许开仓。可选择禁用(None),或设置为六种指标类型中的一种。
参数 | 类型 | 选项 | 默认 | 说明 |
Filter indicator type |
| none, Super Trend, SMA, EMA, TEMA, ATR, STD+Percentile | none | 选择趋势过滤器。启用后将显示相关子参数。 |
3.7.1 SuperTrend 过滤器
仅当“Filter Indicator Type(过滤器指标类型)”选择为 SuperTrend 时显示。
参数 | 类型 | 选项 | 默认 | 说明 |
Super Trend filter type |
| Trend Direction, Trend Confirmation, Price Distance | Trend Direction | 确定 SuperTrend 的使用方式。 |
ATR Length (global) |
| min=1 | 10 | 用于计算 SuperTrend 的 ATR 周期。 |
Factor (global) |
| min=0.01 | 3.0 | SuperTrend 的 ATR 倍数。 |
SuperTrend confirmation bars (only for Trend Confirmation) |
| min=1 | 10 | 确认趋势所需连续保持的 K 线数量。 |
SuperTrend Price-ATR Threshold (only for Price Distance) |
| min=0.001 | 0.5 | 价格与 SuperTrend 距离除以 ATR 后所需达到的最小比值。 |
SuperTrend Price-ATR ATRperiod (only for Price Distance) |
| 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 |
| 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 |
| 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 |
| 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 |
| Volatility Level, Historical Comparison, Adaptive Threshold | Volatility Level |
|
Volatility threshold (for Volatility Level) |
| min=0.000001 | 0.05 | ATR 必须高于该数值。 |
Market condition (for Historical Comparison) |
| Active market, Calm market | Active market | 将当前 ATR 与其历史平均值(最近 100 根 K 线 ATR 的 SMA)进行比较。Active:当前 ATR > 平均值;Calm:当前 ATR < 平均值。 |
Adaptive Threshold Range (%) (for Adaptive Threshold) |
| 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 |
| Low Volatility, High Volatility, Historical Comparison, Adaptive Threshold, Smart Adaptive Threshold | Low Volatility |
|
Show Indicator "STD+Percentile" |
| true/false | false | 在独立指标窗口中显示该指标。 |
Market condition (for Historical Comparison, Adaptive Threshold, SAT) |
| Active market, Calm market | Active market | 定义市场状态(Regime)。 |
Standard Deviation Window |
| (no explicit limits) | 280 | 标准差(Stdev)计算的回溯周期。 |
Percentile Window |
| (no explicit limits) | 280 | 百分位数计算的回溯周期。 |
Percentile |
| (no explicit limits) | 75 | 百分位水平(例如第 75 百分位)。 |
低 / 高波动率历史比较
低波动模式:要求
std_dev < percentile_75且std_dev < std_dev[1](波动率持续下降)。高波动模式:要求
std_dev > percentile_75且std_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μ) |
| min=2 | 50 | 标准差(std_dev)SMA 的计算周期(基准值 μ)。 |
SAT: Width SMA length (Lw) |
| min=2 | 50 | 相对于基准值绝对偏差 SMA 的计算周期(宽度 w)。 |
SAT: Corridor width multiplier (k) |
| min=0.1, step=0.1 | 1.5 | 用于设置通道宽度的倍数:low = μ − k × w,high = μ + k × w。 |
SAT: Active zone floor (u_min, 0..1) |
| min=0.0, max=1.0, step=0.01 | 0.65 | Active 模式下,通道内归一化位置的下限。 |
SAT: Active zone ceiling (u_max, 0..1) |
| min=0.0, max=1.0, step=0.01 | 0.95 | Active 模式下,通道内归一化位置的上限。 |
SAT: Calm zone floor (u_min, 0..1) |
| min=0.0, max=1.0, step=0.01 | 0.10 | Calm 模式下,通道内归一化位置的下限。 |
SAT: Calm zone ceiling (u_max, 0..1) |
| min=0.0, max=1.0, step=0.01 | 0.40 | Calm 模式下,通道内归一化位置的上限。 |
SAT: Enable hysteresis |
| true/false | false | 启用后,使用独立的入场区与出场区,以减少信号频繁切换。 |
SAT: Hysteresis margin (h, 0..1) |
| min=0.0, max=0.50, step=0.01 | 0.03 | 用于扩展持仓区/出场区的缓冲边界。 |
SAT: Show hysteresis bands |
| true/false | false | 绘制扩展后的持仓区与出场区。 |
SAT 逻辑:
计算
μ = SMA(std_dev, Lμ),w = SMA(|std_dev - μ|, Lw)。通道范围:
low = max(0, μ - k·w),high = μ + k·w。归一化位置:
u = (std_dev - low) / (high - low),并限制在[0,1]区间内。在活跃模式下,如果
std_dev位于通道内,且u落在[active_floor, active_ceiling]区间内,则 SAT 条件通过。在平静模式下,则使用 Calm 对应的上下限。如果启用迟滞机制(Hysteresis),入场判断使用原始边界;持仓判断则使用扩展后的边界
[u_min - h, u_max + h](并限制在有效范围内),同时结合状态记忆以减少频繁切换。
3.8 出场设置
3.8.1 出场方式
参数 | 类型 | 选项 | 默认 | 说明 |
Exit method |
| indicator only, TP only, indicator or TP (First) | indicator or TP (First) | 确定仓位平仓方式。 |
仅指标出场:仅当出场指标触发时平仓。
仅止盈出场:仅当价格触及止盈目标时平仓。
指标或止盈优先触发:指标出场信号或止盈目标,哪个先触发就按哪个平仓。
3.8.2 出场指标类型
仅当“Exit Method(出场方式)”不等于“TP only(仅止盈)”时显示
参数 | 类型 | 选项 | 默认 | 说明 |
Exit indicator type |
| RSI, SMA, CRSI, MACD, Super Trend | RSI | 选择用于生成平仓信号的指标。 |
3.8.3 出场参数
每个出场指标都有各自的参数和子方法。
RSI 出场
参数 | 类型 | 选项 / 取值范围 | 默认 | 说明 |
RSI exit type |
| Overbought/Oversold, Level Reversal, Signal Line Cross | Overbought/Oversold |
|
RSI period |
| min=1 | 14 | RSI 周期。 |
RSI lower limit |
| (no explicit) | 20 | 超卖阈值(在某些模式下用于空头平仓)。 |
RSI upper limit |
| (no explicit) | 80 | 超买阈值(用于多头平仓)。 |
Signal MA Length (for Signal Line Cross) |
| min=1 | 14 | 信号线的移动平均线周期。 |
Signal MA Type (for Signal Line Cross) |
| RMA, SMA, EMA, WMA | RMA | 移动平均线类型。 |
逻辑:
超买/超卖:当 RSI 向上突破超买阈值时,多头平仓;当 RSI 向下跌破超卖阈值时,空头平仓。
水平反转:当 RSI 向下跌破超买阈值时,多头平仓;当 RSI 向上突破超卖阈值时,空头平仓。
信号线交叉:当 RSI 与其信号均线(Signal MA)发生交叉时平仓(多头在 RSI 下穿信号线时平仓,空头在 RSI 上穿信号线时平仓)。
SMA 出场
使用快速和慢速 SMA(类似于 SMA 趋势过滤器,但使用独立的周期参数)。
参数 | 类型 | 选项 | 默认 | 说明 |
SMA exit type |
| Price‑SMA position, Price‑SMA with slope, SMA Comparison | Price‑SMA position |
|
Fast SMA Length |
| min=1 | 9 |
|
Fast SMA Source |
| - | close |
|
Fast SMA Offset |
| -500 to 500 | 0 |
|
Fast SMA Smoothing Type |
| None, SMA, EMA, RMA, WMA, VWMA | None | 对 SMA 进行额外平滑处理。 |
Fast SMA Smoothing Length |
| min=1 (if smoothing not None) | 14 |
|
Slow SMA Length |
| min=1 | 24 |
|
Slow SMA Source |
| - | close |
|
Slow SMA Offset |
| -500 to 500 | 0 |
|
Slow SMA Smoothing Type |
| None, SMA, EMA, RMA, WMA, VWMA | None |
|
Slow SMA Smoothing Length |
| 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 |
| Overbought/Oversold, Level Reversal, Signal Line Cross | Overbought/Oversold |
|
RSI Length |
| min=1 | 3 | RSI 组成部分的计算周期。 |
UpDown Length |
| min=1 | 2 | 连续上涨/下跌周期 RSI 的计算周期。 |
ROC Length |
| min=1 | 100 | ROC(变化率)百分位排名的计算周期。 |
CRSI lower limit |
| (no explicit) | 10 | 超卖阈值(用于空头平仓)。 |
CRSI upper limit |
| (no explicit) | 90 | 超买阈值(用于多头平仓)。 |
Signal MA Length (for Signal Line Cross) |
| min=1 | 14 |
|
Signal MA Type (for Signal Line Cross) |
| RMA, SMA, EMA, WMA | RMA |
|
逻辑与 RSI 类似,但使用不同的默认阈值(10/90)。
MACD 出场
参数 | 类型 | 选项 | 默认 | 说明 |
MACD exit type |
| Line Cross, Zero Cross, Histogram, Decay, Slope, Divergence, MACD+SMA, Neutral | Line Cross |
|
Fast Length |
| min=1 | 3 |
|
Slow Length |
| min=1 | 21 |
|
Signal Smoothing |
| min=1, max=50 | 9 |
|
MACD combo SMA Period (for MACD+SMA) |
| 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 |
| min=1 | 10 | ATR 周期。 |
Factor |
| min=0.01 | 3.0 | 倍数。 |
逻辑:当 SuperTrend 方向由下降转为上升时平多仓(即 direction 增加);当方向由上升转为下降时平空仓。
3.9 其他设置
参数 | 类型 | 取值范围 | 默认 | 说明 |
Show Extra Order Line |
| 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 是所有过滤器中功能最复杂的一种。
建议按以下顺序逐步使用:
Low Volatility(低波动)
High Volatility(高波动)
Adaptive Threshold(AT)
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)
实际成交情况
市场结构变化
流动性差异
实盘表现未必能够完全复制回测结果。
因此,强烈建议您:
先使用模拟账户(Demo Account)测试;
验证 DCA 网格行为;
检查止损位置;
验证出场逻辑;
确认所有参数符合您的交易风格。
请务必记住:
DCA 策略会在不利行情中持续增加仓位,因此风险敞口也会同步扩大。
在使用本策略之前,请确保您选择的参数设置与自身风险承受能力相匹配,并始终遵循严格的资金管理原则。












