Esta estratégia utiliza os princípios de cruz de ouro e cruz de morte das médias móveis, combinados com o indicador RSI para ajudar na identificação e rastreamento da tendência.
A estratégia baseia-se nos seguintes princípios:
Utilize a EMA em vez da SMA para refletir melhor as últimas alterações de preços e reagir mais rapidamente às rupturas.
Sistema duplo de cruzamento de médias móveis: cruzamento da EMA de curto prazo acima da EMA de longo prazo sinaliza entrada longa, enquanto cruzamento da EMA de curto prazo abaixo da EMA de longo prazo sinaliza entrada curta.
O indicador RSI ajuda a filtrar falsos breakouts, sinalizando condições de sobrecompra/supervenda.
Múltiplas médias móveis empilhadas juntas: EMA de 55 períodos para sinal de curto prazo, EMA de 100 períodos para tendência de médio prazo e EMA de 200 períodos para filtragem de tendência de longo prazo.
O risco de risco deve ser controlado com uma configuração razoável de stop loss e de lucro.
A principal lógica de negociação é:
O valor da posição em risco deve ser calculado em função do valor da posição em risco.
O valor da posição de curto prazo é o valor da posição de curto prazo.
Configure stop loss e take profit após a entrada para otimizar os retornos.
Fechar posições longas/cortas quando o RSI mostrar sobrecompra/supervenda para evitar riscos de reversão.
A combinação de vários períodos de média móvel permite tanto o acompanhamento da tendência como a confirmação da reversão, evitando assim ficarem presos numa consolidação prolongada enquanto seguem a tendência principal.
As principais vantagens desta estratégia são:
Lógica simples baseada em cruzamento de médias móveis, fácil de entender e implementar.
Reacção mais rápida às variações de preços e às inversões de tendência através da utilização da EMA.
Os períodos de média móvel múltiplos são responsáveis tanto pelo acompanhamento da tendência como pela identificação da reversão.
O RSI filtra falhas e aumenta a precisão do sinal.
Os parâmetros de stop loss/take profit por defeito controlam eficazmente os riscos de negociação.
É altamente personalizável através do ajustamento de períodos de média móvel, rácios stop loss/take profit, etc.
Os principais riscos desta estratégia são:
São propensos a serem atacados em mercados voláteis, gerando sinais inativos excessivos.
Os parâmetros padrão podem não se adequar a todos os produtos e prazos, exigindo otimização.
Simplesmente guiado por sinais técnicos, propenso a mudanças fundamentais e riscos de eventos.
Pode ter um desempenho inferior quando o índice sobe, mas a amplitude do mercado diverge.
Risco de ganhar muito cedo e perder a maior parte da tendência.
Para enfrentar estes riscos, podem ser feitas as seguintes otimizações:
Adicione filtros como o volume para evitar falsas fugas.
Backtest para encontrar parâmetros ideais para cada produto.
Stop-loss mais rígidos e tomada de lucro para limitar os riscos em mercados variados.
Incorporar filtros fundamentais para evitar sinais antes de grandes eventos.
A estratégia pode ser otimizada nos seguintes aspectos:
Otimizar os períodos de média móvel para encontrar as melhores combinações de curto, médio e longo prazo, através de aprendizado de máquina, etc.
Teste o preço de fechamento contra o preço típico para o desempenho.
Adicionar um filtro de volume para receber apenas sinais em barras de alto volume.
Optimize as taxas stop loss/take profit para maior precisão ou defina paradas dinâmicas baseadas em percentagens.
Construir modelos compostos com indicadores adicionais como Stochastics, MACD, Bollinger Bands para melhorar o desempenho.
Testes de retrospectiva em diferentes produtos, prazos e condições de mercado para a robustez.
Utilize o aprendizado de máquina para otimização de parâmetros multidimensionais.
Esta é uma estratégia de tendência fácil de entender baseada em lógica de cruzamento de média móvel simples. Ela tem vantagens como implementação fácil, confiabilidade e alto potencial de personalização. Mas também carrega riscos inerentes ao mercado, exigindo otimização contínua de parâmetros e módulos baseados em resultados de backtest, para tornar a estratégia mais robusta e inteligente. Combinando análise técnica com pesquisa fundamental pode melhorar ainda mais sua integridade e confiabilidade.
/*backtest start: 2023-10-24 00:00:00 end: 2023-10-31 00:00:00 period: 15m basePeriod: 5m 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/ // © pernath //@version=5 strategy("TREND_CATCHER", overlay=true, commission_value=0.05, commission_type=strategy.commission.percent, initial_capital=1000) //#####variables############## profit_short=input(title='profit_short', defval=27) stop_short=input(title='stop_short', defval=2) stop_long=input(title='stop_long', defval=3) profit_long=input(title='profit_long', defval=35) media_1=input(title='media_1', defval=55) media_2=input(title='media_2', defval=100) resta_medias=input(title='resta_medias', defval=0) resta_medias2=input(title='resta_medias2', defval=0) RSI_periodos=input(title='RSI_periodos', defval=42) //###############VARIABLES################### //#####Alert##### id_bot = "" email_token = "" long_open ="" long_close ="" short_open ="" short_close ="" //# {{strategy.order.alert_message}} //############################# //############################# //###############EMA##############/ //plot(ta.ema(close, 1), title='ema 5', color=color.white) plot(ta.ema(close, 12), title='ema 12', color=color.white) plot(ta.ema(close, 25), title='ema 25', color=color.white) plot(ta.ema(close, 30), title='ema 30', color=color.white, linewidth=1) plot(ta.ema(close, 40), title='ema 40', color=color.white, linewidth=1) plot(ta.ema(close, 55), title='ema 55', color=color.orange, linewidth=1) plot(ta.ema(close, 100), title='ema 100', color=color.red, linewidth=1) plot(ta.ema(close, 200), title='ema 200', color=color.white, linewidth=3) //#############################/ //######VISUAL############# EMA50 = ta.ema(close, 55) EMA100 = ta.ema(close, 100) estado_medias=EMA50-EMA100 a = plot(EMA50, title="EMA(50)", color=color.orange, linewidth=1 ) b = plot(EMA100, title="EMA(100)", color=color.red, linewidth=1 ) var color col = na col := estado_medias>resta_medias ? color.green : color.red fill(a,b,color=col,transp=40) //######VISUAL############# Go_Short=(ta.crossunder(ta.ema(close,100),ta.ema(close,200))) Go_Long=((ta.crossover(ta.ema(close,55),ta.ema(close,100))and(ta.ema(close,12)>ta.ema(close,200)))) strategy.close("enter long", (Go_Short),alert_message=long_open) cancelar_short=((ta.crossunder(ta.ema(close,25),ta.ema(close,6)))) if Go_Short strategy.entry("enter short", strategy.short,1, alert_message=short_open) strategy.exit("cerrar short", "enter short", 1, profit=close*profit_short/100/syminfo.mintick, loss=close*stop_short/100/syminfo.mintick, alert_message=short_close) strategy.close("enter short", (Go_Long),alert_message=short_close) cancelar=((ta.crossunder(ta.ema(close,12),ta.ema(close,30)))) if Go_Long strategy.entry("enter long", strategy.long,1,alert_message=long_open) strategy.exit("cerrar long", "enter long", 1, profit=close*profit_long/100/syminfo.mintick, loss=close*stop_long/100/syminfo.mintick, alert_message=long_close) strategy.close("enter short", (cancelar_short),alert_message=short_close) strategy.close("enter long", (cancelar),alert_message=long_close) //posiciones abiertas bgcolor((strategy.position_size > 0 or strategy.position_size < 0) ? color.blue : na, transp=70)