
Dieser Artikel beschreibt eine Handelsstrategie, die die beiden technischen Indikatoren MACD und Supertrend kombiniert. Die Strategie nutzt die Kreuzung der MACD-Indikatoren und die Trendrichtung der Supertrend-Indikatoren, um die Ein- und Ausstiegsmomente zu bestimmen, um in der Trendlage zu profitieren. Die Hauptidee der Strategie besteht darin, dass die MACD-Goldforke bei Supertrend grün ist und mehr macht, wenn die MACD-Forke tot ist und der Supertrend leer ist.
Die Strategie verwendet MACD- und Supertrend-Indikatoren, um ein Handelssignal zu erzeugen. MACD wird durch den schnellen Moving Average ((Default 12 Tage) minus den langsamen Moving Average ((Default 26 Tage) ermittelt und berechnet der 9-Tage-Moving Average des MACD als Signallinie. Wenn ein Goldfork auf der MACD-Linie durch die Signallinie geht, ist es ein Mehr-Signal; wenn ein Schwarzfork unter der MACD-Linie durch die Signallinie geht, ist es ein Null-Signal.
Dieser Artikel beschreibt eine Trading-Strategie, die auf MACD- und Supertrend-Indikatoren basiert. Die Strategie verwendet MACD-Trendbeurteilung und Supertrend-Richtungsfilter, um im Trend zu handeln und gleichzeitig die Signallinie zu überschreiten, um die Rücknahme zu kontrollieren. Die Strategie hat den Vorteil, dass die Logik einfach ist, die Trendfassungsfähigkeit stark ist, aber auch das Risiko von Parameteranwendbarkeit, Signalrückstand und häufiger Handel.
/*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')