Fisher Turnaround EMA Multi-Take Profit e Multi-Stop Strategy

Autora:ChaoZhang, Data: 2024-01-05 15:40:28
Tags:

img

Resumo

A estratégia Fisher Turnaround EMA Multi-Take Profit e Multi-Stop combina o indicador EMA e um sinal de Fisher Turn personalizado para implementar negociações de rastreamento de tendências. Ele gera sinais de compra quando o EMA de curto período cruza acima do EMA de longo período e o sinal de Fisher Turn é maior que 0. A estratégia define dois níveis de take profit e um stop loss dinâmico para bloquear lucros e controlar riscos. O primeiro take profit é 2xATR, o segundo 3xATR e o stop loss é 1xATR. Após o primeiro take profit ser ativado, o stop loss passará para o preço de entrada. Esta estratégia é adequada para a troca da GDAX para encontrar oportunidades potenciais de negociação de tendências.

Estratégia lógica

A estratégia baseia-se principalmente em dois indicadores técnicos:

  1. EMA: média móvel exponencial. A estratégia usa 12 e 26 EMAs de período.
  2. Este sinal é calculado com base na diferença entre os altos e baixos durante um determinado período.

Os sinais de compra são gerados quando a EMA de curto período cruza acima da EMA de longo período. Além disso, a linha de sinal Fisher Turn também deve ser maior que 0, indicando a tendência de alta atual.

As regras de take profit e stop loss são as seguintes:

  1. Primeiro tire lucro a 2xATR
  2. Segundo lucro a 3xATR
  3. Stop loss em 1xATR
  4. Após o primeiro take profit ser acionado, o stop loss irá para o preço de entrada.

A estratégia pode ser otimizada ajustando parâmetros como períodos EMA, períodos de sinal Fisher Turn e períodos ATR.

Vantagens

A combinação de indicadores de acompanhamento de tendências e de indicadores de gestão de riscos proporciona as seguintes vantagens:

  1. Utilização da EMA para determinar a direcção da tendência
  2. Filtros personalizados de sinal de volta de Fisher
  3. Níveis de lucro múltiplos para bloquear lucros
  4. Previsão de prejuízo
  5. Os parâmetros ajustáveis adaptam-se aos diferentes ambientes de mercado

Riscos

Esta estratégia apresenta também alguns riscos:

  1. Atividade de reversão da tendência
  2. Configurações de parâmetros inadequadas causam entradas excessivamente agressivas ou saídas prematuras
  3. O sinal de viração Fisher personalizado pode falhar em certos ambientes de mercado

Estes riscos podem ser reduzidos através da otimização dos parâmetros, da combinação de outros indicadores, da intervenção manual, etc.

Orientações de otimização

A estratégia pode ser otimizada nos seguintes aspectos:

  1. Otimizar os parâmetros do período da EMA para adaptar mais ambientes de mercado
  2. Adicionar outros indicadores de tendência para verificar sinais de compra
  3. Incorporar filtros globais de mercado para evitar ambientes de incerteza
  4. Otimize os parâmetros do sinal de viração de Fisher ou tente outros indicadores personalizados
  5. Adicionar mais níveis de lucro para bloquear mais lucros
  6. Integrar a função de stop loss automático

Através do teste de diferentes configurações de parâmetros e combinações de indicadores, o desempenho da estratégia pode ser continuamente melhorado.

Conclusão

A Fisher Turnaround EMA Multi-Take Profit e Multi-Stop Strategy integra os pontos fortes do rastreamento de tendências e gestão de riscos. Com grande potencial para verificação e otimização a longo prazo, é uma estratégia promissora.


/*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")

Mais.