
Double Smoothed Stochastic Bressert Strategy adalah strategi perdagangan kuantitatif yang direka oleh William Blau. Ia cuba menggabungkan kaedah purata bergerak dengan prinsip pengayun.
Strategi ini menghasilkan isyarat dagangan dengan mengira satu siri indeks rawak ganda. Khususnya, ia terlebih dahulu mengira indeks rawak halus harga, dan kemudian menerapkan rata-rata halus pada indeks rawak itu sekali lagi, untuk mendapatkan rawak rawak ganda. Apabila garis pemicu melintasi indeks rawak ganda, menghasilkan isyarat beli atau jual.
Strategi ini menggabungkan keupayaan untuk mengikuti trend pada purata bergerak dan keupayaan untuk mengenal pasti overbought dan oversold pada indeks rawak. Kelebihan utama adalah sebagai berikut:
Strategi Bresser dengan indeks rawak ganda juga mempunyai beberapa risiko:
Kaedah pencegahan:
Strategi ini juga boleh dioptimumkan dalam beberapa aspek:
Strategi Bresser yang menggabungkan kelebihan rata-rata bergerak dan indeks rawak mempunyai keupayaan untuk mengenal pasti overbought dan oversell dan mengikuti trend. Melalui penyelarasan ganda dan tetapan garis pemicu, isyarat bising dapat disaring dengan berkesan. Tetapi masih perlu memberi perhatian kepada pengoptimuman parameter dan kawalan risiko untuk mendapatkan keuntungan yang stabil di dalam talian.
/*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")