EMA 200 Baseado em estratégia de retorno de lucro e retorno de perdas

Autora:ChaoZhang, Data: 2024-01-08 15:50:52
Tags:

img

Resumo

A estratégia de trailing take profit e trailing stop loss baseada na EMA 200 é uma estratégia de negociação que usa a EMA 200 como referência, combinada com mecanismos de trailing stop loss e trailing take profit.

Estratégia lógica

A estratégia calcula primeiro a EMA de 200 períodos como um indicador para julgar a tendência geral.

Após a entrada no mercado, a estratégia usa o indicador ATR para calcular stop loss razoável e aumentar os lucros, que são adicionados ao último máximo e último mínimo para formar o trilho superior e inferior. Quando o preço excede o trilho superior, tire lucro para ordens longas; quando o preço quebra o trilho inferior, tire lucro para ordens curtas. À medida que o preço se move, os níveis de stop loss e take profit também se ajustam dinamicamente, realizando assim o trailing stop loss e o trailing take profit.

Análise das vantagens

A maior vantagem desta estratégia é evitar a negociação contra a tendência, julgando a tendência com a EMA 200. Ao mesmo tempo, os níveis de stop loss e take profit seguem o movimento do preço para o stop loss e take profit oportunos, controlando efetivamente os riscos.

Além disso, o ATR stop loss and take profit é uma avaliação da volatilidade do mercado e pode definir níveis razoáveis de stop loss e take profit, em vez de ser demasiado flexível ou demasiado agressivo.

Em geral, esta estratégia combina tendência e stop loss/take profit, buscando o máximo de lucros enquanto controla os riscos, tornando-se uma estratégia muito equilibrada.

Análise de riscos

O principal risco desta estratégia é que o EMA 200 pode não ser capaz de determinar com precisão a tendência completamente, e pode haver falsas rupturas.

Além disso, embora o ATR stop loss and take profit tenha alguma base científica e vantagens, situações que excedam a faixa de volatilidade normal ainda podem ocorrer.

Para mitigar esses riscos, considere a combinação de outros indicadores para confirmar a tendência e a volatilidade, como Bandas de Bollinger, RSI, etc., para evitar sinais errados.

Optimização da Estratégia

A estratégia pode ser otimizada nos seguintes aspectos:

  1. O período EMA pode ser ajustado para 100 ou 150 para um julgamento de tendência mais estável.
  2. Os parâmetros ATR podem ser otimizados para obter uma representação mais razoável da volatilidade do mercado.
  3. Adicione outros indicadores como Bandas de Bollinger para ajudar a julgar a tendência e a volatilidade.
  4. O stop loss e o take profit podem ser ajustados para múltiplos integrais do ATR, como 2 vezes ou 3 vezes o ATR, para paradas mais flexíveis.
  5. Adicionar o mecanismo de reentrada, ou seja, reentrar na tendência após a ação do stop loss.

Ao testar diferentes parâmetros, selecionar parâmetros melhores, adicionar outros indicadores para julgamento, otimizar o mecanismo de stop loss e muito mais, a estabilidade e rentabilidade da estratégia podem ser muito melhoradas.

Conclusão

A estratégia de trailing take profit e stop loss baseada na EMA 200 julga a tendência geral com a EMA e usa o ATR calculado para controlar os riscos. É uma estratégia de negociação equilibrada com a vantagem de determinar a tendência, trailing stop loss/profit e controle de risco, mas também tem certos riscos de falha.


/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ozgurhan

//@version=5
strategy("EMA 200 Based Trailing Take Profit", overlay=true, margin_long=100, margin_short=100, default_qty_value=1, initial_capital=100)

// EMA 200 tanımı
ema200 = ta.ema(close, 200)

// Orijinal long ve short koşulları
longConditionOriginal = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
shortConditionOriginal = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))

// EMA 200'ün üzerinde ve altında long ve short koşulları
longCondition = longConditionOriginal and close > ema200
shortCondition = shortConditionOriginal and close < ema200

if longCondition
    strategy.entry("Long", strategy.long, comment="Long", alert_message="Long")

if shortCondition
    strategy.entry("Short", strategy.short, comment="Short", alert_message="Short")

atr_length=input.int(7, title="ATR Length")
atr_multiplier = input.float(1.5, title="ATR Multiplier")
atr_multiplied = atr_multiplier * ta.atr(atr_length)
ttp_top_bracket = strategy.position_size > 0 ? high[1] + atr_multiplied : na
ttp_bottom_bracket = strategy.position_size < 0 ? low[1] - atr_multiplied : na

plot(ttp_top_bracket, title="TTP Top Bracket", color=color.lime, style=plot.style_linebr, offset=1)
plot(ttp_bottom_bracket, title="TTP Bottom Bracket", color=color.red, style=plot.style_linebr, offset=1)

strategy.exit("Close Long", from_entry="Long", limit=ttp_top_bracket, alert_message="Close Long")
strategy.exit("Close Short", from_entry="Short", limit=ttp_bottom_bracket, alert_message="Close Short")





Mais.