이 전략은 더 신뢰할 수 있는 거래 신호를 얻기 위해 역전 및 오시레이터 전략을 결합합니다. 역전 예측 전략과 Chande Forecast Oscillator 전략을 통합하여 두 전략이 동시에 구매 또는 판매 신호를 생성 할 때 거래를 실행합니다.
역전 예측 전략
오버바운드 및 오버팔드 조건을 식별하기 위해 스토카스틱 오시레이터를 사용
스토카스틱 오시레이터가 과잉 구매 또는 과잉 판매 수준에 도달하는 동안 2 바 이상의 가격 전환을 닫을 때 역방향 거래를 수행하십시오.
가격 예측을 위해 선형 회귀 분석을 사용
오시일레이터는 종료 가격과 예측 가격의 비율 차이를 그래프로 나타냅니다.
실제 가격이 예측 가격과 크게 다르면 거래 신호를 생성합니다
전략 규칙
동시에 두 전략에서 신호를 계산
두 전략이 구매 또는 판매에 동의할 때만 실제 거래 신호를 생성합니다.
조합은 개별 전략에서 잘못된 신호를 필터링하여 신뢰성을 향상시킵니다.
여러 전략을 결합하면 더 강력한 시장 평가가 가능합니다.
단일 지표에서 발생할 수 있는 잘못된 신호를 필터링합니다
회전 전략은 단기 회전 기회를 포착합니다.
유연한 스토카스틱 오시레이터 매개 변동 시장에 적응할 수 있는 매개 변수
다양한 거래 전망을 활용하기 위해 분석 기술을 혼합합니다.
더 신뢰할 수 있지만, 콤보 전략은 신호 주파수를 줄입니다.
여러 전략 매개 변수들의 복잡한 최적화를 요구합니다.
시간 회전이 어렵고 손실 위험이 있습니다.
선형 회귀 예측은 가격 변동이 있을 때 효과적이지 않습니다.
스토카스틱 오시레이터에서 가격 오차를 관찰하십시오.
백테스트 데이터가 충분하지 않고 실전 성능이 불확실합니다.
K와 D 기간을 줄임으로써 스토카스틱 오시레이터를 최적화합니다.
최적을 찾기 위해 더 많은 선형 회귀 기간을 테스트
손실을 제한하기 위해 Stop Loss를 추가합니다.
스토카스틱 오시레이터가 극에 도달할 때까지 기다리는 논리를 조정하십시오.
거래 도구의 통계적 특성을 분석
안정성을 위해 MACD와 같은 더 많은 지표를 포함합니다.
이 전략은 여러 분석 기법을 합성하고 조합을 통해 신호 품질을 향상시켜 단기적 역전과 장기적 트렌드를 모두 포착합니다. 그러나 라이브 성능은 검증되고 그에 따라 매개 변수를 조정해야합니다. 개념적 프레임워크는 더 많은 지표와 전략으로 확장 될 수 있으며 실용적인 거래 지침을 제공합니다. 전반적으로 전략은 의미있는 혁신과 참조를 제공합니다.
/*backtest start: 2023-09-09 00:00:00 end: 2023-10-09 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 08/08/2019 // 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 Chande Forecast Oscillator developed by Tushar Chande The Forecast // Oscillator plots the percentage difference between the closing price and // the n-period linear regression forecasted price. The oscillator is above // zero when the forecast price is greater than the closing price and less // than zero if it is below. // // 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 ChandeForecastOscillator(Length, Offset) => pos = 0 xLG = linreg(close, Length, Offset) xCFO = ((close -xLG) * 100) / close pos := iff(xCFO > 0, 1, iff(xCFO < 0, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Chande Forecast Oscillator", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- LengthCFO = input(14, minval=1) Offset = input(0) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posChandeForecastOscillator = ChandeForecastOscillator(LengthCFO, Offset) pos = iff(posReversal123 == 1 and posChandeForecastOscillator == 1 , 1, iff(posReversal123 == -1 and posChandeForecastOscillator == -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 )