Die Fisher Turnaround EMA Multi-Take Profit und Multi-Stop Strategie kombiniert den EMA-Indikator und ein benutzerdefiniertes Fisher Turn-Signal, um Trends zu verfolgen. Es erzeugt Kaufsignale, wenn der kurzfristige EMA über den langfristigen EMA überschreitet und das Fisher Turn-Signal größer als 0 ist. Die Strategie setzt zwei Take Profit-Level und einen dynamischen Stop Loss fest, um Gewinne und Risiken zu kontrollieren. Der erste Take Profit ist 2xATR, der zweite 3xATR und der Stop Loss ist 1xATR. Nach Auslösung des ersten Take Profit bewegt sich der Stop Loss zum Eintrittspreis.
Die Strategie beruht hauptsächlich auf zwei technischen Indikatoren:
Kaufsignale werden erzeugt, wenn die kurzfristige EMA über die langfristige EMA geht. Darüber hinaus muss die Fisher Turn-Signallinie auch größer als 0 sein, was den aktuellen Aufwärtstrend anzeigt.
Die Gewinns- und Stop-Loss-Regeln sind wie folgt:
Die Strategie kann optimiert werden, indem Parameter wie EMA-Perioden, Fisher Turn-Signalperioden und ATR-Perioden angepasst werden.
Durch die Kombination von Trendverfolgungsindikatoren und Risikomanagementindikatoren bietet diese Strategie folgende Vorteile:
Diese Strategie birgt auch einige Risiken:
Diese Risiken können durch Optimierung der Parameter, Kombination anderer Indikatoren, manuelle Interventionen usw. verringert werden.
Die Strategie kann in folgenden Aspekten optimiert werden:
Durch das Testen verschiedener Parameter-Einstellungen und Indikatorenkombinationen kann die Strategieleistung kontinuierlich verbessert werden.
Die Fisher Turnaround EMA Multi-Take Profit und Multi-Stop Strategie integriert die Stärken von Trend-Tracking und Risikomanagement. Mit großem Potenzial für langfristige Verifizierung und Optimierung ist sie eine vielversprechende Strategie. Es gibt noch viel Raum für die Optimierung von Parametern und die Kombination von Indikatoren, um eine stetige Überleistung im Live-Handel zu erzielen.
/*backtest start: 2022-12-29 00:00:00 end: 2024-01-04 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Eliebf13 //@version=4 strategy("GDAX EMA & Blackflag FTS Strategy with Multiple Take Profits and Dynamic Stop Loss", overlay=true) // Input parameters for Blackflag FTS fts_length = input(14, title="Blackflag FTS Length") atr_length = input(14, title="ATR Length") // GDAX EMA calculation short = ema(close, 12) long = ema(close, 26) // Calculate Blackflag FTS signal line manually up = 0.0 down = 0.0 for i = 0 to fts_length - 1 up := up + (high[i] - low[i]) down := down + (high[i] - low[i]) fts_value = down == 0 ? 100 : 100 - (100 / (1 + (up / down))) // Buy condition: GDAX EMA crossover and Blackflag FTS signal above zero buy_condition = crossover(short, long) and fts_value > 0 // ATR calculation atr_value = atr(atr_length) // Calculate Stop Loss and Take Profit levels stop_loss_level = close - atr_value take_profit_level1 = close + 2 * atr_value take_profit_level2 = close + 3 * atr_value // Sell condition: GDAX EMA crossunder or Blackflag FTS signal below zero sell_condition = crossunder(short, long) or fts_value < 0 // Strategy orders with Multiple Take Profits and Dynamic Stop Loss strategy.entry("Buy", strategy.long, when = buy_condition) // Calculate position size for 50% closure at each take profit level position_size = strategy.position_size target_position_size1 = position_size * 0.5 target_position_size2 = position_size * 1 strategy.exit("Take Profit 1", from_entry="Buy", loss=close, profit=take_profit_level1, qty=target_position_size1) strategy.exit("Take Profit 2/Move Stop Loss", from_entry="Buy", loss=close, profit=take_profit_level2, qty=target_position_size2) // Plot GDAX EMA lines plot(short, color=#6f92ce, linewidth=2, title="Ema 12") plot(long, color=#e08937, linewidth=2, title="Ema 26") // Plot Blackflag FTS signal plot(fts_value, color=color.blue, title="Blackflag FTS Signal") // Plot buy and sell signals on the chart plotshape(series=buy_condition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal") plotshape(series=sell_condition, location=location.abovebar, color=color.red, style=shape.triangledown, title="Sell Signal")