이 전략은 MACD 지표에 기반하고 거래 신호를 결정하기 위해 MACD 라인과 신호 라인의 교차를 사용합니다. MACD 라인이 신호 라인의 위를 넘으면 긴 신호를 생성하고 MACD 라인이 신호 라인의 아래를 넘으면 짧은 신호를 생성합니다. 이 전략은 또한 이전 촛불의 가장 낮은 가격을 긴 포지션의 스톱 로스로 사용하고 이전 촛불의 가장 높은 가격을 짧은 포지션의 스톱 로스로 사용합니다. 이윤을 취하는 것은 ATR (평균 진실 범위) 의 4 배로 설정됩니다.
MACD 지표는 DIF 라인과 DEA 라인으로 구성됩니다. DIF 라인은 빠른 이동 평균과 느린 이동 평균의 차이이며, DEA 라인은 DIF 라인의 이동 평균입니다. DIF 라인이 DEA 라인의 위를 넘을 때 가격이 과판 영역을 벗어나 상승하기 시작하여 긴 신호를 생성한다는 것을 나타냅니다. DIF 라인이 DEA 라인의 아래를 넘을 때 가격이 과반 영역을 벗어나 하락하기 시작하여 짧은 신호를 생성한다는 것을 나타냅니다. 동시에 전략은 이전 촛불의 가장 낮은 가격과 가장 높은 가격을 각각 장기 및 짧은 포지션의 스톱 로스로 사용하여 위험을 제어합니다. 수익을 극대화하기 위해 수익을 취하는 것은 ATR의 4 배로 설정됩니다.
이 전략은 MACD 지표에 기반하여 MACD 라인과 신호 라인의 크로스오버를 사용하여 거래 신호를 결정합니다. 또한 이전 촛불의 가장 낮은 가격과 가장 높은 가격을 스톱 로스로 사용하여 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)