
Die Strategie ist ein Trend-Umkehr-Trading-System, das auf MACD-Spalten abweicht. Sie erfasst die Marktauswanderungssignale durch die Analyse der Beziehung zwischen der Veränderung der K-Linie-Form und der Veränderung der MACD-Spalten-Dynamik. Die Kernidee der Strategie besteht darin, bei Anzeichen von Dynamikverlust im Markt rückwärts zu handeln, um so eine bevorstehende Umkehrung des Trends vorwegzunehmen.
Die Handelslogik der Strategie ist in zwei Richtungen unterteilt: Leerstellungsbedingungen: Wenn eine größere Sonnenstraße ((Abschlusskurs höher als der Eröffnungskurs) auftritt und ihre Größe größer ist als die vorherige K-Linie, und die MACD-Säulenkarte 3 aufeinanderfolgende Perioden einen Abwärtstrend aufweist, zeigt dies, dass die Aufwärtsbewegung nachlässt, und das System sendet ein Leerstellungssignal. Mehrfache Bedingung: Wenn eine größere Negativlinie ((Schlusskurs niedriger als der Eröffnungskurs) auftritt und die Einheit größer ist als die vorherige K-Linie, während die MACD-Säulenkarte 3 aufeinanderfolgende Perioden einen Aufwärtstrend aufweist, zeigt dies, dass die Abwärtsbewegung nachlässt und das System mehrere Signale ausgibt. Positionsmanagement verwendet ein Gegner-Signal-Plating-Mechanismus, bei dem die aktuelle Position ausgeglichen wird, wenn ein Handelssignal in die entgegengesetzte Richtung auftritt. Die Strategie setzt keine Stop-Loss- und Stop-Stops ein und verwaltet die Position ausschließlich auf dem Signal.
Die Strategie, die durch die Kombination von K-Linie-Form und MACD-Säulen-Dynamik-Veränderungen, um die Markt-Umkehr-Gelegenheiten zu erfassen, hat die Funktionsfreundlichkeit, Signal-Klarheit. Obwohl es eine gewisse Gefahr, aber durch vernünftige Optimierung und Risikomanagement-Maßnahmen, kann die Stabilität und die Profitabilität der Strategie deutlich erhöht werden. Die Strategie ist besonders geeignet für die Trend-Markt-Umgebung, kann als wichtiger Bestandteil des Handelssystems.
/*backtest
start: 2024-11-10 00:00:00
end: 2025-02-19 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("MACD Momentum Reversal Strategy", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === MACD Calculation ===
fastLength = input.int(12, "MACD Fast Length")
slowLength = input.int(26, "MACD Slow Length")
signalLength = input.int(9, "MACD Signal Length")
[macdLine, signalLine, histLine] = ta.macd(close, fastLength, slowLength, signalLength)
// === Candle Properties ===
bodySize = math.abs(close - open)
prevBodySize = math.abs(close[1] - open[1])
candleBigger = bodySize > prevBodySize
bullishCandle = close > open
bearishCandle = close < open
// === MACD Momentum Conditions ===
// For bullish candles: if the MACD histogram (normally positive) is decreasing over the last 3 bars,
// then the bullish momentum is fading – a potential short signal.
macdLossBullish = (histLine[2] > histLine[1]) and (histLine[1] > histLine[0])
// For bearish candles: if the MACD histogram (normally negative) is increasing (moving closer to zero)
// over the last 3 bars, then the bearish momentum is fading – a potential long signal.
macdLossBearish = (histLine[2] < histLine[1]) and (histLine[1] < histLine[0])
// === Entry Conditions ===
// Short entry: Occurs when the current candle is bullish and larger than the previous candle,
// while the MACD histogram shows fading bullish momentum.
enterShort = bullishCandle and candleBigger and macdLossBullish
// Long entry: Occurs when the current candle is bearish and larger than the previous candle,
// while the MACD histogram shows fading bearish momentum.
enterLong = bearishCandle and candleBigger and macdLossBearish
// === Plot the MACD Histogram for Reference ===
plot(histLine, title="MACD Histogram", color=color.blue, style=plot.style_histogram)
// === Strategy Execution ===
// Enter positions based on conditions. There is no stop loss or take profit defined;
// positions remain open until an opposite signal occurs.
if (enterShort)
strategy.entry("Short", strategy.short)
if (enterLong)
strategy.entry("Long", strategy.long)
// Exit conditions: close an existing position when the opposite signal appears.
if (strategy.position_size > 0 and enterShort)
strategy.close("Long")
if (strategy.position_size < 0 and enterLong)
strategy.close("Short")