Esta estrategia monitorea la ruptura del indicador RSI en diferentes rangos para implementar la compra baja y la venta alta.
Establezca el período de RSI en 14
Establecer los rangos de señales de compra del RSI:
Establecer los rangos de señales de venta del RSI:
Cuando el RSI entre en el rango de compra, vaya largo:
Cuando el RSI entre en el rango de venta, sea corto:
Fija el beneficio a 2500 pips y el stop loss a 5000 pips
Posición cerrada cuando el RSI salga del rango de señal
La configuración de doble rango ayuda a identificar mejor las condiciones de sobrecompra y sobreventa, evitando perder oportunidades de reversión
La adopción de fija tomar ganancias y detener la pérdida en pips evita perseguir las tendencias demasiado
El RSI es un oscilador maduro para identificar los niveles de sobrecompra y sobreventa con ventajas sobre otros indicadores
Con el ajuste adecuado de parámetros, esta estrategia puede capturar efectivamente los puntos de inversión de tendencia y generar rendimientos excedentes
Puede producirse una divergencia del índice de volatilidad que conduzca a pérdidas consecutivas de una posición corta sostenida
Las operaciones de venta y de venta de valores de riesgo de la entidad de crédito se consideran en el caso de las operaciones de venta y de venta de valores de riesgo de la entidad de crédito.
La configuración incorrecta del intervalo puede dar lugar a operaciones perdidas o frecuentes operaciones no rentables
Esta estrategia se basa mucho en la optimización de parámetros basada en backtests.
Eficacia del ensayo de la RSI con diferentes períodos de duración
Optimizar los valores de los rangos de compra y venta para adaptarse a las características de los diferentes productos
Investigación dinámica para obtener beneficios y detener pérdidas para mejorar la rentabilidad y la racionalidad
Considerar la combinación de otros indicadores para la negociación en conjunto para mejorar la solidez
Explorar técnicas de aprendizaje automático para optimizar automáticamente los rangos de parámetros para la robustez
Esta estrategia se basa en los principios de sobrecompra y sobreventa del RSI. Al adoptar rangos de negociación dobles, utiliza el indicador RSI de manera efectiva, capturando los extremos del mercado con una estabilidad decente. Sin embargo, tiene cierta dependencia de parámetros y necesita optimización en todos los productos. Si se sintoniza correctamente, esta estrategia puede producir buenos rendimientos excedentes. En resumen, es una estrategia comercial simple pero efectiva que utiliza un indicador maduro, vale la pena investigar para mejorar y proporcionar información para el comercio cuantitativo.
/*backtest start: 2023-09-16 00:00:00 end: 2023-10-16 00:00:00 period: 1h basePeriod: 15m 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/ // © Rawadabdo // Ramy's Algorithm //@version=5 strategy("BTC/USD - RSI", overlay=false, initial_capital = 5000) // User input length = input(title = "Length", defval=14, tooltip="RSI period") first_buy_level = input(title = "Buy Level 1", defval=27, tooltip="Level where 1st buy triggers") second_buy_level = input(title = "Buy Level 2", defval=18, tooltip="Level where 2nd buy triggers") first_sell_level = input(title = "Sell Level 1", defval=68, tooltip="Level where 1st sell triggers") second_sell_level = input(title = "Sell Level 2", defval=80, tooltip="Level where 2nd sell triggers") takeProfit= input(title="target Pips", defval=2500, tooltip="Fixed pip stop loss distance") stopLoss = input(title="Stop Pips", defval=5000, tooltip="Fixed pip stop loss distance") lot = input(title = "Lot Size", defval = 1, tooltip="Trading Lot size") // Get RSI vrsi = ta.rsi(close, length) // Entry Conditions long1 = (vrsi <= first_buy_level and vrsi>second_buy_level) long2 = (vrsi <= second_buy_level) short1= (vrsi >= first_sell_level and vrsi<second_sell_level) short2= (vrsi >= second_sell_level) // Entry Orders // Buy Orders if (long1 and strategy.position_size == 0) strategy.entry("Long", strategy.long, qty=lot, comment="Buy") if (long2 and strategy.position_size == 0) strategy.entry("Long", strategy.long, qty=lot, comment="Buy") // Short Orders if (short1 and strategy.position_size == 0) strategy.entry("Short", strategy.short,qty=lot, comment="Sell") if (short2 and strategy.position_size == 0) strategy.entry("Short", strategy.short,qty=lot, comment="Sell") // Exit our trade if our stop loss or take profit is hit strategy.exit(id="Long Exit", from_entry="Long",qty = lot, profit=takeProfit, loss=stopLoss) strategy.exit(id="Short Exit", from_entry="Short", qty = lot, profit=takeProfit, loss=stopLoss) // plot data to the chart hline(first_sell_level, "Overbought Zone", color=color.red, linestyle=hline.style_dashed, linewidth = 2) hline(second_sell_level, "Overbought Zone", color=color.green, linestyle=hline.style_dashed, linewidth = 2) hline(first_buy_level, "Oversold Zone", color=color.red, linestyle=hline.style_dashed, linewidth = 2) hline(second_buy_level, "Oversold Zone", color=color.green, linestyle=hline.style_dashed, linewidth = 2) plot (vrsi, title = "RSI", color = color.blue, linewidth=2)