
이 전략은 MACD 지표를 기반으로 MACD 지표의 MACD 라인과 Signal 라인의 교차를 사용하여 거래 신호를 판단한다. MACD 라인이 Signal 라인을 통과하면 다중 신호가 발생하고 MACD 라인이 Signal 라인을 통과하면 마이너스 신호가 발생한다. 동시에 전 K 라인의 최저 가격이 다중 헤드 스톱 로드, 전 K 라인의 최고 가격은 빈 헤드 스톱 로드로 사용된다.
MACD 지표는 DIF 선과 DEA 선으로 구성되어 있으며, DIF 선은 빠른 평균선과 느린 평균선의 차분이며, DEA 선은 DIF 선의 이동 평균이다. DIF 선에서 DEA 선을 통과하면 주가가 초과 지역에서 벗어나 상향으로 올라가는 것을 나타냅니다.
이 전략은 MACD 지표를 기반으로, MACD 라인과 신호 라인의 교차로 거래 신호를 판단하고, 전 K 라인의 최저 가격과 최고 가격을 중단 지점으로 사용하며, 중단 지점은 ATR의 4 배로 설정된다. 전략 논리는 명확하고, 구현하기 쉽고, 주가 가격 동향을 더 잘 포착 할 수 있다. 그러나, 이 전략에는 지표 지연, 중지 지점 설정 단순 등과 같은 몇 가지 위험이 있습니다.
/*backtest
start: 2023-05-05 00:00:00
end: 2024-05-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("MACD Strategy", overlay=true)
// Define MACD
[macdLine, signalLine, _] = macd(close, 12, 26, 9)
// Define conditions for long entry
longCondition = crossover(macdLine, signalLine)
// Define conditions for short entry
shortCondition = crossunder(macdLine, signalLine)
// Define stop loss for long entry
longStopLoss = low[1] // Previous candle low
// Define stop loss for short entry
shortStopLoss = high[1] // Previous candle high
// Define take profit for both long and short entries
takeProfit = close + (close - longStopLoss) * 4 // 4 x ATR
// Execute long entry
if (longCondition)
strategy.entry("Buy", strategy.long)
strategy.exit("TP/SL", "Buy", stop=longStopLoss, limit=takeProfit)
// Execute short entry
if (shortCondition)
strategy.entry("Sell", strategy.short)
strategy.exit("TP/SL", "Sell", stop=shortStopLoss, limit=takeProfit)