
이중 매끄러운 스토카스틱 브레서트 전략 (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")