
La estrategia RSI es una estrategia de negociación intraday que combina la ley de Fibonacci de la división del oro con el indicador RSI para determinar si el RSI está demasiado comprado o vendido cuando el precio se acerca al punto crítico de la división del oro para emitir una señal de compra o venta.
El eje medio de la línea K de cierta longitud calcula el precio.
Los puntos críticos de separación de oro se calculan según el eje central y la diferencia estándar, incluidos los grados de 0.618 y 1 ◦.
Cuando el precio se acerca al punto crítico de separación del oro, compruebe si el indicador RSI está en zona de sobreventa o sobrecompra.
Si se cumplen al mismo tiempo las reglas de división del oro y las condiciones del RSI, se emite una señal de compra o venta.
Establezca paradas y paradas para controlar el riesgo.
La combinación de varios indicadores puede mejorar la calidad de la señal y reducir la falsa señal.
Utiliza las propiedades de soporte/resistencia de la ley de división dorada para mejorar la calidad de entrada.
El indicador RSI puede ayudar a evaluar el estado de ánimo de los mercados y evitar la reversión de situaciones extremas.
En el caso de las operaciones intradía de alta frecuencia, los beneficios se pueden acumular a través de varias operaciones más pequeñas.
La ley de fraccionamiento del oro no garantiza que el precio se revertirá.
Los indicadores RSI pueden emitir señales engañosas y deben ser juzgados en relación con la evolución de los precios.
Un punto de parada demasiado pequeño puede ser interrumpido por la oscilación de los precios.
Las transacciones de alta frecuencia requieren más costos de transacción y más estricto control de riesgos.
La solución:
Cumplir estrictamente con las reglas de stop loss y controlar las pérdidas individuales.
La flexibilidad adecuada de los parámetros RSI para evitar errores.
Optimización de los puntos de parada para minimizar la probabilidad de que se detenga mientras se garantiza la parada.
Prueba de los resultados de la optimización de parámetros de diferentes ciclos de longitud.
Intenta mejorar la calidad de la señal en combinación con otros indicadores como MACD, banda de Bryn.
Estudiar las diferentes estrategias para detener los pérdidas y buscar la configuración óptima.
La evaluación determina el mejor tiempo de mantenimiento de la posición para equilibrar beneficios y costos.
La división del oro con la estrategia RSI puede filtrar algunos de los ruidos de las operaciones a través de la doble confirmación. En comparación con el uso de un solo indicador, puede generar una señal de negociación de mayor calidad. La estrategia puede ser una herramienta de negociación intraday eficaz mediante la optimización de los parámetros y el cumplimiento estricto de las reglas.
/*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)