La estrategia Fisher Turnaround EMA Multi-Take Profit y Multi-Stop Strategy combina el indicador EMA y una señal de Fisher Turn personalizada para implementar operaciones de seguimiento de tendencias. Genera señales de compra cuando el EMA de corto período cruza por encima de la EMA de largo período y la señal de Fisher Turn es mayor que 0. La estrategia establece dos niveles de take profit y una stop loss dinámica para bloquear las ganancias y controlar los riesgos. La primera take profit es 2xATR, la segunda 3xATR y la stop loss es 1xATR. Después de que se activa la primera take profit, la stop loss se moverá al precio de entrada. Esta estrategia es adecuada para que el intercambio GDAX encuentre oportunidades potenciales de trading de tendencias.
La estrategia se basa principalmente en dos indicadores técnicos:
Las señales de compra se generan cuando la EMA del período corto cruza por encima de la EMA del período largo. Además, la línea de señal Fisher Turn también debe ser mayor que 0, lo que indica la tendencia alcista actual.
Las reglas de toma de ganancias y stop loss son las siguientes:
La estrategia se puede optimizar ajustando parámetros como los períodos EMA, los períodos de señal Fisher Turn y los períodos ATR.
Al combinar indicadores de seguimiento de tendencias e indicadores de gestión de riesgos, esta estrategia tiene las siguientes ventajas:
Esta estrategia también presenta algunos riesgos:
Estos riesgos pueden reducirse mediante la optimización de los parámetros, la combinación de otros indicadores, la intervención manual, etc.
La estrategia se puede optimizar en los siguientes aspectos:
Al probar diferentes configuraciones de parámetros y combinaciones de indicadores, el rendimiento de la estrategia puede mejorarse continuamente.
La estrategia Fisher Turnaround EMA Multi-Take Profit y Multi-Stop integra las fortalezas del seguimiento de tendencias y la gestión de riesgos. Con un gran potencial para la verificación y optimización a largo plazo, es una estrategia prometedora. Todavía hay un amplio margen para optimizar parámetros y combinar indicadores para lograr un rendimiento constante en el comercio en vivo.
/*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")