Fisher Turnaround EMA - многозаемная стратегия прибыли и многоостановки

Автор:Чао Чжан, Дата: 2024-01-05 15:40:28
Тэги:

img

Обзор

Стратегия 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 переместится на цену входа.

Логика стратегии

Стратегия основывается на двух технических показателях:

  1. EMA: экспоненциальная скользящая средняя.
  2. Этот сигнал рассчитывается на основе разницы между максимумами и минимумами за определенный период.

Сигналы покупки генерируются, когда короткий период EMA пересекает длинный период EMA. Кроме того, линия сигнала Fisher Turn также должна быть больше 0, что указывает на текущий восходящий тренд.

Правила получения прибыли и стоп-лосса следующие:

  1. Сначала возьмите прибыль на 2xATR
  2. Второй взят прибыль на 3xATR
  3. Стоп-лосс при 1xATR
  4. После того, как первый выигрыш будет задействован, стоп-лосс перейдет к цене входа.

Стратегия может быть оптимизирована путем корректировки таких параметров, как периоды EMA, периоды сигналов Fisher Turn и периоды ATR.

Преимущества

Благодаря сочетанию индикаторов отслеживания тенденций и индикаторов управления рисками эта стратегия имеет следующие преимущества:

  1. Использование EMA для определения направления тренда
  2. Настройки Фишеровских фильтров сигналов поворота поддельных прорывов
  3. Многочисленные уровни получения прибыли для блокировки прибыли
  4. Динамическая стоп-лосс для контроля рисков
  5. Настраиваемые параметры адаптируются к различным рыночным условиям

Риски

В этой стратегии также есть некоторые риски:

  1. Строгое изменение тренда
  2. Неправильные настройки параметров приводят к чрезмерно агрессивному входу или преждевременному выходу
  3. Сигнал поворота Фишера может не работать в определенных условиях рынка

Эти риски могут быть уменьшены путем оптимизации параметров, объединения других показателей, ручного вмешательства и т.д.

Руководство по оптимизации

Стратегия может быть оптимизирована в следующих аспектах:

  1. Оптимизировать параметры периода EMA для адаптации большего количества рыночных условий
  2. Добавить другие индикаторы тренда для проверки сигналов покупки
  3. Включить общие рыночные фильтры, чтобы избежать неопределенности
  4. Оптимизируйте параметры сигнала Fisher Turn или попробуйте другие пользовательские индикаторы
  5. Добавьте больше уровни получения прибыли, чтобы закрепить больше прибыли
  6. Интегрировать функцию автоматического отслеживания стоп-потери

Проверяя различные параметры и комбинации индикаторов, можно постоянно улучшать эффективность стратегии.

Заключение

Стратегия 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")

Больше