
A estratégia usa o princípio do cruzamento dourado e da forca morta das médias móveis, em combinação com o julgamento auxiliar do indicador RSI, para identificar e acompanhar a tendência. Fazer mais quando atravessa a média de longo prazo na média de curto prazo e fechar quando atravessa a média de longo prazo abaixo da média de curto prazo é uma estratégia de acompanhamento de tendência mais típica.
A estratégia baseia-se principalmente nos seguintes princípios:
Usar a linha média EMA: mais capaz de reagir às mudanças de preços mais recentes do que a SMA, reagindo mais rapidamente às rupturas.
O cruzamento de duas linhas de equilíbrio: a linha de equilíbrio de curto período atravessa a linha de equilíbrio de longo período como um sinal de compra, a linha de equilíbrio de curto período atravessa a linha de equilíbrio de longo período como um sinal de venda, usando o cruzamento dourado da linha de equilíbrio e o princípio da forca morta para determinar a reversão de tendência.
O indicador de RSI auxiliar julgamento: venda quando o RSI alta retorna, comprar quando o RSI baixa retorna, evitar falsas rupturas.
Diferentes linhas médias periódicas são sobrepostas: 55 linhas periódicas são linhas de sinal para determinar a inversão de tendências de curto prazo, 100 linhas periódicas são linhas de sinal para determinar a tendência de médio prazo e 200 linhas periódicas são linhas de sinal para determinar a tendência de longo prazo.
Estabelecer um parâmetro de stop loss razoável para controlar o risco.
A lógica de negociação desta estratégia é a seguinte:
Quando o EMA de 55 ciclos usa o EMA de 100 ciclos e o EMA de 12 ciclos é superior ao EMA de 200 ciclos, faça mais entrada.
Quando a EMA de 100 ciclos atravessa a EMA de 200 ciclos, a entrada é fechada.
Depois de entrar em negociação, defina condições de stop loss e stop loss para otimizar o lucro.
Quando o indicador RSI mostra um sinal de sobrecompra e sobrevenda, feche o correspondente pedido de compra e venda em tempo hábil, evitando o risco de reversão.
Aplicando a superposição de EMAs de diferentes períodos, a estratégia permite simultaneamente o julgamento de tendências e a confirmação de reversão, seguindo tendências de médio e longo prazo, evitando ser encaixada.
As principais vantagens desta estratégia são:
A estratégia é clara, a direção da tendência é julgada por um simples princípio de cruzamento equilíneo, é fácil de entender e implementar.
A utilização da linha média da EMA permite uma resposta mais rápida às mudanças de preços e uma captura mais rápida das reversões de tendência.
A aplicação de EMAs de múltiplos períodos de sobreposição permite o acompanhamento de tendências e a identificação de inversões.
O uso do indicador RSI evita falsas rupturas e aumenta a precisão do sinal.
A configuração padrão do Stop Loss Parameter é razoável e permite controlar o risco de negociação.
É altamente escalável e permite otimizar estratégias de acordo com a variação do mercado de parâmetros de linha média e parâmetros de stop loss.
A estratégia tem os seguintes riscos:
A estratégia de linha de equilíbrio é sensível às flutuações do mercado e é facilmente manipulada. Se houver um mercado de turbulência prolongada, haverá muitos negócios inválidos.
Os parâmetros padrão podem não ser adequados para todas as variedades e períodos de mercado, e precisam ser otimizados para esse fim.
A condução de indicadores puramente tecnológicos pode ser facilmente manipulada, sem levar em consideração o impacto de fatores fundamentais e eventos significativos na condução do mercado.
A estratégia pode não ser rentável quando o índice tende para cima, mas o mercado de ações se diversifica.
O risco de perder a maior parte dos lucros do mercado por “sair prematuramente do mercado”.
Os riscos podem ser melhorados e otimizados de forma a:
Os filtros, combinados com indicadores de volume de transação, evitam que as brechas falsas tragam perdas.
Optimizar os parâmetros de feedback para que eles sejam mais adequados às características de uma raça específica.
Reduzir adequadamente o tempo de detenção das posições, interromper o stop loss em tempo hábil e evitar o risco de uma tendência de agitação prolongada.
A combinação de indicadores fundamentais evita o impacto de grandes perdas de lucro.
A estratégia pode ser otimizada em:
Optimizar os parâmetros de um sistema de mediano, procurando por combinações de períodos de mediano mais adequadas para o curto, médio e longo prazo. Pode-se tentar métodos de otimização de parâmetros como Machine Learning.
Teste a eficácia do preço de fechamento e o preço típico na estratégia.
Tente usar o volume de transação como filtro, gerando um sinal de transação somente em casos de grande volume.
Optimizar as condições de parada de perda para torná-las mais específicas. Também é possível configurar a parada de perda dinâmica para ajustar proporcionalmente o ponto de parada.
Construir estratégias complexas em combinação com outros indicadores, como Stoch, MACD, Brinbelt, etc., para melhorar a eficácia da estratégia.
A avaliação da eficácia da estratégia e a sua melhoria em diferentes variedades, ciclos e fases do mercado.
Pode-se considerar a otimização de parâmetros multidimensionais com a ajuda de algoritmos de aprendizado de máquina.
A estratégia é clara e fácil de entender, e a direção da tendência é determinada por um simples princípio de cruzamento uniforme. A estratégia tem vantagens como a facilidade de implementação, a confiabilidade padrão e a capacidade de expansão. Mas também existe um certo risco de mercado, que requer a otimização contínua de parâmetros e módulos com base nos resultados de feedback, para tornar a estratégia mais estável e inteligente.
/*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)