리소스 로딩... 로딩...

이중 모멘텀 압축 거래 시스템 (SMI+UBS 지표 조합 전략)

저자:차오장, 날짜: 2024-11-28 15:52:02
태그:SMIUBSSMASL

img

전반적인 설명

이 전략은 단기 거래 시스템으로, 압축 모멘텀 지표 (SMI) 와 최종 구매/판매 (UBS) 지표를 결합한다. 이 전략은 주로 모멘텀 변화와 이동 평균 크로스오버 신호를 모니터링함으로써 단기 판매 기회를 포착한다. 이 시스템은 안정적인 수익을 추구하면서 자본을 보호하기 위해 비율 기반의 스톱 로스 메커니즘을 통합한다.

전략 원칙

핵심 논리는 두 가지 주요 지표의 조합에 기반합니다.

  1. 압축 모멘텀 지표 (SMI): 이동 평균으로 평형화 된 폐쇄 가격과 높은 / 낮은 가격 사이의 관계를 계산하여 모멘텀 신호를 생성합니다. SMI가 상승에서 하락으로 전환되면 상승 모멘텀과 잠재적 인 단기 기회를 약화시키는 것을 나타냅니다.
  2. 최종 구매/판매 지표 (Ultimate Buy/Sell Indicator, UBS): 이동 평균과 가격 교차를 기반으로 진입 시기를 결정합니다. 가격이 이동 평균 이하로 넘어가면 짧은 신호가 확인됩니다.
  3. 이 시스템은 신호가 확인되면 자동으로 짧은 포지션을 입력하여 효과적인 위험 통제를 위해 0.4%의 수익 목표와 2.5%의 스톱 로스 수준을 설정합니다.

전략적 장점

  1. 이중 신호 확인: 두 개의 독립적인 지표의 공명으로 신호 신뢰성을 향상시킵니다.
  2. 포괄적 리스크 관리: 명확한 수익 취득 및 스톱 로스 조건은 거래별 리스크를 효과적으로 제어합니다.
  3. 조정 가능한 매개 변수: SMI 길이, 평형 기간 및 UBS 기간과 같은 주요 매개 변수는 다른 시장 조건에 최적화 될 수 있습니다.
  4. 높은 자동화: 명확한 전략 논리는 자동화된 거래 구현을 촉진합니다.

전략 위험

  1. 가짜 브레이크 위험: 다양한 시장에서 빈번한 잘못된 신호가 발생할 수 있습니다.
  2. 트렌드 의존성 (Trend Dependence): 트렌드 시장에서 전략은 더 잘 수행되지만 옆 시장에서 빈번한 중단에 직면 할 수 있습니다.
  3. 매개 변수 민감도: 다른 매개 변수 설정은 상당한 성능 변동으로 이어질 수 있습니다.
  4. 슬라이프 효과: 높은 변동성 동안 실제 실행 가격은 신호 가격과 크게 다를 수 있습니다.

최적화 방향

  1. 시장 환경 필터를 추가합니다. 다른 시장 조건에서 전략 매개 변수를 조정하기 위해 변동성 또는 트렌드 강도 지표를 포함합니다.
  2. 스톱-러스 메커니즘을 최적화하십시오. 후속 스톱이나 ATR 기반 스톱과 같은 동적 스톱을 구현하는 것을 고려하십시오.
  3. 시간 필터를 추가하십시오. 높은 변동성 기간과 주요 뉴스 발표 시간을 피하십시오.
  4. 포지션 크기를 구현합니다. 신호 강도와 시장 변동성에 따라 포지션 크기를 동적으로 조정합니다.

요약

이 전략은 압축 모멘텀과 최종 구매/판매 기술 지표를 결합하여 비교적 완전한 단편 판매 시스템을 구축한다. 이 전략의 강점은 높은 신호 신뢰성과 명확한 위험 통제에 속하지만 시장 조건에 대한 강한 의존성을 보여줍니다. 시장 환경 필터링 및 스톱 로스 최적화 개선을 통해 전략의 안정성과 수익성이 더욱 향상될 수 있다.


/*backtest
start: 2024-10-28 00:00:00
end: 2024-11-27 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © algostudio
// Code Generated using PineGPT - www.marketcalls.in

//@version=5
strategy("Squeeze Momentum and Ultimate Buy/Sell with Stop Loss", overlay=true, process_orders_on_close = false)

// Input settings
smiLength = input.int(20, title="SMI Length")
smiSmoothing = input.int(5, title="SMI Smoothing")
ultBuyLength = input.int(14, title="Ultimate Buy/Sell Length")
stopLossPerc = input.float(2.5, title="Stop Loss Percentage", step=0.1) / 100

// Define Squeeze Momentum logic
smi = ta.sma(close - ta.lowest(low, smiLength), smiSmoothing) - ta.sma(ta.highest(high, smiLength) - close, smiSmoothing)
squeezeMomentum = ta.sma(smi, smiSmoothing)
smiUp = squeezeMomentum > squeezeMomentum[1]
smiDown = squeezeMomentum < squeezeMomentum[1]

// Define Ultimate Buy/Sell Indicator logic (you can customize the conditions)
ultimateBuy = ta.crossover(close, ta.sma(close, ultBuyLength))
ultimateSell = ta.crossunder(close, ta.sma(close, ultBuyLength))


// Trading logic: Short entry (Squeeze Momentum from green to red and Ultimate Sell signal)
shortCondition = smiDown and ultimateSell
if (shortCondition)
    strategy.entry("Short", strategy.short)

//Set short target (exit when price decreases by 0.2%)
shortTarget = strategy.position_avg_price * 0.996

// Set stop loss for short (5% above the entry price)
shortStop = strategy.position_avg_price * (1 + stopLossPerc)

// Exit logic for short
if (strategy.position_size < 0)
    strategy.exit("Exit Short", "Short", limit=shortTarget, stop=shortStop)

// Plot the Squeeze Momentum for reference
plot(squeezeMomentum, color=color.blue, linewidth=2, title="Squeeze Momentum")

// Optional: Plot signals on the chart
plotshape(series=ultimateBuy, location=location.belowbar, color=color.green, style=shape.labelup, title="Ultimate Buy Signal")
plotshape(series=ultimateSell, location=location.abovebar, color=color.red, style=shape.labeldown, title="Ultimate Sell Signal")

// For more tutorials on Tradingview Pinescript visit https://www.marketcalls.in/category/tradingview


관련

더 많은