Estratégia de Seção Áurea e RSI de Força Relativa


Data de criação: 2024-01-03 16:54:32 última modificação: 2024-01-03 16:54:32
cópia: 0 Cliques: 852
1
focar em
1621
Seguidores

Estratégia de Seção Áurea e RSI de Força Relativa

Visão geral

A estratégia de divisão de ouro e indicador de fraqueza relativa (RSI) é uma estratégia de negociação intraday. Combina a lei de divisão de ouro de Fibonacci com o indicador RSI para determinar se o RSI está excessivamente comprado ou vendido quando o preço se aproxima do ponto crítico de divisão de ouro para emitir um sinal de compra ou venda.

Princípio da estratégia

  1. O eixo médio do preço é calculado com base em uma linha K de um certo comprimento.

  2. Os pontos críticos de divisão do ouro foram calculados de acordo com o eixo central e o diferencial padrão, incluindo os níveis de 0.618 e de 1 .

  3. Quando o preço se aproxima do ponto crítico de divisão do ouro, verifique se o indicador RSI entrou na zona de sobrecompra ou sobrevenda.

  4. Se a lei de divisão do ouro e o RSI estiverem simultaneamente satisfeitos, um sinal de compra ou venda será emitido.

  5. Configure o Stop Loss e o Stop Stop para controlar o risco.

Análise de vantagens

  1. A combinação de vários indicadores pode melhorar a qualidade do sinal e reduzir os sinais falsos.

  2. Utilizando a propriedade de apoio/resistência da lei de divisão do ouro, para melhorar a qualidade de entrada.

  3. O indicador RSI permite avaliar a psicologia do mercado e evitar a reversão de situações extremas.

  4. Os lucros podem ser acumulados em pequenas transações.

Análise de Riscos

  1. A lei da divisão do ouro não garante que o preço volte a subir.

  2. Os indicadores RSI podem emitir sinais enganosos, que devem ser avaliados em conjugação com a evolução dos preços.

  3. O ponto de parada definido como pequeno pode ser interrompido pela oscilação do preço.

  4. A alta frequência de transações exige mais custos de transação e um controle mais rigoroso dos riscos.

Solução:

  1. A seguir, veja como você pode fazer isso:

  2. A liberação apropriada dos parâmetros do RSI para evitar erros.

  3. Optimizar o ponto de parada para minimizar a probabilidade de ser parada, garantindo a parada.

Direção de otimização

  1. Teste os resultados de otimização de parâmetros para períodos de diferentes comprimentos.

  2. Tente melhorar a qualidade do sinal em combinação com outros indicadores, como MACD, faixa de Brin.

  3. Estudar diferentes estratégias de stop loss para encontrar a melhor configuração.

  4. Avaliação para determinar o melhor tempo de detenção para equilibrar os ganhos e custos.

Resumir

A divisão de ouro com a estratégia RSI filtra algumas negociações de ruído através da dupla confirmação. Em comparação com o uso de um único indicador, ela pode produzir um sinal de negociação de maior qualidade. A estratégia pode ser uma ferramenta de negociação intraday eficaz por meio da otimização de parâmetros e do cumprimento rigoroso das regras.

Código-fonte da estratégia
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 1m
basePeriod: 1m
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/
// © MohamedYAbdelaziz

// Intraday Trading
// Best used for Short Timeframes [1-30 Minutes]
// If you have any modifications please tell me to update it

//@version=4
strategy(title="Fibonacci + RSI - Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, currency=currency.USD)

// Inputs
timeFilter = year >= 2000
    // Stop Loss %
loss_percent = input(title="Stop Loss (%)", minval=0.0, step=0.1, defval=2) * 0.001
    // RSI Inputs
len = input(title="[RSI] Length", minval=0, step=1, defval=14)
overSold = input(title="[RSI] Over Sold %", defval=30)
overBought = input(title="[RSI] Over Bought %", defval=70)
    // Fibonacci Levels
length = input(title="[Fibonacci] Length", defval=200, minval=1)
src = input(hlc3, title="[Fibonacci] Source")
mult = input(title="[Fibonacci] Multiplier", defval=3.0, minval=0.001, maxval=50)
level = input(title="[Fibonacci] Level", defval=764)


// Calculate Fibonacci
basis = vwma(src, length)
dev = mult * stdev(src, length)
fu764= basis + (0.001*level*dev)
fu1= basis + (1*dev)
fd764= basis - (0.001*level*dev)
fd1= basis - (1*dev)

// Calculate RSI
vrsi = rsi(close, len)

// Calculate the Targets
targetUp = fd764
targetDown = fu764
    // Actual Targets
bought = strategy.position_size[0] > strategy.position_size[1]
exit_long = valuewhen(bought, targetUp, 0)
sold = strategy.position_size[0] < strategy.position_size[1]
exit_short = valuewhen(sold, targetDown, 0)

// Calculate Stop Losses
stop_long = strategy.position_avg_price * (1 - loss_percent)
stop_short = strategy.position_avg_price * (1 + loss_percent)

// Conditions to Open Trades
openLong = low < fd1 and crossover(vrsi[1], overSold)
openShort = high > fu1 and crossunder(vrsi[1], overBought)

// Conditions to Close Trades
closeLong = high > exit_long
closeShort = low < exit_short 


// Plots
plot(basis, color=color.blue, linewidth=2, title="[Fibonacci Level] Basis")
plot(fu764, color=color.white, linewidth=1, title="[Fibonacci Level] Short Target")
plot(fu1, color=color.red, linewidth=2, title="1", title="[Fibonacci Level] Top")
plot(fd764, color=color.white, linewidth=1, title="[Fibonacci Level] Long Target")
plot(fd1, color=color.green, linewidth=2, title="1", title="[Fibonacci Level] Bottom")


// Strategy Orders
if timeFilter
    // Entry Orders
    strategy.entry(id="Long", long=true, when=openLong and high < targetUp, limit=close)
    strategy.entry(id="Short", long=false, when=openShort and low > targetDown, limit=close)

    // Exit Orders
    strategy.exit(id="Long", when=closeLong and strategy.position_size > 0, limit=exit_long, stop=stop_long)
    strategy.exit(id="Short", when=closeShort and strategy.position_size < 0, limit=exit_short, stop=stop_short)