Estratégia de negociação de criptomoedas com base nos indicadores MACD e estocástico


Data de criação: 2024-02-01 11:52:15 última modificação: 2024-02-01 11:52:15
cópia: 0 Cliques: 773
1
focar em
1617
Seguidores

Estratégia de negociação de criptomoedas com base nos indicadores MACD e estocástico

Visão geral

Esta estratégia é uma estratégia de negociação de criptomoedas baseada em uma combinação de indicadores MACD e indicadores aleatórios. Ela gera sinais de negociação para capturar mudanças de tendência no mercado de criptomoedas, calculando o indicador MACD do preço do Bitcoin e aplicando-lhe um indicador aleatório.

Princípio da estratégia

A estratégia começa com o cálculo do MACD. O MACD representa a média móvel convergente e divergente, um indicador de acompanhamento de tendências. É composto por uma linha rápida e uma linha lenta, a linha rápida é a média móvel do índice de curto prazo e a linha lenta é a média móvel do índice de longo prazo.

Depois de calcular o indicador MACD, a estratégia aplica o indicador aleatório %K ao próprio indicador MACD. A fórmula para o indicador aleatório %K é:

%K = (preço de fechamento atual - preço mínimo de N dias) / (preço máximo de N dias - preço mínimo de N dias) * 100

O indicador aleatório reflete a mudança do preço da ação fora da faixa mais recente. Os valores de% K entre 20 e 80 representam o movimento da ação na faixa de correção. Quando% K cruza a linha 20 de baixo para cima, é um sinal de compra. Quando% K cruza a linha 80 de cima para baixo, é um sinal de venda.

Esta estratégia combina o indicador MACD com o indicador aleatório %K, para negociar no mercado de criptomoedas. O indicador aleatório %K gera um sinal de compra quando ele atravessa 20 para cima e um sinal de venda quando ele atravessa 80 para baixo.

Vantagens estratégicas

Esta estratégia, combinada com a análise de tendências e o indicador de sobrevenda e sobrevenda, permite identificar os pontos de inflexão importantes no mercado. Em comparação com o uso de indicadores MACD ou aleatórios isolados, a combinação de% K e MACD pode aumentar a confiabilidade do sinal e reduzir os falsos sinais.

Além disso, esta estratégia aplica um indicador técnico comumente usado no mercado de ações para a negociação de criptomoedas, um uso de mercado cruzado. Este indicador também se aplica ao mercado de moedas digitais, e pode até ter um efeito melhor devido à alta volatilidade das moedas digitais.

Riscos e soluções

O maior risco desta estratégia é a alta volatilidade do mercado de criptomoedas, que é propensa a produzir falsos sinais que levam a perdas de negociação. Além disso, quando os indicadores técnicos emitem sinais, o preço pode ter mudado de certa magnitude, existindo o risco de não ser capaz de capturar adequadamente o início da tendência.

Para controlar esses riscos, recomenda-se a utilização de stop loss móvel para bloquear os lucros e evitar que os prejuízos se espalhem ainda mais. Ao mesmo tempo, é possível ajustar os parâmetros de forma apropriada, usando diferentes comprimentos de ciclo para explorar mais oportunidades potenciais.

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

Primeiro, a estratégia pode tentar combinar a média móvel com um indicador de flutuabilidade, como a faixa de Bryn, para definir os parâmetros de flutuabilidade para identificar a eficácia de uma ruptura e evitar falsos sinais.

Em segundo lugar, é possível introduzir modelos de aprendizado de máquina para treinar dados históricos e criar modelos de florestas aleatórias ou redes neurais LSTM para auxiliar na avaliação da eficácia dos sinais indicadores.

Terceiro, aumentar o mecanismo de suspensão de perdas. Quando o preço se move na direção negativa acima de um determinado valor, a suspensão de perdas é executada automaticamente para controlar o risco.

Resumir

Esta estratégia combina o indicador MACD com o indicador aleatório %K, usando a maneira como os dois indicadores verificam os sinais uns dos outros, para elaborar estratégias de negociação de criptomoedas. Esta estratégia de indicadores combinados pode melhorar a precisão do sinal até certo ponto. Mas também precisamos estar alertas aos efeitos de ruído e lagging que podem ser causados por combinações de indicadores excessivamente complexas.

Código-fonte da estratégia
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Schaff Trend Cycle Strategy", shorttitle="STC Backtest", overlay=true)

fastLength = input(title="MACD Fast Length",  defval=23)
slowLength = input(title="MACD Slow Length",  defval=50)
cycleLength = input(title="Cycle Length",  defval=10)
d1Length = input(title="1st %D Length",  defval=3)
d2Length = input(title="2nd %D Length",  defval=3)
src = input(title="Source", defval=close)
highlightBreakouts = input(title="Highlight Breakouts ?", type=bool, defval=true)

macd = ema(src, fastLength) - ema(src, slowLength)
k = nz(fixnan(stoch(macd, macd, macd, cycleLength)))
d = ema(k, d1Length)
kd = nz(fixnan(stoch(d, d, d, cycleLength)))

stc = ema(kd, d2Length)
stc := 	stc > 100 ? 100 : stc < 0 ? 0 : stc

upper = input(75, defval=75)
lower = input(25, defval=25)

long =  crossover(stc, lower) ? lower : na
short = crossunder(stc, upper) ? upper : na

long_filt = long and not short
short_filt = short and not long

prev = 0
prev := long_filt ? 1 : short_filt ? -1 : prev[1]

long_final = long_filt and prev[1] == -1
short_final = short_filt and prev[1] == 1

//alertcondition(long_final, "Long", message="Long")
//alertcondition(short_final,"Short", message="Short")

//plotshape(long_final, style=shape.arrowup, text="Long", color=green, location=location.belowbar)
//plotshape(short_final, style=shape.arrowdown, text="Short", color=red, location=location.abovebar)

strategy.entry("long", strategy.long, when = long )
strategy.entry("short", strategy.short, when = short)