La stratégie Fisher Turnaround EMA Multi-Take Profit et Multi-Stop combine l'indicateur EMA et un signal Fisher Turn personnalisé pour mettre en œuvre des transactions de suivi de tendance. Elle génère des signaux d'achat lorsque l'EMA de courte période dépasse l'EMA de longue période et que le signal Fisher Turn est supérieur à 0. La stratégie définit deux niveaux de prise de profit et un stop loss dynamique pour verrouiller les profits et contrôler les risques. Le premier take profit est 2xATR, le second 3xATR et le stop loss est 1xATR. Après le déclenchement du premier take profit, le stop loss passera au prix d'entrée.
La stratégie repose principalement sur deux indicateurs techniques:
Les signaux d'achat sont générés lorsque l'EMA de courte période dépasse l'EMA de longue période.
Les règles de prise de profit et de stop loss sont les suivantes:
La stratégie peut être optimisée en ajustant des paramètres tels que les périodes EMA, les périodes de signal Fisher Turn et les périodes ATR.
En combinant des indicateurs de suivi des tendances et des indicateurs de gestion des risques, cette stratégie présente les avantages suivants:
Cette stratégie comporte également certains risques:
Ces risques peuvent être réduits par l'optimisation des paramètres, la combinaison d'autres indicateurs, l'intervention manuelle, etc.
La stratégie peut être optimisée dans les aspects suivants:
En testant différents paramètres et combinaisons d'indicateurs, les performances de la stratégie peuvent être continuellement améliorées.
La stratégie Fisher Turnaround EMA Multi-Take Profit et Multi-Stop intègre les atouts du suivi des tendances et de la gestion des risques. Avec un grand potentiel de vérification et d'optimisation à long terme, c'est une stratégie prometteuse.
/*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")