Estratégia de negociação baseada no Indicador Estocástico Lento

EMA RSI TP SL AI RNN
Data de criação: 2024-04-12 16:26:06 última modificação: 2024-04-12 16:26:06
cópia: 3 Cliques: 649
1
focar em
1617
Seguidores

Estratégia de negociação baseada no Indicador Estocástico Lento

Visão geral

Esta estratégia é uma estratégia de negociação baseada no Stochastic Slow Oscillator, combinando a Média Móvel, o Índice de Força Relativa (RSI) e a tecnologia de Inteligência Artificial. A estratégia é julgada por meio de sinais cruzados de indicadores de lentidão aleatórios, considerando a posição do preço em relação à Média Móvel de 200 dias e os sinais gerados por modelos de inteligência artificial para determinar sinais de compra e venda.

Princípio da estratégia

  1. Calcule um indicador aleatório de lentidão de 30 ciclos, em que o ciclo de suavização para o valor de K é de 18 e o ciclo de suavização para o valor de D é de 7.
  2. Determine os limites de sobrecompra e sobrevenda em 40 e 19, respectivamente, e defina o mínimo K em 12.
  3. Calcule uma média móvel simples de 200 dias como um filtro de tendência.
  4. Geração de sinais de compra e venda usando um modelo de rede neural recursiva (RNN).
  5. Condições de entrada múltipla: preço atravessa a média móvel de 200 dias, K é menor do que o limiar de superalimento e maior do que o K mínimo, o sinal de AI é 1 ◦
  6. Condições de entrada a céu aberto: preço abaixo da média móvel de 200 dias, K maior que a barreira de sobrecompra e maior que o K mínimo, sinal de AI de -1.
  7. Quando um indicador aleatório aparece cruzado e atende a uma condição de sobrevenda, também é gerado um sinal de compra e venda.
  8. O Stop Loss é definido como sendo 500 pontos acima e 200 pontos abaixo do preço atual.

Vantagens estratégicas

  1. A combinação de vários indicadores técnicos e tecnologias de inteligência artificial aumenta a robustez e adaptabilidade da estratégia.
  2. Usar indicadores de câmbio lento e aleatório como sinais principais de compra e venda para capturar de forma eficaz o estado de sobrecompra e sobrevenda do mercado.
  3. A introdução de uma média móvel de 200 dias como filtro de tendência para evitar a negociação em contra-trend.
  4. O uso de modelos de inteligência artificial para gerar sinais de compra e venda aumentou a inteligência da estratégia.
  5. O setor de Stop Losses (SLS) é definido e o risco é controlado.

Risco estratégico

  1. Indicadores aleatórios podem produzir mais falsos sinais em certas condições de mercado.
  2. A eficácia dos modelos de inteligência artificial depende da qualidade dos dados de treinamento e do design do modelo, existindo certa incerteza.
  3. O nível de stop-loss fixo pode não ser adequado a diferentes situações de mercado.
  4. A falta de estratégias para responder a surpresas e flutuações anormais no mercado.

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

  1. Optimizar os parâmetros dos indicadores aleatórios, como ajustar o ciclo de suavização dos valores K e D para melhorar a eficácia do indicador.
  2. Melhorar o design dos modelos de inteligência artificial, introduzindo mais características e dados de mercado, aumentando a precisão de previsão dos modelos.
  3. O mecanismo de stop loss dinâmico é usado para ajustar o stop loss de acordo com a volatilidade do mercado e o nível de risco.
  4. Introduzir análise de sentimentos de mercado e fatores que impulsionam eventos, reforçando a capacidade de resposta estratégica a surpresas de mercado.
  5. Considere a inclusão de módulos de gerenciamento de posições e gerenciamento de fundos para otimizar a eficiência do uso de fundos e o controle de riscos da estratégia.

Resumir

A estratégia utiliza indicadores aleatórios para capturar sinais de sobrevenda e sobrevenda, ao mesmo tempo em que usa filtros de tendência e geração de sinais inteligentes, aumentando a robustez e adaptabilidade da estratégia. Apesar de existir certos riscos, como falha de indicadores e incerteza de modelo, a estratégia pode ser melhorada ainda mais.

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

//@version=5
strategy("Stochastic Slow Strategy with More Entries and AI", overlay=true)

length = input.int(30, minval=1)
OverBought = input(40)
OverSold = input(19)
smoothK = input.int(18, minval=1)
smoothD = input.int(7, minval=1)
minKValue = input(12, title="Minimum K Value")

// Stochastic calculations
k = ta.sma(ta.stoch(close, high, low, length), smoothK)
d = ta.sma(k, smoothD)
co = ta.crossover(k, d)
cu = ta.crossunder(k, d)

// Trend filter (200-period simple moving average)
ema200 = ta.sma(close, 200)

// Define la función para calcular la señal de la red neuronal recurrente
rnn_signal(price_series) =>
    // Aquí implementa tu modelo de red neuronal recurrente para generar la señal
    // Puedes usar bibliotecas externas o implementar tu propio modelo aquí

    // Ejemplo de señal aleatoria
    signal = ta.rsi(price_series, 14) > 50 ? 1 : -1
    
    // Devuelve la señal generada por la red neuronal recurrente
    signal

// Calcula la señal utilizando la función definida anteriormente
ai_signal = rnn_signal(close)

// Entry conditions
longCondition = ta.crossover(close, ema200) and k < OverSold and k > minKValue and ai_signal == 1
shortCondition = ta.crossunder(close, ema200) and k > OverBought and k > minKValue and ai_signal == -1

if (not na(k) and not na(d))
    if (co and k < OverSold and k > minKValue)
        strategy.entry("LONG", strategy.long, comment="LONG")
        strategy.exit("ExitLong", "LONG", profit = close * 500, loss = close * 200)
    if (cu and k > OverBought and k > minKValue)
        strategy.entry("SHORT", strategy.short, comment="SHORT")
        strategy.exit("ExitShort", "SHORT", profit = close * 500, loss = close * 200)
    
if (longCondition)
    strategy.entry("LongEntry", strategy.long, comment="LongEntry")
    strategy.exit("ExitLongEntry", "LongEntry", profit = close * 500, loss = close * 200)
if (shortCondition)
    strategy.entry("ShortEntry", strategy.short, comment="ShortEntry")
    strategy.exit("ExitShortEntry", "ShortEntry", profit = close * 500, loss = close * 200)

// Plotting
plot(ema200, color=color.blue, title="200 SMA")