
Die Strategie basiert auf dem MACD-Indikator und nutzt die Überschneidung der MACD- und Signallinien im MACD-Indikator, um ein Handelssignal zu ermitteln. Es erzeugt ein Mehrwertsignal, wenn die MACD-Linie über die Signallinie geht, und ein Kaufsignal, wenn die MACD-Linie unter die Signallinie geht.
Der MACD-Indikator besteht aus der DIF-Linie und der DEA-Linie, der Differenz zwischen der schnellen Durchschnittslinie und der langsamen Durchschnittslinie. Die DEA-Linie ist der Moving Average der DIF-Linie. Wenn die DIF-Linie die DEA-Linie durchbricht, zeigt dies, dass der Kurs aus der Überverkaufszone herausgekommen ist und nach oben beginnt, was ein Plussignal erzeugt.
Die Strategie basiert auf dem MACD-Indikator, um die Handelssignale durch die Kreuzung der MACD- und Signal-Linien zu beurteilen, und verwendet die niedrigsten und höchsten Preise der vorherigen K-Linie als Stop-Loss-Bereich, wobei der Stop-Loss auf das 4-fache der ATR festgelegt ist. Die Strategie ist klar und einfach umzusetzen und kann die Kursentwicklung besser erfassen.
/*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)