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

MACD와 슈퍼트렌드 조합 전략

저자:차오장, 날짜: 2024-06-03 16:35:15
태그:MACD

img

전반적인 설명

이 문서에서는 두 가지 기술 지표: MACD와 슈퍼트렌드를 결합한 거래 전략을 소개합니다. 이 전략은 트렌딩 시장에서 이익을 창출하기 위해 MACD 지표의 크로스오버 신호와 슈퍼트렌드 지표의 트렌드 방향을 사용하여 엔트리 및 엑시트 포인트를 결정합니다. 전략의 주요 아이디어는 MACD가 신호 라인을 넘어서서 슈퍼트렌드가 초록색으로 표시되면 긴 거리를 이동하고, MACD가 신호 라인을 넘어서서 슈퍼트렌드가 빨간색으로 표시되면 짧은 거리를 이동하는 것입니다. MACD 신호 라인과 MACD 라인의 크로스오버가 출구 신호로 작용합니다.

전략 원칙

이 전략은 거래 신호를 생성하기 위해 MACD 지표와 슈퍼트렌드 지표를 사용합니다. MACD는 느린 이동 평균 (디폴트 26 기간) 을 빠른 이동 평균 (디폴트 12 기간) 에서 아내고, 다음 MACD의 9 기간 이동 평균을 신호 라인으로 계산하여 계산됩니다. MACD 라인이 신호 라인의 위를 넘어서 긴 신호를 나타낼 때 상승 크로스오버가 발생하며, MACD 라인이 신호 라인의 아래를 넘어서 짧은 신호를 나타낼 때 하락 크로스오버가 발생합니다. 슈퍼트렌드 지표는 ATR 변동성 MAC 지표를 결합합니다. 가격이 슈퍼트렌드 라인의 위와 슈퍼트렌드 라인이 녹색일 때 상승 트렌드를 나타냅니다. 가격이 슈퍼트렌드 라인과 슈퍼트렌드 라인이 빨간색일 때 상승 트렌드를 나타냅니다. 전략은 긴 트렌드가 하락 트렌드를 넘어가면 하락 트렌드를 형성합니다. 슈퍼트렌드 라인이 빨간색과 빨간색을 넘어가면 마이너스 트렌드가 형성되며, 슈퍼트렌드 라인이 빨간색과 빨간색을 넘어가면 마이너스

전략적 장점

  1. 트렌드 및 모멘텀 지표를 결합하여 트렌딩 시장을 더 잘 파악 할 수 있습니다. MACD 지표는 미래 지향적이며 트렌드 반전을 사전에 판단 할 수 있으며 슈퍼 트렌드 지표는 범위 제한 시장을 효과적으로 필터 할 수 있습니다. 둘의 조합은 트렌딩 시장에서 적시에 위치를 설정하여 전략 수익을 향상시킬 수 있습니다.
  2. 시그널 라인 크로스오버를 출구 신호로 사용하여 적시에 손실을 멈추고 이익을 얻을 수 있습니다. MACD 신호 라인은 단기 가격 추세를 반영합니다. MACD 라인을 넘으면 추세가 역전될 수 있음을 의미합니다. 따라서 적시에 포지션을 닫으면 마감량을 효과적으로 제어하고 더 큰 손실을 피할 수 있습니다.
  3. 전략 논리는 명확하고 규칙은 간단하고 구현 및 최적화하기가 쉽습니다. 전략은 두 가지 일반적인 기술적 지표를 사용하며 계산 방법이 성숙하여 다른 매개 변수에 따라 백테스트 및 최적화를 편리하게합니다.

전략 위험

  1. MACD 및 슈퍼트렌드 매개 변수 선택의 적용 가능성의 위험. MACD 및 슈퍼트렌드 지표의 계산에는 시간 기간 매개 변수가 포함되며 최적 매개 변수는 다른 시장과 기본 자산에 따라 다를 수 있습니다. 고정 매개 변수는 특정 시장 조건에서 전략의 실패를 유발할 수 있습니다.
  2. 트렌드 반전의 지연 식별의 위험. 트렌드를 따르는 지표로서, MACD 신호는 가격에 비해 일정 지연을 가질 수 있으며, 트렌드 반전의 초기 단계에서 여전히 잘못된 신호가 생성 될 수 있습니다. 슈퍼 트렌드는 또한 트렌드 반전을 판단하는 데 일정 지연을 가지고 있습니다.
  3. 범위에 묶인 시장에서 빈번한 거래의 위험. 전략은 범위에 묶인 시장에서 빈번한 상승 및 하락 크로스오버 신호를 생성하여 과도한 거래로 이어지고 더 높은 거래 비용을 발생시켜 전략 수익을 줄일 수 있습니다.

