Estratégia de forte acompanhamento de crossover multiindicador


Data de criação: 2023-11-13 16:59:12 última modificação: 2023-11-13 16:59:12
cópia: 0 Cliques: 616
1
focar em
1617
Seguidores

Estratégia de forte acompanhamento de crossover multiindicador

Visão geral

A estratégia integra vários indicadores de força, como RSI, MF, CCI, Stoch RSI e outros, para identificar e rastrear tendências fortes por meio de cruzamento de indicadores. A estratégia primeiro calcula vários indicadores periódicos e, em seguida, toma a média dos indicadores, gerando um sinal de compra quando vários indicadores quebram o limiar de força, gerando um sinal de venda quando os indicadores caem o limiar de fraqueza, para capturar o ponto de mudança de tendência do preço das ações e rastrear a tendência de força.

Princípio da estratégia

A estratégia calcula quatro indicadores de força ao mesmo tempo: RSI, MF, CCI, e Stoch RSI. Dentre eles, o RSI determina a força e a fraqueza, calculando a variação de queda e queda em um determinado período; MF também considera a proporção de queda e queda; O CCI determina o excesso de compra e venda, calculando o grau de desvio do preço da linha média; O Stoch RSI adiciona o método de cálculo KDJ à base do RSI.

A estratégia define 50 como a área neutra do indicador. Quando o RSI, o MF, o CCI e o Stoch RSI cruzam a linha K e D acima de 50, geram um sinal de compra, indicando que o preço da ação está em uma forte tendência ascendente. Quando os indicadores quebram 50 geram um sinal de venda, indicando que a ação está em uma tendência de correção ou queda.

A vantagem dessa estratégia é que o indicador é abrangente, contendo várias maneiras de calcular a força e a fraqueza do preço das ações, e os indicadores podem ser verificados entre si, evitando erros de posicionamento. A medição do indicador pode filtrar parte do ruído.

Vantagens estratégicas

  1. O indicador é abrangente, contendo RSI, MF, CCI, Stoch RSI e vários métodos de julgamento fortes, que podem ser verificados entre si, aumentando a precisão de identificação.

  2. A média dos indicadores pode ser calculada para filtrar parte do ruído e tornar o sinal mais confiável.

  3. O uso de múltiplas cruzamentos de indicadores como um momento de entrada pode ser eficaz na identificação de pontos de conversão de preços de ações fortes.

  4. A configuração de um amplo intervalo de perda permite um acompanhamento contínuo de uma forte tendência e obter ganhos extras.

  5. A estratégia é clara e fácil de entender, os parâmetros são racionais e a operação do disco rígido é fácil.

Risco estratégico

  1. Risco de reversão forte. Uma reversão súbita no preço das ações pode levar a um stop loss estratégico.

  2. Risco de flutuação da tendência. Os preços das ações podem sofrer uma reversão significativa em uma tendência forte, e é necessário definir um limite razoável de perda.

  3. Risco de transações múltiplas. A estratégia é baseada na busca de força, e pode não ser eficaz em transações em branco.

  4. Risco de otimização de parâmetros. Os parâmetros indicadores precisam ser testados com otimização de diferentes variedades, caso contrário, podem ser ineficazes.

  5. O risco pode ser controlado por meio de métodos como stop loss racional, teste de parâmetros e ajuste de posição.

Direção de otimização da estratégia

  1. Pode-se testar diferentes combinações de parâmetros, escolhendo um período de indicadores como RSI, CCI e outros mais adequados para uma determinada variedade.

  2. Mais tipos de indicadores podem ser introduzidos, como indicadores de taxa de flutuação, indicadores de volume de transação, etc., enriquecendo a lógica de cruzamento de vários indicadores.

  3. A percentagem de posições em cada transação pode ser automaticamente ajustada de acordo com a situação do mercado.

  4. Pode-se definir um stop loss dinâmico para trailing stop loss de acordo com a volatilidade do mercado.

  5. Pode-se explorar a possibilidade de um cruzamento gradual de indicadores, primeiro entrando no campo através de um cruzamento de indicadores de nível um, e depois seguindo a tendência através de um cruzamento de indicadores de nível dois.

Resumir

A estratégia é implementada através da identificação e rastreamento de tendências fortes através da cruz de vários indicadores fortes RSI, MF, CCI e Stoch RSI. Os indicadores estratégicos são totalmente complementares, e o cálculo do valor médio do indicador pode filtrar efetivamente os sinais de erro.

Código-fonte da estratégia
/*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)