
이 전략은 123 반전과 SMA 탄력 진동기의 두 가지 자策略을 결합하여 쌍궤도 필터링 신호의 트렌드 추적 전략을 형성한다.123 반전 전략은 K선 형태를 통해 잠재적인 전환점을 판단한다. SMA 탄력 진동기는 이동 평균을 사용하여 트렌드 방향을 결정한다. 둘은 상호 검증되어 두 개의 확인 메커니즘을 형성하여 잘못된 신호를 효과적으로 필터링하고 강한 트렌드 방향을 포착하여 트렌드 추적 거래를 구현한다.
이 전략은 울프 센의 ?? 나는 어떻게 선물 시장에서 3배의 수익을 얻는가 ?? 의 P183의 시스템에서 유래했다. 반전형 전략에 속한다. 종전 가격이 전날의 종전 가격보다 2일 연속으로 높고, 9일에는 무작위 지표의 느린 선이 50보다 낮아지면 더 많이 한다. 종전 가격이 전날의 종전 가격보다 2일 연속으로 낮아지고, 9일에는 무작위 지표의 빠른 선이 50보다 높을 때, 공백한다.
이 지표는 윌리엄 블라우 (William Blau) 가 개발한 TSI 지표와 비슷하지만 SMA 진동기는 신호선을 포함한다. SMA 탄력 지표는 가격을 전날의 가격의 쌍용 이동 평균을 사용하여 SMA의 지수 이동 평균을 신호선으로 그리며 거래 신호를 발송한다. 지표 파라미터를 조정하여 최적화 할 수 있다.
이중 확인: 123 회전과 SMA 탄력 지표가 동방향으로 신호를 발산할 때만 포지션을 개시한다. 두 신호 방향이 일치하지 않을 때, 공백 포지션을 유지한다.
다양한 지표가 결합되어, 이중 확인 메커니즘을 형성하여, 오류 신호를 효과적으로 필터링할 수 있다.
123 역전 전략은 K선 형태를 이용하여 잠재적인 역전점을 판단한다. SMA 탄력 진동기는 추세를 판단하여 신호를 발산하며, 둘은 상호 검증되며, 단일 지표의 결함을 보완한다.
SMA 탄력 진동기 매개 변수는 조정할 수 있으며, 다양한 품종과 주기에 대해 최적화할 수 있으며, 유연성이 강하다.
전체적으로 트렌드 추적 전략으로, 더 강한 동력의 방향을 지속적으로 잡을 수 있습니다.
역전 전략과 추세 전략의 통합과 균형은 지속적으로 최적화되어야 하며, 그렇지 않으면 전환점을 놓치거나 큰 손실을 초래할 수 있다.
반전 전략 자체에는 잘못된 거래의 위험이 있으며, 실패율을 낮추기 위해 파라미터를 조정해야 한다.
순수 추적 전략은 트렌드 반전 지점을 판단할 수 없으며, 손실의 잠재적인 위험이 있다. 적시에 포지션을 줄여서 위험을 회피해야 한다.
다양한 품종과 주기 파라미터에 대한 반복적인 최적화 테스트가 필요하며, 하드슈트를 옮기는 것은 바람직하지 않다.
123 회전 파라미터를 조정하여 잘못된 거래 빈도를 줄여줍니다.
SMA 탄력 진동기 매개 변수를 조정하여 지표의 민감도를 최적화한다.
단편적 손실을 줄이기 위한 스톱로스 전략을 추가합니다.
다른 지표와 함께 잠재적인 반전을 판단하고, 적시에 지분을 줄이는 것.
다양한 품종의 파라미터를 최적화하여 안정성을 향상시키는 테스트.
이 전략은 이중 확인 메커니즘을 통해 역전과 트렌드 전략의 장점을 통합하여 강력한 트렌드 추적 효과를 형성한다. 잡음을 효과적으로 제거하고, 결과적으로 우수한 트렌드 기회를 지속적으로 잡을 수 있다. 또한, 지속적인 최적화 파라미터를 필요로하는 특정 회수 위험도 존재한다.
/*backtest
start: 2022-10-30 00:00:00
end: 2023-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 14/07/2021
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The SMI Ergodic Indicator is the same as the True Strength Index (TSI) developed by
// William Blau, except the SMI includes a signal line. The SMI uses double moving averages
// of price minus previous price over 2 time frames. The signal line, which is an EMA of the
// SMI, is plotted to help trigger trading signals. Adjustable guides are also given to fine
// tune these signals. The user may change the input (close), method (EMA), period lengths
// and guide values.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
SMI_Erg(fastPeriod, slowPeriod,SmthLen, TopBand,LowBand) =>
pos = 0.0
xPrice = close
xPrice1 = xPrice - xPrice[1]
xPrice2 = abs(xPrice - xPrice[1])
xSMA_R = ema(ema(xPrice1,fastPeriod),slowPeriod)
xSMA_aR = ema(ema(xPrice2, fastPeriod),slowPeriod)
xSMI = xSMA_R / xSMA_aR
xEMA_SMI = ema(xSMI, SmthLen)
pos:= iff(xEMA_SMI < LowBand, -1,
iff(xEMA_SMI > TopBand, 1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & SMI Ergodic Oscillator", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- SMI Ergodic Oscillator ----")
fastPeriod = input(4, minval=1)
slowPeriod = input(8, minval=1)
SmthLen = input(3, minval=1)
TopBand = input(0.5, step=0.1)
LowBand = input(-0.5, step=0.1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posSMI_Erg = SMI_Erg(fastPeriod, slowPeriod,SmthLen, TopBand,LowBand )
pos = iff(posReversal123 == 1 and posSMI_Erg == 1 , 1,
iff(posReversal123 == -1 and posSMI_Erg == -1, -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)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )