MACD와 슈퍼트렌드 조합 전략

MACD
생성 날짜: 2024-06-03 16:35:15 마지막으로 수정됨: 2024-06-03 16:35:15
복사: 0 클릭수: 1141
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

MACD와 슈퍼트렌드 조합 전략

개요

이 글은 MACD와 Supertrend의 두 가지 기술 지표를 결합한 거래 전략에 대해 소개한다. 이 전략은 MACD 지표의 교차 신호와 Supertrend 지표의 트렌드 방향을 사용하여 진입 및 출퇴근 시간을 판단하여 트렌드 상황에서 이익을 얻는다. 전략의 주요 아이디어는 MACD 금색 Supertrend이 초록 할 때 더 많이하고, MACD 교차가 죽고 Supertrend이 적었을 때 공백하고, MACD 신호 라인이 MACD 라인과 교차하는 평평 신호로한다.

전략 원칙

이 전략은 MACD 지표와 Supertrend 지표를 사용하여 거래 신호를 생성한다. MACD는 빠른 이동 평균 ((기저 12일) 을 빼고 느린 이동 평균 ((기저 26일) 을 얻으며 MACD의 9일 이동 평균을 신호 라인으로 계산한다. MACD 라인을 통과하면 금색이 형성되며, 다중 신호가 된다. MACD 라인을 통과하면 사각이 형성되고, 공백 신호가 된다.

전략적 이점

  1. 트렌드 및 동력 지표와 결합하여 트렌드 상황을 더 잘 파악할 수 있습니다. MACD 지표는 선도성을 가지고 있으며, 트렌드 전환을 미리 판단 할 수 있으며, Supertrend 지표는 충격적인 상황을 효과적으로 필터링 할 수 있습니다. 두 가지의 결합은 트렌드 상황에서 적시에 입지를 구축하여 전략 수익을 향상시킬 수 있습니다.
  2. 신호선 교차는 평지 신호로 사용되며, 적시에 손실을 중지한다. MACD 신호선은 가격의 단기 트렌드에 반응하며, MACD 선과 교차하면, 트렌드가 반전될 수 있다는 것을 의미하며, 적시에 평지 상태는 회전을 효과적으로 제어하여 큰 손실을 피한다.
  3. 전략 논리는 명확하고, 규칙은 간단하며, 구현 및 최적화가 쉽다. 이 전략은 두 가지의 일반적인 기술 지표만 사용하며, 계산 방법은 성숙하여, 다양한 파라미터를 기반으로 쉽게 재측정 및 최적화 할 수 있다.

전략적 위험

  1. MACD와 슈퍼트렌드 파라미터 선택의 적용 위험. MACD와 슈퍼트렌드 지표의 계산은 모두 시간 주기의 파라미터를 포함하며, 다른 시장과 품종에 대한 최적의 파라미터는 다를 수 있으며, 고정된 파라미터는 전략이 특정 상황에서 실패로 이어질 수 있습니다.
  2. 트렌드 전환 인식 지연의 위험. MACD는 트렌드형 지표로서, 그 신호는 상대적인 가격에 약간의 지연성이 있으며, 트렌드 전환 초기에는 여전히 잘못된 신호를 발산 할 수 있습니다.
  3. 흔들리는 시장에서 자주 거래되는 위험. 이 전략은 흔들리는 시장에서 자주 금 포크와 사다리 신호가 발생할 수 있으며, 너무 자주 거래되어 높은 거래 비용을 부담하고 전략 수익을 감소시킵니다.

전략 최적화 방향

  1. 다른 품종과 주기에 대해 MACD와 Supertrend의 매개 변수를 최적화한다. 최우수 매개 변수 조합을 찾기 위해, 전략의 적응성과 안정성을 높이기 위해, 빈약한 방법이나 유전 알고리즘 등을 사용할 수 있다.
  2. MACD 골드 포크 시드널을 기반으로 거래량 변화, 가격 돌파구 등의 다른 필터링 조건을 추가하여 추세 전환을 추가적으로 확인하고 가짜 신호를 줄입니다.
  3. 포지션 관리 및 ATR 중지, 퍼센트 중지, 손해 차단 장치의 도입, 단일 거래의 위험을 제어, 전략 철회 제어 능력 및 손해 감소 비율을 향상.
  4. 주기적 필터링이나 품종 회전 규칙을 추가하는 것을 고려하여 불안정한 시장에서 거래 빈도를 줄이고 전략 수익 위험 비율을 높여라.

요약하다

이 글은 MACD 지표와 Supertrend 지표에 기반한 거래 전략에 대해 소개합니다. 이 전략은 MACD의 트렌드 판단과 Supertrend의 방향을 필터링하여 트렌드 상황에서 거래하며, 신호 라인 교차를 사용하여 적시 평점을 사용하여 철회 제어합니다. 전략의 장점은 논리 단순, 트렌드 잡기 능력이 강하며, 또한 매개 변수 적용성, 신호 지연성 및 빈번한 거래의 위험이 있습니다.

전략 소스 코드
/*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')