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