Esta estrategia utiliza tres indicadores técnicos del precio de las acciones, RSI, StochRSI y Bollinger Bands, y combina las condiciones de tiempo y dirección de negociación para determinar las señales de compra y venta para las estrategias de negociación cuantitativas.
Cuando el indicador RSI es menor que el área inferior y la línea StochRSI K cruza por encima de la línea D, se considera una señal de compra.
Cuando el indicador RSI excede el área superior y la línea StochRSI K cruza por debajo de la línea D, se considera una señal de venta.
El indicador RSI juzga si el precio de las acciones está sobrecomprado o sobrevendido, StochRSI juzga el impulso del precio de las acciones y Bollinger Bands juzga si el precio de las acciones está funcionando a niveles altos y baratos.
Se trata de una estrategia combinada de múltiples indicadores con una amplia cobertura de indicadores y una base de juicio integral. Se requiere un cruce entre el precio o indicador actual de la acción y su umbral antes de juzgar la señal, lo que tiene un cierto efecto de filtrado sobre las señales falsas.
Las restricciones de condiciones de tiempo se añaden antes de realizar órdenes para evitar mayores riesgos durante períodos de tiempo específicos.
Al combinar los juicios de múltiples indicadores, se pueden combinar más tipos de tendencias para mejorar la eficacia de la estrategia.
La estrategia se basa principalmente en tres tipos de indicadores. Si el indicador da una señal errónea, la estrategia causará pérdidas. Los indicadores deben verificarse entre sí y no pueden confiar completamente en un determinado indicador. Por ejemplo, la oscilación del RSI en un cierto período de tiempo aumentará la posibilidad de emitir señales falsas.
Las condiciones de evaluación del tiempo añadidas a la estrategia también pueden no tener condiciones de mercado favorables.
Si la selección de las poblaciones es inadecuada, por ejemplo, las poblaciones con efectos de exageración graves, la validez de estos indicadores se verá muy reducida.
Aumentar las medidas de control de riesgos, tales como la utilización máxima para limitar las pérdidas.
Ajustar los parámetros del indicador para que coincida mejor con las acciones seleccionadas. Por ejemplo, acelerar los parámetros del RSI para detectar cambios de precios más rápidos.
Aumentar los mecanismos de filtrado, como suspender las operaciones cuando el precio de las acciones está en el medio de la banda de Bollinger para evitar las condiciones oscilantes del mercado y dejar de ordenar cerca de la apertura y el cierre para evitar el riesgo de brecha.
La selección de acciones puede referirse a los fundamentos para evitar acciones con fraude financiero grave.
Esta es una estrategia típica de indicadores técnicos multivariables con una mezcla equilibrada de indicadores y una amplia cobertura. Al mismo tiempo, las condiciones de orden son rigurosas, lo que puede seleccionar efectivamente las acciones para lograr ganancias, y la reducción se controlará dentro de un cierto rango. A través de la optimización de indicadores y parámetros, puede adaptarse mejor al mercado. Al mismo tiempo, aumentar el mecanismo de control de riesgos para minimizar el riesgo para mejorar aún más la estabilidad y la confiabilidad de la estrategia.
/*backtest start: 2023-12-24 00:00:00 end: 2024-01-23 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version= 2 strategy("RSI+STOCHRSI+BB Strategy", overlay=true) lengthrsi = input(6) overSold = input( 20 ) overBought = input( 70 ) price = close vrsi = rsi(price, lengthrsi) smoothK = input(3, minval=1) smoothD = input(3, minval=1) lengthRSI = input(14, minval=1) lengthStoch = input(14, minval=1) src = input(close, title="RSI Source") rsi1 = rsi(src, lengthRSI) k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = sma(k, smoothD) bblength = input(50) bbupmult =input(1.5,title="Multiplier for BB Upper Band") bblowmult = input(1.5,title="Multiplier for BB Lower Band") basis = sma(close,bblength) devup = bbupmult * stdev(close, bblength) devlow = bblowmult * stdev(close, bblength) upper = basis + devup lower = basis - devlow plot(basis, color=red) p1 = plot(upper, color=blue) p2 = plot(lower, color=blue) fill(p1, p2) yearfrom = input(2018) yearuntil =input(2019) monthfrom =input(6) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( ( crossover(k,d)) and ( crossover(vrsi,overSold) or vrsi<overSold) and ( (price<lower) or crossover(price,lower) ) ) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( ( crossunder(k,d) ) and ( (vrsi >overBought) or crossunder(vrsi,overBought) ) and ( (price>upper) or crossunder(price,upper) )) strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", comment="SELL") else strategy.cancel(id="SELL")