Esta estratégia integra vários indicadores de impulso forte, incluindo RSI, MF, CCI e Stoch RSI, para identificar e rastrear tendências fortes através de cruzamento de indicadores. Primeiro calcula vários indicadores de ciclo, em seguida, toma o valor médio. Quando todos os indicadores atravessam o limiar forte, um sinal de compra é gerado. Quando os indicadores caem abaixo do limiar fraco, um sinal de venda é gerado para capturar pontos de virada da tendência e rastrear tendências fortes.
Esta estratégia calcula quatro indicadores de impulso fortes - RSI, MF, CCI e Stoch RSI. O RSI julga a força calculando as mudanças de preço durante um período. O MF também considera a relação de subidas e descidas. O CCI julga os níveis de sobrecompra / sobrevenda calculando o desvio da média móvel. O Stoch RSI incorpora o método de cálculo KDJ em cima do RSI.
A estratégia define 50 como o nível neutro para os indicadores. Quando as linhas RSI, MF, CCI, Stoch RSI K e D cruzam acima de 50, um sinal de compra é gerado, indicando uma forte tendência de alta. Quando os indicadores caem abaixo de 50, um sinal de venda é gerado, sugerindo lateral ou tendência de queda.
A vantagem desta estratégia é que os indicadores são abrangentes, contendo vários métodos para medir o impulso dos preços e podem verificar-se mutuamente para evitar desalinhamento.
Indicadores abrangentes, incluindo os indicadores RSI, MF, CCI e Stoch RSI, para um forte julgamento e verificação do momento, melhorando a precisão.
A tomada do valor médio dos indicadores filtra o ruído e torna os sinais mais fiáveis.
A utilização do cruzamento de múltiplos indicadores como calendário de entrada identifica efetivamente pontos de virada de tendência fortes.
O amplo intervalo de stop loss permite acompanhar a forte tendência de excesso de rendimentos.
A lógica da estratégia é clara e fácil de entender, os parâmetros são razoáveis para negociação ao vivo.
Risco de forte inversão de tendência.
Risco de flutuações dentro da tendência O preço pode ter grandes retrações durante as tendências de alta, exigindo intervalos razoáveis de stop loss.
A estratégia é principalmente para acompanhar tendências fortes, podendo ter um desempenho inferior nos mercados de baixa.
Risco de otimização de parâmetros: os parâmetros dos indicadores necessitam de testes e otimização para diferentes produtos, caso contrário, o desempenho pode sofrer.
Os riscos podem ser geridos através de uma parada de perda adequada, testes de parâmetros, ajuste de posição, etc.
Teste diferentes combinações de parâmetros para encontrar ciclos ideais para o RSI, CCI, etc. para produtos específicos.
Introduzir mais tipos de indicadores como indicadores de volatilidade, indicadores de volume para enriquecer a lógica.
Ajustar automaticamente os tamanhos das posições com base nas condições do mercado.
Adotar stop loss dinâmicos, trailing stops baseados nos níveis de flutuação do mercado.
Explorar as possibilidades de cruzamento por etapas, entrar em negociações com base em indicadores de primeiro nível e, em seguida, acompanhar as tendências com indicadores de segundo nível.
Esta estratégia identifica e rastreia tendências fortes por cruzamentos de RSI, MF, CCI, Stoch RSI e outros indicadores de impulso fortes. Os indicadores abrangentes e complementares com cálculo de valor médio filtram efetivamente sinais falsos. O cronograma de entrada do cruzamento do indicador é confiável e um amplo intervalo de stop loss permite rastreamento de tendência persistente. Mas os riscos de reversão precisam de cautela e a otimização de parâmetros é importante.
/*backtest start: 2022-11-06 00:00:00 end: 2023-11-12 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/ // © SoftKill21 //@version=4 strategy(title="something", initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.03, pyramiding=1 ) length = input(title="Length", type=input.integer, defval=100, minval=1, maxval=2000) src = hlc3 upper = sum(volume * (change(src) <= 0 ? 0 : src), length) lower = sum(volume * (change(src) >= 0 ? 0 : src), length) _rsi(upper, lower) => if lower == 0 100 if upper == 0 0 100.0 - (100.0 / (1.0 + upper / lower)) mf = _rsi(upper, lower) up = rma(max(change(src), 0), length) down = rma(-min(change(src), 0), length) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) plot(rsi, "RSI", color=#8E1599) plot(mf, "MF", color=#459915) hline(50, title="zap", color=#c0c0c0) ma = sma(src, length) cci = (src - ma) / (0.015 * dev(src, length)) //plot(cci, "CCI", color=#996A15) smoothK = input(1, "K", minval=1) smoothD = input(1, "D", minval=1) rsi1 = rsi(src, length) k = sma(stoch(rsi1, rsi1, rsi1, length), smoothK) d = sma(k, smoothD) plot(k, "K", color=#0094FF) plot(d, "D", color=#FF6A00) avg = (rsi + mf + cci + k + d)/5 long = rsi > 50 and mf > 50 and cci >50 and (k > 50 or d>50) short= rsi<49 and mf<49 and cci<0 and (k<50 or d<50) // long= avg > 100 // short=avg<0 plot(avg) strategy.entry('long',1,when=long) strategy.close("long",when=short) //strategy.entry('short',0,when=short) //strategy.close("short",when=exitshort)