
Die Strategie kombiniert Trend-Tracking und Dynamik-Analyse und identifiziert potenzielle Handelschancen anhand von einfachen Moving Averages (SMA) und Moving Average Convergence Spreads (MACD). Die Strategie ermittelt die Gesamtmarkttrends anhand des Trendilo-Indikators (einer SMA-basierten Trendindikator) und nutzt die Null-Linien-Kreuzung des MACD, um kurzfristige Dynamikänderungen zu erfassen.
Die Kernlogik der Strategie basiert auf folgenden Schlüsselelementen:
Konkret wird ein Mehrsignal ausgelöst, wenn die MACD-Linie von unten durch die Null-Linie (((übergeht)) geht und der Schlusskurs höher als die Trendilo-Linie ist. Im Gegensatz dazu wird ein Leersignal ausgelöst, wenn die MACD-Linie von oben durch die Null-Linie (((untergeht)) geht und der Schlusskurs niedriger als die Trendilo-Linie ist. Nach dem Einstieg verwendet die Strategie die auf ATR basierenden Stop-Loss- und Profit-Levels, um Risiken zu verwalten und Gewinne zu sperren.
Die Strategie kombiniert geschickt Trend-Tracking und Dynamik-Analyse und bietet den Händlern durch die Synergie von Trendilo und MACD einen relativ umfassenden Rahmen für die Marktanalyse. Die dynamische Risikomanagement-Methode erhöht die Anpassungsfähigkeit der Strategie und ermöglicht die Stabilität in unterschiedlichen Marktumgebungen. Trader müssen jedoch bei der Verwendung dieser Strategie vorsichtig sein, insbesondere bei der Optimierung der Parameter und der Risikokontrolle.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-09-24 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("NNFX Trendilo + Zero MACD Strategy", overlay=true)
// --- Inputs ---
atrPeriod = input.int(14, title="ATR Period")
stopLossMultiplier = input.float(1.5, minval=0.0, maxval = 20.0, step = 0.1 ,title="Stop Loss Multiplier")
takeProfitMultiplier = input.float(2.0, minval=0.0 , maxval = 20.0, step = 0.1,title="Take Profit Multiplier")
// --- Trendilo ---
trendiloPeriod = input.int(50, title="Trendilo Period")
trendilo = ta.sma(close, trendiloPeriod)
// --- MACD ---
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
macdZeroCrossUp = ta.crossover(macdLine, 0)
macdZeroCrossDown = ta.crossunder(macdLine, 0)
// --- ATR for Stop Loss and Take Profit ---
atr = ta.atr(atrPeriod)
stopLoss = atr * stopLossMultiplier
takeProfit = atr * takeProfitMultiplier
// --- Trading Logic ---
longCondition = macdZeroCrossUp and close > trendilo
shortCondition = macdZeroCrossDown and close < trendilo
// --- Execute Long Trades ---
if (longCondition)
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit/Stop Loss", "Buy", limit=close + takeProfit, stop=close - stopLoss)
// --- Execute Short Trades ---
if (shortCondition)
strategy.entry("Sell", strategy.short)
strategy.exit("Take Profit/Stop Loss", "Sell", limit=close - takeProfit, stop=close + stopLoss)
// --- Plot Signals ---
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")
// --- Plot Trendilo ---
plot(trendilo, color=color.blue, linewidth=2)