A estratégia do índice de força relativa (RSI) é uma estratégia de negociação intradiária que combina o princípio do índice de ouro de Fibonacci e o indicador RSI para emitir sinais de compra ou venda quando o preço se aproxima dos pontos-chave do índice de força relativa e o RSI mostra status de sobrecompra ou sobrevenda.
Calcule a linha média do preço com base em determinado período de barras.
Calcular os pontos-chave da taxa de ouro, incluindo o nível de 0,618 e o nível 1 com base na linha média e no desvio padrão.
Quando o preço se aproxima dos pontos-chave da taxa de ouro, verifique se o RSI entra na zona de sobrecompra ou sobrevenda.
Emissão de sinais de compra ou venda se estiverem preenchidas a regra da proporção dourada e a condição do RSI.
Configure stop loss e take profit para controlar os riscos.
A combinação de vários indicadores melhora a qualidade do sinal e reduz os falsos sinais.
Utilize a característica de suporte/resistência da regra da proporção de ouro para garantir a entrada de qualidade.
O RSI mede a psicologia do mercado para evitar reversões extremas.
Adequado para negociações intradiárias de alta frequência para acumular lucros de múltiplas pequenas negociações.
A proporção de ouro não pode garantir uma inversão de preço de 100%.
O RSI pode dar sinais enganosos, precisa combinar a ação do preço.
O "stop loss" demasiado apertado pode ser impedido por flutuações de preços.
A negociação de alta frequência exige maiores custos de negociação e um controlo de risco mais rigoroso.
Soluções:
Siga estritamente a regra de stop loss para limitar a perda de uma única transação.
Afrouxar os parâmetros do RSI adequadamente para evitar sinais enganosos.
Otimizar o ponto de stop loss para reduzir a probabilidade de stop out, garantindo simultaneamente uma stop loss eficaz.
Resultados dos ensaios de diferentes parâmetros do período do ciclo.
Tente combinar outros indicadores como MACD, Bollinger Bands etc para melhorar a qualidade do sinal.
Pesquise diferentes estratégias de stop loss para encontrar configurações ideais.
Avaliar o período de detenção ideal para equilibrar lucro e custo.
O índice de ouro de Fibonacci e a estratégia RSI filtram as negociações de ruído através de confirmação dupla. Em comparação com as estratégias de indicador único, gera sinais de negociação de maior qualidade. Com otimização de parâmetros e regra rigorosa, esta estratégia pode se tornar uma ferramenta de negociação intradiária eficaz.
/*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)