전략 최적화 방향

  1. 각기 다른 기본 자산 및 시간 프레임에 대한 MACD 및 Supertrend의 매개 변수를 최적화합니다. 포괄적 인 검색 또는 유전자 알고리즘과 같은 방법을 사용하여 최적의 매개 변수 조합을 찾고 전략의 적응성과 안정성을 향상시킬 수 있습니다.
  2. MACD 상승 및 하락 크로스오버 신호의 위에 거래량 변화, 가격 파업 등과 같은 다른 필터링 조건을 추가하여 추세 반전을 더 확인하고 잘못된 신호를 줄이십시오.
  3. 포지션 관리 및 ATR 스톱 로스, 퍼센트 스톱 로스 및 스톱 로스와 같은 스톱 로스/프로프트 메커니즘을 도입하여 단일 거래 위험을 제어하고 전략의 마감 제어 능력과 이익/손실 비율을 향상시킵니다.
  4. 시간 프레임 필터링 또는 자산 회전 규칙을 추가하는 것을 고려하여 범위 제한 시장에서 거래 빈도를 줄이고 전략의 위험 조정 수익을 향상시킵니다.

요약

이 문서에서는 MACD 지표와 슈퍼트렌드 지표에 기반한 거래 전략을 소개합니다. 이 전략은 트렌드 판단을 사용하여 트렌드 시장에서 거래하고 슈퍼트렌드의 방향 필터링을 사용하여 시그널 라인 크로스오버를 사용하여 당시에 지점을 종료하여 드라우다운을 제어합니다. 전략의 장점은 간단한 논리와 강력한 트렌드 캡처 능력에 있습니다. 그러나 또한 매개 변수 적용 가능성, 신호 지연 및 빈번한 거래와 같은 위험에 직면합니다. 미래에 전략은 매개 변수 최적화, 신호 필터링, 위치 관리, 시간 프레임 및 자산 선택과 같은 측면으로 정제 될 수 있으며 더 안정적인 수익을 추구 할 수 있습니다.


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="MACD + Supertrend Strategy", overlay=true)

// MACD Calculation
fastLength = 12
slowLength = 26
signalSmoothing = 9
macdSrc = close

// MACD Line
fastMA = ta.ema(macdSrc, fastLength)
slowMA = ta.ema(macdSrc, slowLength)
macdLine = fastMA - slowMA

// MACD Signal Line
signalMA = ta.ema(macdLine, signalSmoothing)

// MACD Histogram
histogram = macdLine - signalMA

// Supertrend Calculation
supertrendATRLength = 10
supertrendFactor = 3.0
[supertrend, _] = ta.supertrend(supertrendFactor, supertrendATRLength)

// Entry and Exit Conditions
longCondition = (macdLine > signalMA) and (supertrend < close)
shortCondition = (signalMA > macdLine) and (supertrend > close)

// Long Entry
if longCondition
    strategy.entry("Long", strategy.long)

// Long Exit (Sell)
if signalMA > macdLine
    strategy.close("Long")

// Short Entry
if shortCondition
    strategy.entry("Short", strategy.short)

// Short Exit (Cover)
if macdLine > signalMA
    strategy.close("Short")

// Close Long Position if short condition is met
if shortCondition
    strategy.close("Long")

// Close Short Position if long condition is met
if longCondition
    strategy.close("Short")

// Plotting
plotshape(series=longCondition, title="Long Entry Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Long")
plotshape(series=shortCondition, title="Short Entry Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Short")

// Alerts
alertcondition(longCondition, title='Long Entry Signal', message='MACD crossover and Supertrend below close price')
alertcondition(signalMA > macdLine, title='Long Exit Signal', message='MACD signal line crosses above MACD line')

alertcondition(shortCondition, title='Short Entry Signal', message='MACD crossunder and Supertrend above close price')
alertcondition(macdLine > signalMA, title='Short Exit Signal', message='MACD line crosses above MACD signal line')


관련

더 많은