双平滑随机指数布雷瑟策略(Double Smoothed Stochastic Bressert Strategy)是由William Blau设计的一种量化交易策略。它试图将移动平均方法与振荡器原理相结合。
该策略通过计算一系列双平滑随机指数来产生交易信号。具体来说,它首先计算价格的平滑随机指数,然后对该随机指数再次应用平滑平均,得到“双平滑随机指数”。当触发线穿越双平滑随机指数时,产生买入或卖出信号。
该策略结合了移动平均线的趋势跟随能力和随机指数的超买超卖识别能力。主要优势如下:
双平滑随机指数布雷瑟策略也存在一些风险:
对策:
该策略还可以从以下几个方面进行优化:
双平滑随机指数布雷瑟策略融合了移动平均线和随机指数的优点,具有识别超买超卖点和跟随趋势的能力。通过双重平滑和触发线设定,可有效过滤噪声信号。但仍需注意参数优化与风险控制,方能在实盘中获得稳定收益。
/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 05/04/2017
// Double Smoothed Stochastics (DSS) is designed by William Blaw.
// It attempts to combine moving average methods with oscillator principles.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="DSS Bressert (Double Smoothed Stochastic)", shorttitle="DSS Bressert")
PDS = input(10, minval=1)
EMAlen = input(9, minval=1)
TriggerLen = input(5, minval=1)
Overbought = input(80, minval=1)
Oversold = input(20, minval=1)
reverse = input(false, title="Trade reverse")
hline(Overbought, color=green, linestyle=line)
hline(Oversold, color=red, linestyle=line)
xPreCalc = ema(stoch(close, high, low, PDS), EMAlen)
xDSS = ema(stoch(xPreCalc, xPreCalc, xPreCalc, PDS), EMAlen)
//xDSS = stoch(xPreCalc, xPreCalc, xPreCalc, PDS)
xTrigger = ema(xDSS, TriggerLen)
pos = iff(xTrigger < xDSS and xTrigger < Oversold, -1,
iff(xTrigger > xDSS and xTrigger > Overbought, 1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xDSS, color=blue, title="DSS")
plot(xTrigger, color=red, title="Trigger")