
ダブル・スムージド・ストキャスティック・ブレスレット・ストラテジー (Double Smoothed Stochastic Bressert Strategy) は,ウィリアム・ブラウが考案した量的な取引戦略である.移動平均法と振動器の原理を組み合わせようと試みている.
この戦略は,一連の二平面ランダム指数を計算して取引シグナルを生成する.具体的には,まず価格の二平面ランダム指数を計算し,その二平面ランダム指数に再び平面平均を適用して,二平面ランダム指数が得られる.トリガーラインが二平面ランダム指数を通過すると,買入または売り出出のシグナルを生成する.
この戦略は,移動平均のトレンドフォロー能力と,ランダムな指数の超買超売の識別能力を組み合わせている.主要優点は以下の通りである.
ブラッサーの戦略にはいくつかのリスクがあります.
対策として
この戦略は,以下の点で最適化できます.
双平滑ランダム指数ブレッサー戦略は,移動平均とランダム指数の優位性を融合し,超買超売点を識別し,トレンドをフォローする能力を有する.双平滑とトリガーライン設定により,ノイズ信号を効果的にフィルターすることができる.しかし,パラメータ最適化とリスク管理に注意する必要がある.
/*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")