Double Smoothed Stochastic Bressert Strategy adalah strategi perdagangan kuantitatif yang dirancang oleh William Blau. Ini mencoba untuk menggabungkan metode moving average dengan prinsip oscillator.
Strategi ini menghasilkan sinyal perdagangan dengan menghitung serangkaian indeks acak ganda. Secara khusus, ia pertama-tama menghitung indeks acak ganda harga, dan kemudian menerapkan rata-rata acak ganda ke indeks acak ganda itu lagi, dan mendapatkan indeks acak ganda ganda. Ketika garis pemicu melewati indeks acak ganda, menghasilkan sinyal beli atau jual.
Strategi ini menggabungkan kemampuan untuk mengikuti tren dari moving average dan kemampuan untuk mengidentifikasi overbought dan oversold dari indeks acak. Keunggulan utama adalah sebagai berikut:
Strategi Bresser dengan indeks acak ganda juga memiliki beberapa risiko:
Tanggapan:
Strategi ini juga dapat dioptimalkan dalam beberapa hal:
Strategi Bresser menggabungkan keuntungan dari moving average dan random index, dengan kemampuan untuk mengidentifikasi overbought dan oversold dan mengikuti tren. Dengan pengaturan double smoothing dan trigger line, sinyal noise dapat disaring secara efektif. Namun, perlu diperhatikan pengoptimalan parameter dan pengendalian risiko untuk mendapatkan keuntungan yang stabil di real time.
/*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")