
이 글은 MACD와 Supertrend의 두 가지 기술 지표를 결합한 거래 전략에 대해 소개한다. 이 전략은 MACD 지표의 교차 신호와 Supertrend 지표의 트렌드 방향을 사용하여 진입 및 출퇴근 시간을 판단하여 트렌드 상황에서 이익을 얻는다. 전략의 주요 아이디어는 MACD 금색 Supertrend이 초록 할 때 더 많이하고, MACD 교차가 죽고 Supertrend이 적었을 때 공백하고, MACD 신호 라인이 MACD 라인과 교차하는 평평 신호로한다.
이 전략은 MACD 지표와 Supertrend 지표를 사용하여 거래 신호를 생성한다. MACD는 빠른 이동 평균 ((기저 12일) 을 빼고 느린 이동 평균 ((기저 26일) 을 얻으며 MACD의 9일 이동 평균을 신호 라인으로 계산한다. MACD 라인을 통과하면 금색이 형성되며, 다중 신호가 된다. MACD 라인을 통과하면 사각이 형성되고, 공백 신호가 된다.
이 글은 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')