Estratégia Mista de Crossover de Média Móvel Composta de Ouro RSI


Data de criação: 2024-03-01 12:28:38 última modificação: 2024-03-01 12:28:38
cópia: 0 Cliques: 721
1
focar em
1617
Seguidores

Estratégia Mista de Crossover de Média Móvel Composta de Ouro RSI

Visão geral

Esta estratégia é usada para operar em curto e longo prazo em ouro, usando a combinação de indicadores de média móvel, indicadores de força relativa (RSI) e a forma de absorção. O cruzamento da linha de 21 dias, 50 dias e 200 dias é usado como o principal sinal de negociação. O indicador RSI e a forma de absorção auxiliam o filtro de sinais para otimizar ainda mais o ponto de entrada no mercado.

Princípio da estratégia

A estratégia baseia-se na tomada de decisões de transação através de:

  1. Média móvel cruzada

O Gold/Dead Fork das linhas 21 e 200 é usado como o principal indicador para determinar a reversão de tendência. É um sinal de alta quando a linha 21 atravessa a linha 200 e um sinal de baixa quando a linha 21 atravessa a linha 200. Além disso, é combinado com um sinal de salto de filtro da linha 50

  1. Indicador RSI auxiliar

Configure as linhas de compra e venda do indicador RSI, quando o RSI é superior a 70 é comprado e quando o RSI é inferior a 30 é vendido. Quando o RSI está em uma zona de não compra, quando o RSI está em uma zona de não venda, para evitar comprar no ponto alto e vender no ponto baixo.

  1. Confirmação de forma de engolir

Quando um indicador de queda é emitido, um indicador de queda deve ser emitido para confirmar a reversão da tendência.

Quando as três condições acima são simultaneamente satisfeitas, um sinal de transação e um pedido são gerados, formando um conjunto de filtros mais rigorosos.

Vantagens estratégicas

A maior vantagem desta estratégia é que ela utiliza vários parâmetros e indicadores para um julgamento integrado, melhor filtrando os sinais errôneos e reduzindo os prejuízos desnecessários. As vantagens concretas são as seguintes:

  1. A estratégia de média móvel tem uma certa estabilidade em si.

  2. A configuração do indicador RSI evita a compra de pontos altos e a venda de pontos baixos.

  3. A inclusão da forma de engolfar pode confirmar ainda mais a credibilidade da reversão da tendência.

  4. A redução do stop loss permite um controlo eficaz dos riscos.

Risco estratégico

Embora a estratégia seja boa em termos de filtragem de sinais e controle de riscos, qualquer estratégia tem seus pontos fracos e riscos.

  1. A configuração de parâmetros é mais complexa e pode exigir um grande número de testes para encontrar a melhor combinação de parâmetros.

  2. Os sinais de entrada são mais rigorosos e você pode perder algumas das melhores oportunidades.

  3. Em situações extremas, há um certo atraso.

  4. A estabilidade da operação a longo prazo ainda está por verificar.

Para os riscos acima, podemos melhorar e otimizar por meio de ajustes de parâmetros, otimização de lógica de código e combinação com outros indicadores.

Direção de otimização

A estratégia faz um bom trabalho em um conjunto de indicadores, mas ainda há espaço para otimização. As principais direções de otimização incluem:

  1. Ajustar os parâmetros para encontrar a melhor combinação. É possível encontrar um conjunto de parâmetros mais apropriados através da retrospecção de mais dados históricos, comparando os efeitos de diferentes parâmetros sobre os resultados.

  2. Em combinação com outros indicadores, auxiliar. Indicadores como MACD, KD e outros também podem auxiliar a determinar o momento da mudança de tendência. A introdução adequada de outros indicadores pode formar um sistema de indicadores mais forte.

  3. Otimização e aperfeiçoamento do mecanismo de suspensão de perdas. A amplitude de suspensão existente é menor e pode ser testada ainda mais se a suspensão de diferentes magnitudes pode reduzir a troca de posição desnecessária.

  4. Testar dados de períodos de tempo mais longos para verificar a eficácia da estratégia a longo prazo. Testar a estabilidade da estratégia por meio de mais períodos de tempo e de feedback sobre a situação do mercado.

Resumir

Esta estratégia utiliza um conjunto de ferramentas de análise técnica, como médias móveis, indicadores RSI e formas de absorção, para operar em duas direções no comércio de ouro. Através da definição de parâmetros e filtragem de sinais, um sistema de estratégias mais rigoroso foi criado, controlando o risco até certo ponto.

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

//@version=4
strategy("Gold Trading with Simons Strategy", overlay=true)

// Parameters
length21 = input(21, minval=1, title="Length for 21 MA")
length50 = input(50, minval=1, title="Length for 50 MA")
length200 = input(200, minval=1, title="Length for 200 MA")
rsiLength = input(14, minval=1, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought Level")
rsiOversold = input(30, title="RSI Oversold Level")
takeProfitPercent = input(4, title="Take Profit %")
stopLossPercent = input(1, title="Stop Loss %")

// Moving Averages
ma21 = sma(close, length21)
ma50 = sma(close, length50)
ma200 = sma(close, length200)

// RSI
rsi = rsi(close, rsiLength)

// Engulfing Pattern
isBullishCandle(c) => close[c] > open[c]
isBearishCandle(c) => close[c] < open[c]

bearishEngulfing = isBullishCandle(1) and isBearishCandle(0) and close < open[1] and open > close[1]
bullishEngulfing = isBearishCandle(1) and isBullishCandle(0) and close > open[1] and open < close[1]

// Calculate Take Profit and Stop Loss Levels
takeProfitLevel(entryPrice) => entryPrice * (1 + takeProfitPercent / 100)
stopLossLevel(entryPrice) => entryPrice * (1 - stopLossPercent / 100)

// Entry Conditions
longCondition = crossover(ma21, ma200) and close > ma21 and close > ma50 and rsi < rsiOverbought and bullishEngulfing
shortCondition = crossunder(ma21, ma200) and close < ma21 and close < ma50 and rsi > rsiOversold and bearishEngulfing

// Entry
if (longCondition)
    entryPrice = close
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit", "Long", limit=takeProfitLevel(entryPrice))
    strategy.exit("Stop Loss", "Long", stop=stopLossLevel(entryPrice))
if (shortCondition)
    entryPrice = close
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit", "Short", limit=takeProfitLevel(entryPrice))
    strategy.exit("Stop Loss", "Short", stop=stopLossLevel(entryPrice))

// Plotting
plot(ma21, color=color.blue, title="21 MA")
plot(ma50, color=color.orange, title="50 MA")
plot(ma200, color=color.red, title="200 MA")
hline(rsiOverbought, "RSI Overbought", color=color.green)
hline(rsiOversold, "RSI Oversold", color=color.red)
plot(rsi, "RSI", color=color.purple)