Estrategia piramidal bidireccional para el trading de acciones basada en el indicador RSI


Fecha de creación: 2024-01-30 15:26:49 Última modificación: 2024-01-30 15:26:49
Copiar: 0 Número de Visitas: 728
1
Seguir
1617
Seguidores

Estrategia piramidal bidireccional para el trading de acciones basada en el indicador RSI

Descripción general

Este artículo trata principalmente sobre una estrategia de pirámide bidireccional de negociación de acciones diseñada en base a un indicador relativamente débil ((RSI)). Esta estrategia determina las áreas de sobreventa y sobreventa de las acciones a través del indicador RSI, y se combina con el principio de subida de la pirámide para obtener ganancias.

Principio de estrategia

  • Utiliza el indicador RSI para determinar si una acción está entrando en una zona de sobreventa y sobrecompra. El RSI es sobreventa cuando está por debajo de 25, y es sobrecompra cuando está por encima de 80.
  • Cuando el RSI entra en la zona de sobreventa, comienza a hacer más entrada. Cuando el RSI entra en la zona de sobreventa, comienza a hacer una entrada en blanco.
  • Utiliza el método de acumulación de la pirámide, hasta 7 veces. Establece un punto de parada y pérdida después de cada acumulación.

Análisis de las ventajas

  • El uso del RSI para determinar el área de sobreventa y sobrecompra permite capturar las mayores oportunidades de reversión de los precios.
  • El método de la pirámide puede obtener una mejor tasa de rendimiento cuando las cosas van bien.
  • El riesgo puede ser controlado mediante el establecimiento de un stop loss después de cada aumento de la posición.

Análisis de riesgos

  • El RSI es un indicador de compras y ventas excesivas, y puede dar señales erróneas.
  • Se debe establecer una cantidad razonable de acumulaciones, ya que el exceso de acumulación aumenta el riesgo.
  • La configuración del punto de parada de pérdidas debe tener en cuenta la volatilidad y no debe ser demasiado pequeña.

Dirección de optimización

  • Se puede considerar la posibilidad de combinar otros indicadores para filtrar las señales RSI y mejorar la precisión de los indicadores de sobreventa y sobrecompra. Por ejemplo, la combinación de indicadores como KDJ, BOLL y otros.
  • Se puede configurar un stop loss flotante para seguir el precio. Se ajusta dinámicamente según la volatilidad y los requisitos de control de riesgo.
  • Se puede considerar el uso de parámetros de adaptación dependiendo de la situación del mercado (bull market, bear market, etc.).

Resumir

Esta estrategia combina el indicador RSI con la estrategia de alza de la pirámide, para obtener más ganancias al alzar la posición al tiempo que se juzga la sobrecompra y la sobreventa. Si bien la precisión de la determinación del RSI está por mejorar, se puede crear una estrategia de negociación de efecto estable en combinación con otros indicadores mediante la optimización de parámetros razonables.

Código Fuente de la Estrategia
/*backtest
start: 2023-12-30 00:00:00
end: 2024-01-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RafaelZioni

strategy(title='Simple RSI strategy', overlay=false)

SWperiod = 1
look = 0
OverBought = input(80, minval=50)
OverSold = input(25, maxval=50)

bandmx = hline(100)
bandmn = hline(0)

band1 = hline(OverBought)
band0 = hline(OverSold)
//band50 = hline(50, color=black, linewidth=1)
fill(band1, band0, color=color.purple, transp=98)


src = close
len = input(5, minval=1, title="RSI Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)

p = 100

//scale
hh = highest(high, p)
ll = lowest(low, p)
scale = hh - ll

//dynamic OHLC
dyno = (open - ll) / scale * 100
dynl = (low - ll) / scale * 100
dynh = (high - ll) / scale * 100
dync = (close - ll) / scale * 100

//candle color
color_1 = close > open ? 1 : 0

//drawcandle
hline(78.6)
hline(61.8)
hline(50)
hline(38.2)
hline(23.6)
plotcandle(dyno, dynh, dynl, dync, title="Candle", color=color_1 == 1 ? color.green : color.red)
plot(10, color=color.green)
plot(55, color=color.black)
plot(80, color=color.black)
plot(90, color=color.red)

long = rsi <= OverSold ? 5 : na

//Strategy
golong = rsi <= OverSold ? 5 : na

longsignal = golong  
//based on https://www.tradingview.com/script/7NNJ0sXB-Pyramiding-Entries-On-Early-Trends-by-Coinrule/
//set take profit

ProfitTarget_Percent = input(3)
Profit_Ticks = close * (ProfitTarget_Percent / 100) / syminfo.mintick

//set take profit

LossTarget_Percent = input(10)
Loss_Ticks = close * (LossTarget_Percent / 100) / syminfo.mintick


//Order Placing

strategy.entry("Entry 1", strategy.long, when=strategy.opentrades == 0 and longsignal)

strategy.entry("Entry 2", strategy.long, when=strategy.opentrades == 1 and longsignal)

strategy.entry("Entry 3", strategy.long, when=strategy.opentrades == 2 and longsignal)

strategy.entry("Entry 4", strategy.long, when=strategy.opentrades == 3 and longsignal)

strategy.entry("Entry 5", strategy.long, when=strategy.opentrades == 4 and longsignal)

strategy.entry("Entry 6", strategy.long, when=strategy.opentrades == 5 and longsignal)

strategy.entry("Entry 7", strategy.long, when=strategy.opentrades == 6 and longsignal)



if strategy.position_size > 0
    strategy.exit(id="Exit 1", from_entry="Entry 1", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 2", from_entry="Entry 2", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 3", from_entry="Entry 3", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 4", from_entry="Entry 4", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 5", from_entry="Entry 5", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 6", from_entry="Entry 6", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 7", from_entry="Entry 7", profit=Profit_Ticks, loss=Loss_Ticks)