Esta estratégia identifica tendências combinando múltiplos indicadores como RSI, MA, EMA e Bollinger Bands para implementar o rastreamento de tendências. Quando uma tendência relativamente ascendente é identificada, a estratégia estabelecerá uma posição longa.
A lógica central desta estratégia é identificar as tendências de preços combinando RSI, MA, EMA e Bollinger Bands. Especificamente, ele traça simultaneamente duas linhas MA, uma definida em 10 períodos e a outra definida em 5 períodos. Ao mesmo tempo, duas linhas EMA são desenhadas com parâmetros de 30 e 20, respectivamente. O parâmetro do indicador RSI é definido em 7.
Quando o preço de fechamento ultrapassa a linha MA de 5 períodos, a linha EMA de 20 períodos e a linha inferior, enquanto o indicador RSI ultrapassa a linha de 25 sobrecompra, a estratégia julga que os preços estão relativamente em ascensão e entrarão em uma posição longa.
Em contrapartida, quando o preço de fechamento ultrapassa a linha MA de 10 períodos, a linha EMA de 30 períodos e a linha superior, enquanto o indicador RSI ultrapassa a linha de 75 sobrevendidos, a estratégia julga que os preços estão relativamente em declínio e entrará numa posição curta.
Como podem ver, esta estratégia identifica tendências potenciais combinando a lógica do preço quebrando a média móvel e a inversão do indicador RSI, e depois acompanha essa tendência.
A maior vantagem desta estratégia é que ela usa vários indicadores para identificar tendências, o que pode efetivamente reduzir sinais falsos. Especificamente, o preço deve atravessar a média móvel e as Bandas de Bollinger simultaneamente para desencadear sinais de negociação, e o indicador RSI também deve sofrer uma reviravolta de Langarde, que filtra muito ruído.
Além disso, a estratégia acompanha tendências relativamente claras em vez de ruído a curto prazo, o que também aumenta a probabilidade de lucro.
O risco principal é que o julgamento combinado de vários indicadores seja errado, resultando em negociações erradas. Além disso, eventos repentinos também podem invalidar a estratégia.
Para reduzir os riscos, os parâmetros dos indicadores podem ser ajustados adequadamente para otimizar a lucratividade. Além disso, o estabelecimento de pontos de stop loss para controlar perdas individuais também é muito necessário.
As principais optimizações para esta estratégia são:
Testar combinações de mais tipos de indicadores para encontrar melhores combinações de múltiplos indicadores;
Otimizar os parâmetros dos indicadores para melhorar a estabilidade da estratégia;
Aumentar os modelos de aprendizagem de máquina para ajudar no julgamento e melhorar a precisão;
Aumentar os mecanismos adaptativos de stop-loss para controlar os riscos;
Optimização de backtest para melhorar a estabilidade e a rentabilidade.
Esta estratégia projetou um conjunto de mecanismos de rastreamento relativamente ascendentes baseados em RSI, MA, EMA e Bollinger Bands, e entra em posições direcionais depois de julgar as tendências de preços combinando vários indicadores. A integração de vários indicadores para julgar pode efetivamente reduzir a probabilidade de julgamento incorreto e filtrar o ruído até certo ponto, rastreando tendências relativamente claras.
/*backtest start: 2022-11-16 00:00:00 end: 2023-11-22 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/ // © lepstick-TC //@version=4 strategy("1", overlay=true) length = input(5, minval=1) src = input(close, title="Source") mult = input(1.5, minval=0.001, maxval=50) basis = sma(src, length) dev = mult * stdev(src, length) upper = basis + dev lower = basis - dev plot(basis, color=color.red) p1 = plot(upper, color=color.blue) p2 = plot(lower, color=color.blue) fill(p1, p2) rsicok=input(75,minval=0,title="Rsi yüksek") rsiaz=input(25,maxval=50,title="Rsi düşük") rsizaman=input(7,minval=0,title="Rsi zaman") smadeger=input(10,minval=0,title="Ma üst") smadeger2=input(5,minval=0,title="Ma alt") emadeger=input(30,minval=0,title="Ema üst") emadeger2=input(20,minval=0,title="Ema alt") myrsi=rsi(close,rsizaman) myrsi2=rsi(close,rsiaz) myrsi3=rsi(close,rsicok) myma=sma(close,smadeger) myma2=sma(close,smadeger2) myema=ema(close,emadeger) myema2=ema(close,emadeger2) mycond =myrsi >rsicok and close> myma and close>myema mycond2=myrsi<rsiaz and close<myma2 and close<myema2 barcolor(mycond? #2196F3: na) barcolor(mycond2? #FF9800: na) plot(myma,title="Ma yüksek",color=color.black,linewidth=0) plot(myma2,title="Ma düşük",color=color.blue,linewidth=0) plot(myema,title="Ema yüksek",color=color.yellow,linewidth=0) plot(myema2,title="Ema düşük",color=color.gray,linewidth=0) idunno =close< sma(close,smadeger2) and close < sma(close,smadeger) and close<ema(close,emadeger)and close<ema(close,emadeger2)and crossunder(close,lower)and crossunder(myrsi,myrsi2)and crossunder(close,basis) plotchar(idunno,char="A",color=#808000 ,location=location.belowbar) idunno2 =close> sma(close,smadeger2) and close> sma(close,smadeger) and close>ema(close,emadeger)and close>ema(close,emadeger2)and crossover(close,upper)and crossover(myrsi,myrsi3)and crossover(close,basis) plotchar(idunno2,char="S",color=#787B86 ,location=location.abovebar) strategy.entry("Al",true,when =idunno) strategy.entry("Sat",false,when = idunno2) strategy.close("Al",when=ema(close,emadeger)and crossover(open,upper)) strategy.close("Sat",when=sma(close,smadeger2)and crossunder(open,lower)) //strategy.exit("Al çıkış","Al",limit=upper) //strategy.exit("Sat çıkış","Sat",limit=lower) //strategy.exit("Al çıkış","Al",trail_points=close*0.1/syminfo.mintick,trail_offset=close*0.005/syminfo.mintick) //strategy.exit("Sat çıkış","Sat",trail_points=close*0.1/syminfo.mintick,trail_offset=close*0.005/syminfo.mintick)