Estrategia de reversión basada en el RSI rápido y el color de las velas


Fecha de creación: 2023-09-13 17:24:54 Última modificación: 2023-09-13 17:24:54
Copiar: 0 Número de Visitas: 693
1
Seguir
1617
Seguidores

Esta estrategia se llama estrategia de inversión basada en el RSI rápido y el color de la línea K. La estrategia utiliza el RSI rápido para determinar la dirección de la tendencia de sobreventa y sobreventa con el color de la línea K, y se invierte cuando ambas emiten una señal común.

Los parámetros del indicador RSI rápido son más pequeños, lo que permite capturar más rápidamente el fenómeno de sobreventa y sobreventa de los precios. Cuando el RSI rápido es inferior a 30 representa sobreventa y superior a 70 representa sobreventa.

La línea K de color blanco indica que el precio se cerró cerca del precio de apertura, el verde representa un aumento en el precio y el rojo representa una caída.

La lógica de la transacción es la siguiente:

Cuando el RSI rápido muestre sobreventa y aparezcan 4 líneas K rojas consecutivas, considere esto como una fuerte señal de reversión y haga más;

Cuando el RSI rápido muestre sobrecompra y aparezcan 4 líneas K verdes consecutivas, considere como una fuerte señal de reversión y haga shorting;

Si actualmente tiene una posición de más cabeza, una línea verde K significa que está en posición de equilibrio; si actualmente tiene una posición de cabeza vacía, una línea roja K significa que está en posición de equilibrio.

La ventaja de esta estrategia es que la combinación de indicadores determina con precisión y fiabilidad las señales de reversión. Sin embargo, debido a la gran intensidad de la inversión, se requiere una estricta administración de fondos. La estrategia de stop loss también es necesaria.

En general, las inversiones se basan en indicadores para determinar el momento exacto. La aplicación razonable de indicadores como el RSI y la información complementaria de la línea K pueden mejorar la eficacia de la estrategia. Sin embargo, ninguna estrategia individual puede ser perfecta, y el comerciante aún debe mantener la flexibilidad de la mente comercial.

||

This strategy is named “Reversal Strategy Based on Fast RSI and Candlestick Colors”. It uses the fast RSI to judge overbought/oversold levels and candlestick colors to determine trend direction, entering reversal trades when both give concurring signals.

The fast RSI has smaller parameters and can more quickly detect price overbought/oversold conditions. RSI below 30 suggests oversold state, while above 70 is overbought.

Candlestick colors show white prices closing near open, green represents rising and red flags falling prices.

The trading logic is:

When fast RSI shows oversold and 4 consecutive red candles appear, it is considered a strong reversal signal for going long.

When fast RSI overbought and 4 straight green candles appear, it signals a strong reversal opportunity for going short.

If already holding long positions, exit when 1 green candle appears. If holding short positions, exit when 1 red candle appears.

The advantage of this strategy is using indicator combos to accurately determine reversal signals. But strict money management is required due to heavy position sizing. Stop loss is also essential.

In summary, reversal trading relies on indicators precisely identifying timing. Reasonable application of RSI plus candlestick information can improve strategy performance. But no single strategy is perfect. Traders still need to maintain flexible trading mindset.

Código Fuente de la Estrategia
/*backtest
start: 2022-09-06 00:00:00
end: 2023-01-20 00:00:00
period: 4d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's Hundred Strategy v1.0", shorttitle = "Hundred str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
lev = input(5, defval = 5, minval = 1, maxval = 100, title = "leverage")
onlyprofit = input(true, defval = true, title = "Only Profit")
fast = input(7, defval = 7, minval = 2, maxval = 50, title = "Fast RSI Period")
limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit")
rsisrc = input(close, defval = close, title = "RSI Price")
rsibars = input(1, defval = 1, minval = 1, maxval = 20, title = "RSI Bars")
cbars = input(4, defval = 4, minval = 1, maxval = 20, title = "Color Bars")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Fast RSI
fastup = rma(max(change(rsisrc), 0), fast)
fastdown = rma(-min(change(rsisrc), 0), fast)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Limits
bar = close > open ? 1 : close < open ? -1 : 0
uplimit = 100 - limit
dnlimit = limit

//RSI Bars
upsignal = fastrsi > uplimit ? 1 : 0
dnsignal = fastrsi < dnlimit ? 1 : 0
uprsi = sma(upsignal, rsibars) == 1
dnrsi = sma(dnsignal, rsibars) == 1

//Signals
long = strategy.position_size >= 0
short = strategy.position_size <= 0
up = sma(bar, cbars) == -1 and long and dnrsi
dn = sma(bar, cbars) == 1 and short and uprsi
profit = (strategy.position_size > 0 and close > strategy.position_avg_price) or (strategy.position_size < 0 and close < strategy.position_avg_price) or onlyprofit == false
exit = ((strategy.position_size > 0 and bar == 1) or (strategy.position_size < 0 and bar == -1)) and profit
lot = strategy.position_size == 0 ? strategy.equity / close * lev : lot[1]

//Trading
if up
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)

if dn
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()