이 전략은 CT TTM Squeeze 지표를 사용하여 가격 추세를 파악하고 위험을 제어하기 위해 트레일링 스톱을 적용합니다. 이 전략은 CT TTM Squeeze에 기반한 트렌드 다음 전략 (
이 전략은 CT TTM Squeeze 지표를 사용하여 가격 추세를 결정합니다. 구체적으로 다음과 같은 변수가 전략에서 정의됩니다.
osc가 0을 넘으면 녹색으로 표시되며 길이를 나타냅니다. osc가 0을 넘으면 빨간색으로 표시되며 짧습니다.
OSC가 양수일 때, 길게, OSC가 음수일 때 짧게
이 전략은 트렌드 방향을 결정하기 위해 오시레이터 OSC를 사용하며, 긴/단기 모멘텀을 측정하기 위해 디프 (diff) 을 사용합니다. OSC가 0을 넘으면 상승 추세를 신호하며, 따라서 길게 이동합니다. OSC가 0을 넘으면 하락 추세를 신호하여, 따라서 짧게 이동합니다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
트렌드를 결정하기 위해 CT TTM Squeeze를 사용하는 것은 상대적으로 높은 정확도를 가지고 있습니다. CT TTM Squeeze는 가격 트렌드를 효과적으로 식별 할 수있는 이동 평균, 볼링거 밴드 및 켈트너 채널을 포괄적으로 고려합니다.
긴/단 신호를 결정하기 위해 오시일레이터를 적용하면 트렌드가 아닌 구역에서 잘못된 신호를 피할 수 있습니다. 오시일레이터는 거래 신호에 작은 가격 변동의 영향을 효과적으로 필터링 할 수 있습니다.
트레일링 스톱은 각 거래에 대한 손실을 제한하여 위험을 제어하는 데 사용됩니다. 전략은 진입 후 적시에 스톱 손실을 설정하여 이익을 잠금하고 과도한 손실을 피 할 수 있습니다.
전략은 몇 가지 매개 변수를 가지고 있으며 최적화하기가 쉽습니다. 길이 매개 변수만으로 최적의 매개 변수 조합을 찾기 위해 빠른 테스트를 촉진합니다.
그래팅 함수는 신호를 명확하게 표시합니다. 다른 색상이 긴 / 짧은 신호와 강도를 구별하여 시각적으로 트렌드 판단을 제시합니다.
이 전략은 또한 다음과 같은 위험을 가지고 있습니다.
CT TTM 압축은 특정 시장 조건에서 잘못된 신호를 생성하여 거래 손실로 이어질 수 있습니다. 가격이 격렬하게 변동할 때 잘못된 긴 / 짧은 신호를 생성 할 수 있습니다.
오시일레이터에서의 오차는 잘못된 거래 신호로 이어질 수 있습니다. 가격이 반전되었지만 오시일레이터가 회전하지 않은 경우 신호가 잘못 될 수 있습니다.
지나치게 공격적인 트레일링 스톱은 불필요한 손실을 유발할 수 있습니다. 정상적인 변동은 트레일링 스톱을 유발하고 스톱 레벨이 너무 가까이 설정되면 강제 출구 할 수 있습니다.
이 전략은 강세를 보이는 상품에만 적합하며, 범위에 묶인 시장에는 적합하지 않습니다. 주로 트렌드를 거래하기 때문에 불안한 통합 시장에서 성과가 좋지 않습니다.
과도한 최적화는 곡선 부착으로 이어질 수 있습니다. 매개 변수 최적화에서 과부착을 피하기 위해 주의가 필요합니다.
이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.
신호 정확성을 위해 여러 지표를 결합합니다. MACD, KDJ와 같은 다른 지표가 입력 신호를 최적화하기 위해 추가 될 수 있습니다.
더 지능적인 스톱을 위해 스톱 손실 최적화 모듈을 추가합니다. 적응 스톱, 리미트 스톱과 같은 후속 스톱 방법을 테스트 할 수 있습니다.
고정 분자, 켈리 공식 등을 테스트함으로써 돈 관리를 최적화하십시오. 이것은 거래 리스크를 보장하면서 자본 사용 효율성을 향상시킬 수 있습니다.
적응력을 향상시키기 위해 특정 제품에 대한 세밀한 조정 매개 변수 제품 특성에 따라 매개 변수를 조정하면 전략 적합성을 향상시킬 수 있습니다.
적응 학습을 위해 기계 학습 알고리즘을 추가합니다. RNN, LSTM 등을 사용하면 전략의 적응 능력을 향상시킬 수 있습니다.
이 전략은 트렌드 방향을 결정하기 위해 CT TTM Squeeze를 사용하며, 오시일레이터가 0을 입력 신호로 통과하고 위험을 관리하기 위해 후속 스톱을 사용합니다. 이 전략의 장점은 높은 정확성, 쉬운 최적화, 그러나 지표 실패, 너무 긴 스톱과 같은 위험이 있습니다. 향후 개선은 성능을 더욱 향상시키기 위해 멀티 지표 콤보, 스톱 최적화, 돈 관리 등을 통해 수행 할 수 있습니다.
/*backtest start: 2023-10-15 00:00:00 end: 2023-11-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("CT TTM Squeeze") length = input(title="Length", defval=20, minval=0) bband(length, mult) => sma(close, length) + mult * stdev(close, length) keltner(length, mult) => ema(close, length) + mult * ema(tr, length) // Variables e1 = (highest(high, length) + lowest(low, length)) / 2 + sma(close, length) osc = linreg(close - e1 / 2, length, 0) diff = bband(length, 2) - keltner(length, 1) osc_color = osc[1] < osc[0] ? osc[0] >= 0 ? #00ffff : #cc00cc : osc[0] >= 0 ? #009b9b : #ff9bff mid_color = diff >= 0 ? green : red // Strategy long = osc > 0 short = osc < 0 if long strategy.entry("Long", strategy.long) if short strategy.entry("Short", strategy.short) plot(osc, color=osc_color, style=histogram, linewidth=2) plot(0, color=mid_color, style=circles, linewidth=3)