
La estrategia es una estrategia de cortocircuito que utiliza el indicador RSI. Combina el indicador RSI con el indicador Williams Shark para invertir cuando el indicador RSI entra en una zona de sobreventa o sobreventa, y es una estrategia de cortocircuito más conservadora.
La estrategia se basa principalmente en los siguientes principios:
Utiliza la ley de comercio de la playa para entrar en el mercado sólo cuando hay una reversión evidente, y utiliza una forma de comercio más conservadora.
Cuando la línea del indicador RSI entra en la zona de sobrecompra (por defecto, por encima de la línea de diferenciación de 60) o en la zona de sobreventa (por defecto, por debajo de la línea de diferenciación de 40), indica que el mercado se encuentra en el punto crítico de la reversión, en este momento se realiza una negociación inversa.
En combinación con el índice Williams Shark para determinar la tendencia del mercado. Considere el vacío solo cuando el índice Shark muestre las tres líneas medias (línea de los labios rojos, línea de los dientes blancos, línea de los dientes azules) alineadas hacia abajo; Considere el exceso solo cuando el índice Shark muestre las tres líneas medias alineadas hacia arriba.
El uso del RSI en el RSI para juzgar el fenómeno de sobrecompra y sobreventa del RSI en sí mismo, forma un efecto de doble filtro. La señal de negociación se emite solo cuando la línea del RSI entra en la zona de sobrecompra y venta al mismo tiempo que el RSI en el RSI también entra en la zona de sobrecompra y venta.
Establezca una línea de stop loss y una línea de stop loss. Cuando el precio se revuelva y alcanza la línea de stop loss o la línea de stop loss, cierre la posición de stop loss o stop loss.
La estrategia tiene las siguientes ventajas:
La adopción de una sólida estrategia de comercio de criptomonedas, en la que se entra en el mercado sólo cuando hay una reversión significativa, evita el gran riesgo de perder la dirección cuando el mercado se tambalea.
El uso del indicador RSI para determinar el punto de inflexión del mercado, el indicador es simple, claro y fácil de operar. La configuración RSI del RSI evita el whipsaw, y el doble filtrado mejora la fiabilidad de la señal.
En combinación con el indicador de los tiburones para determinar la dirección de la tendencia y evitar el comercio en contra. El indicador de los tiburones como condición auxiliar aumenta el efecto de filtración.
Establezca una estrategia de stop-loss para bloquear ganancias y controlar el riesgo.
Los parámetros del RSI y las condiciones de entrada y salida se pueden ajustar y optimizar según los diferentes mercados.
La estrategia también tiene sus riesgos:
Existe la probabilidad de que el indicador RSI emita una falsa señal. El indicador RSI puede emitir una falsa señal de sobrecompra y sobreventa. La combinación con el indicador de pescado puede reducir la probabilidad de una falsa señal.
El establecimiento de un punto de parada excesivo puede causar la expansión de las pérdidas. El punto de parada debe reducirse adecuadamente para reducir las pérdidas individuales.
La reversión no necesariamente ocurre en el RSI sobre la zona de compra y venta. Los cambios en la estructura del mercado pueden causar cambios en el punto de reversión, ajustando los parámetros cuando corresponda.
Es posible que haya menos transacciones y que haya un período prolongado sin transacciones. Se pueden flexibilizar las condiciones de entrada adecuadamente para aumentar el número de transacciones.
El mercado puede subir o bajar durante mucho tiempo, lo que dificulta la negociación en línea corta. Se debe ajustar el ciclo de tenencia de la posición, alargar o reducir el ciclo de negociación cuando sea necesario.
La estrategia puede ser optimizada en las siguientes direcciones:
Optimizar los parámetros del RSI y ajustar el intervalo entre las zonas de sobrecompra y venta para adaptarse a los diferentes mercados.
Ajustar los parámetros del indicador de la caza para optimizar la precisión de la dirección de la tendencia.
Optimización de la configuración de las paradas de pérdidas para lograr el máximo control de retiro y bloquear más ganancias.
Combinación con otros indicadores para mejorar la precisión de la señal, como KDJ, MACD, etc.
Aumento de la función de parada automática, seguimiento de la parada y mejor control de las pérdidas individuales.
Optimizar la gestión de posiciones, ajustar el tamaño de las posiciones en diferentes condiciones de mercado y controlar el riesgo.
Optimización de los períodos de negociación, operando en los períodos de tiempo en los que la tendencia es más evidente.
La estrategia en su conjunto es una estrategia de comercio de línea corta más estable. Utiliza una estrategia de comercio de la playa más conservadora, al mismo tiempo que utiliza el indicador RSI para determinar el punto de inflexión y, con el apoyo del indicador de la tortuga para determinar la dirección de la tendencia, puede evitar de manera efectiva las operaciones de alto riesgo como el seguimiento de la caída y la caída, y bloquear los beneficios más estables.
/*backtest
start: 2023-11-06 00:00:00
end: 2023-11-07 20:00:00
period: 30m
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/
// © mohanee
//@version=4
strategy(title="RSI of Ultimate Oscillator [SHORT Selling] Strategy", shorttitle="RSIofUO" , overlay=false, pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=20, initial_capital=10000, currency=currency.USD) //default_qty_value=10, default_qty_type=strategy.fixed,
//Ultimate Oscillator logic copied from TradingView builtin indicator
/////////////////////////////////////////////////////////////////////////////////
length1 = input(5, minval=1), length2 = input(10, minval=1), length3 = input(15, minval=1)
rsiUOLength = input(5, title="RSI UO length", minval=1)
sellLine = input (60, title="Sell at RSIofUO")
coverLine = input (75, title="Cover at RSIofUO")
riskCapital = input(title="Risk % of capital", defval=10, minval=1)
stopLoss=input(3,title="Stop Loss",minval=1)
showUO=input(false, "show Ultimate Oscialltor")
average(bp, tr_, length) => sum(bp, length) / sum(tr_, length)
high_ = max(high, close[1])
low_ = min(low, close[1])
bp = close - low_
tr_ = high_ - low_
avg7 = average(bp, tr_, length1)
avg14 = average(bp, tr_, length2)
avg28 = average(bp, tr_, length3)
out = 100 * (4*avg7 + 2*avg14 + avg28)/7
//Ultimate Oscillator
/////////////////////////////////////////////////////////////////////////////////
//Willimas Alligator copied from TradingView built in Indicator
/////////////////////////////////////////////////////////////////////////////////
smma(src, length) =>
smma = 0.0
smma := na(smma[1]) ? sma(src, length) : (smma[1] * (length - 1) + src) / length
smma
//moving averages logic copied from Willimas Alligator -- builtin indicator in TradingView
sma1=smma(hl2,10)
sma2=smma(hl2,20)
sma3=smma(hl2,50)
//Willimas Alligator
/////////////////////////////////////////////////////////////////////////////////
//drawings
/////////////////////////////////////////////////////////////////////////////////
hline(sellLine, title="Middle Line 60 [Short Here]", color=color.red , linestyle=hline.style_solid)
obLevelPlot = hline(75, title="Overbought", color=color.blue , linestyle=hline.style_dashed)
osLevelPlot = hline(25, title="Oversold", color=color.blue, linestyle=hline.style_dashed)
fill(obLevelPlot, osLevelPlot, title="Background", color=color.blue, transp=90)
rsiUO = rsi(out,rsiUOLength)
ultPlot=plot(showUO==true? out : na, color=color.green, title="Oscillator")
plot(rsiUO, title = "rsiUO" , color=color.purple)
//drawings
/////////////////////////////////////////////////////////////////////////////////
//Strategy Logic
/////////////////////////////////////////////////////////////////////////////////
//Entry--
//Echeck how many units can be purchased based on risk manage ment and stop loss
qty1 = (strategy.equity * riskCapital / 100 ) / (close*stopLoss/100)
//check if cash is sufficient to buy qty1 , if capital not available use the available capital only
qty1:= (qty1 * close >= strategy.equity ) ? (strategy.equity / close) : qty1
strategy.entry(id="SERSIofUO", long=false, qty=qty1, when = sma1<=sma2 and sma2 < sma3 and close<sma2 and crossunder(rsiUO,sellLine) )
//strategy.entry(id="SERSiofUO", long=false, when = sma1< sma2 and crossunder(rsiUO,60) )
barcolor(abs(strategy.position_size)>=1 ? color.purple : na )
bgcolor(abs(strategy.position_size)>=1 ? color.purple : na , transp=70)
//partial exit
strategy.close(id="SERSIofUO", comment="PExit", qty=strategy.position_size/3, when=abs(strategy.position_size)>=1 and close< strategy.position_avg_price and crossover(rsiUO,30) )
strategy.close(id="SERSIofUO", comment="CloseAll", when=abs(strategy.position_size)>=1 and crossover(rsiUO,coverLine) )
//Strategy Logic
/////////////////////////////////////////////////////////////////////////////////