Стратегия Fisher Turnaround EMA Multi-Take Profit and Multi-Stop сочетает в себе индикатор EMA и пользовательский сигнал Fisher Turn для реализации трекинга тренда. Она генерирует сигналы покупки, когда краткосрочная EMA пересекает длинную EMA, а сигнал Fisher Turn больше 0. Стратегия устанавливает два уровня take profit и один динамический stop loss для блокировки прибыли и контроля рисков. Первый take profit - 2xATR, второй 3xATR, а стоп loss - 1xATR. После запуска первого take profit, стоп loss переместится на цену входа.
Стратегия основывается на двух технических показателях:
Сигналы покупки генерируются, когда короткий период EMA пересекает длинный период EMA. Кроме того, линия сигнала Fisher Turn также должна быть больше 0, что указывает на текущий восходящий тренд.
Правила получения прибыли и стоп-лосса следующие:
Стратегия может быть оптимизирована путем корректировки таких параметров, как периоды EMA, периоды сигналов Fisher Turn и периоды ATR.
Благодаря сочетанию индикаторов отслеживания тенденций и индикаторов управления рисками эта стратегия имеет следующие преимущества:
В этой стратегии также есть некоторые риски:
Эти риски могут быть уменьшены путем оптимизации параметров, объединения других показателей, ручного вмешательства и т.д.
Стратегия может быть оптимизирована в следующих аспектах:
Проверяя различные параметры и комбинации индикаторов, можно постоянно улучшать эффективность стратегии.
Стратегия Fisher Turnaround EMA Multi-Take Profit и Multi-Stop интегрирует сильные стороны отслеживания тренда и управления рисками. С большим потенциалом для долгосрочной проверки и оптимизации, это перспективная стратегия.
/*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")