이 전략은 주로 두 가지 다른 유형의 전략의 신호를 결합하여 전략 신호를 중첩하고 신호 품질을 향상시킵니다. 첫 번째 유형의 전략은 크로스 트렌드 역전 전략이며 두 번째 유형의 신호는 3 10 오시레이터 전략입니다.
이 전략은 책
이 전략은 3일 이동 평균과 10일 이동 평균의 차이를 사용하여 지표를 구성합니다. 구체적으로, 3일 기하급수적 이동 평균 빼기 10일 기하급수적 이동 평균입니다. 차이점은 빠른 라인입니다. 이 빠른 라인의 16일 간단한 이동 평균을 취하면 느린 라인을 제공합니다. 빠른 라인이 아래에서 위로 느린 라인을 뚫고 갈 때 길게; 빠른 라인이 위에서 아래로 느린 라인을 뚫고 갈 때 짧게.
이 복합 신호는 다음과 같은 장점을 가지고 있습니다.
가짜 신호를 필터링하고 신호 품질을 향상
동시에 같은 방향으로 신호를 보내기 위해 두 가지 전략이 필요하기 때문에 하나의 전략에서 가짜 신호의 영향을 피할 수 있으며, 이로 인해 신호 신뢰성이 향상됩니다.
여러 거래 아이디어를 통합
역전 전략과 트렌드 전략을 결합하면 두 가지 아이디어가 어느 정도 통합됩니다. 전략의 맹점을 줄이고 더 포괄적인 시장 관점을 얻습니다.
높은 유연성
실제 필요에 따라 참여 전략의 조합은 다양한 유형의 전략을 결합함으로써 더 다양한 조합 전략을 만들기 위해 조정 될 수 있습니다.
모순된 가정
이 전략의 기본 가정은 여러 전략이 서로 신호를 확인할 수 있다는 것입니다. 그러나 이론적으로는 모든 전략이 동시에 잘못된 신호를 줄 수도 있습니다.
불일치 신호
두 가지 전략 신호가 일치하지 않을 때 어느 전략이 더 신뢰할 수 있는지 결정하는 것은 불가능하며 결정 위험이 있습니다.
매개 변수 불일치
부적절한 매개 변수 설정으로 인해 일부 전략이 제대로 작동하지 않을 수 있으며, 결과적으로 전략 조합의 예상 효과를 달성하지 못합니다.
대책:
다수 투표를 위한 전략의 수를 늘려
개별 신호로부터 손실을 제어하기 위해 중지 손실 포인트를 설정
정상적인 전략 운영을 보장하기 위해 매개 변수를 최적화
이 전략은 또한 다음과 같은 방향으로 최적화 될 수 있습니다.
더 많은 전략의 조합을 증가
신호 품질을 더 향상시키기 위해 조합 전략을 형성하기 위해 더 많은 다른 유형의 전략을 추가합니다.
사전 필터링 조건
시장 조건에 따라 시장 필터링과 같은 몇 가지 사전 조건이 설정될 수 있습니다. 부적절한 시장 조건에서 포지션을 개설하는 것을 피하기 위해서입니다.
전략 무게를 동적으로 조정합니다.
조합의 다른 전략의 무게는 그들의 역사적 성과에 따라 동적으로 조정될 수 있으므로 더 나은 성과를 가진 전략이 더 큰 역할을 할 수 있습니다.
매개 변수 세부 사항을 최적화
보다 체계적인 접근법을 사용하여 최적의 매개 변수를 얻기 위해 각 전략의 내부 매개 변수를 신중하게 테스트하고 최적화 할 수 있습니다.
이 전략은 멀티 전략 오버레이 복합 전략에 속한다. 크로스 트렌드 역전 전략과 3-10 오스실레이션 전략이라는 두 가지 하위 전략을 통합한다. 거래 신호가 같은 방향으로 있을 때만 거래 명령을 생성하여 단일 전략에서 가짜 신호를 효과적으로 필터링하고 신호 품질을 향상시킬 수 있다. 단일 전략과 비교하면, 이 유형의 전략 조합은 신호 신뢰성 높고 더 강한 오류 내성을 갖는 등의 장점을 가지고 있다. 그러나 일관성 가정에 의한 위험도 주목해야 하며, 이를 통제하기 위한 적절한 조치를 취해야 한다. 일반적으로 이 멀티 전략 조합 프레임워크는 확장 잠재력이 크며, 더 많은 하위 전략을 추가하고, 매개 변수를 최적화하고 필터링 조건을 설정함으로써 심화될 수 있다.
/*backtest start: 2024-01-11 00:00:00 end: 2024-01-18 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 04/12/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 // TradeStation does not allow the user to make a Multi Data Chart with // a Tick Bar Chart and any other type a chart. This indicator allows the // user to plot a daily 3-10 Oscillator on a Tick Bar Chart or any intraday interval. // Walter Bressert's 3-10 Oscillator is a detrending oscillator derived // from subtracting a 10 day moving average from a 3 day moving average. // The second plot is an 16 day simple moving average of the 3-10 Oscillator. // The 16 period moving average is the slow line and the 3/10 oscillator is // the fast line. // For more information on the 3-10 Oscillator see Walter Bressert's book // "The Power of Oscillator/Cycle Combinations" // // 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 D_Three(Length1, Length2, Length3) => pos = 0.0 xPrice = security(syminfo.tickerid,"D", hl2) xfastMA = ema(xPrice, Length1) xslowMA = ema(xPrice, Length2) xMACD = xfastMA - xslowMA xSignal = sma(xMACD, Length3) pos := iff(xSignal > xMACD, -1, iff(xSignal < xMACD, 1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & D_Three Ten Osc", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- Length1 = input(3, minval=1) Length2 = input(10, minval=1) Length3 = input(16, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posD_Three = D_Three(Length1, Length2, Length3) pos = iff(posReversal123 == 1 and posD_Three == 1 , 1, iff(posReversal123 == -1 and posD_Three == -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 )