Estrategia innovadora de posicionamiento de oscilaciones con múltiples indicadores

El autor:¿ Qué pasa?, Fecha: 2023-12-01 17:49:34
Las etiquetas:

img

Resumen general

Esta estrategia combina múltiples indicadores, incluyendo STOCH.RSI, RSI, Dual Strategy, CM Williams Indicator y Money Flow Index (MFI) para localizar con precisión las fluctuaciones del mercado y buscar oportunidades para hacer long/short. Puede generar señales comerciales cuando los precios de las acciones se acercan a niveles de soporte o resistencia. Al integrar las ventajas de múltiples indicadores y la validación cruzada, esta estrategia puede reducir eficazmente las señales falsas y mejorar la confiabilidad.

Estrategia lógica

  1. STOCH.RSI combina las fortalezas del oscilador estocástico y el índice de fortaleza relativa (RSI), mostrando niveles de sobrecompra / sobreventa para detectar oportunidades de reversión.

  2. El RSI juzga las condiciones de sobrecompra/sobreventa como una confirmación auxiliar.

  3. La estrategia dual determina los cruces entre Stoch y RSI para generar señales comerciales.

  4. CM Williams Indicator calcula bandas de percentil. El rebote de las bandas representa la reversión del mercado, ayudando a juzgar las fluctuaciones y las reversiones.

  5. El índice de flujo de dinero (IFM) evalúa los flujos de fondos, validando las señales junto con Stoch.RSI y RSI para mejorar la calidad.

En resumen, al combinar Stoch.RSI, RSI, Dual Strategy, CM Williams y MFI, esta estrategia puede determinar eficazmente los niveles de sobrecompra/sobreventa, localizar los puntos de reversión y generar señales de calidad.

Análisis de ventajas

Las principales ventajas de esta estrategia incluyen:

  1. La combinación de múltiples indicadores mejora la calidad de la señal mediante la validación y reduce las falsas señales.

  2. STOCH.RSI, RSI y IFM detectan con eficacia zonas de sobrecompra/sobreventa y puntos de inflexión del mercado.

  3. CM Williams calcula bandas de percentil para ayudar a juzgar las fluctuaciones y reversiones del mercado.

  4. La estrategia dual genera señales comerciales simples que son fáciles de seguir.

  5. Muy personalizable con una amplia gama de parámetros optimizables adaptables a diferentes mercados.

Análisis de riesgos

Algunos riesgos a tener en cuenta:

  1. Los cálculos complejos de múltiples indicadores requieren una alta potencia de cómputo, inadecuada para el comercio de alta frecuencia.

  2. Un ajuste incorrecto de los parámetros podría deteriorar la calidad de la señal.

  3. Las señales de reversión pueden retrasarse. Más indicadores podrían ayudar a juzgar la tendencia.

  4. La alta frecuencia de negociación puede conducir a una mala utilización del capital.

Soluciones:

  1. Utilice terminales potentes y optimice los parámetros.

  2. Hacemos pruebas exhaustivas para encontrar los parámetros personales óptimos.

  3. Añadir más indicadores para determinar las tendencias de antemano.

  4. Optimizar los mecanismos de control de riesgos como el stop loss para limitar las pérdidas por operación.

Direcciones de optimización

Esta estrategia puede mejorarse en los siguientes aspectos:

  1. Optimizar los parámetros del indicador para encontrar la combinación óptima.

  2. Añadir indicadores como el volumen y el factor de ganancia para mejorar la selección de acciones.

  3. Incorporar más líneas de tendencia, bandas de Bollinger, etc. para pronosticar los niveles de soporte/resistencia.

  4. Agregue stop loss, filtros de entrada al mercado para controlar el riesgo.

  5. Los parámetros varían según los productos y los plazos, según las características.

Conclusión

Esta estrategia localiza las reversiones del mercado combinando con precisión múltiples indicadores, incluidos STOCH.RSI, RSI, Dual Strategy, CM Williams y MFI. La validación cruzada mejora la calidad de la señal y reduce las señales falsas.


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


     //////////////////////////////////////////////////////////////////////////
    ////  STOCHASTIC_RSI+RSI+DOUBLE_STRATEGY+CM_WILLIAMS_VIX_FIX+MFI  ////////
   //////////////////////////////////////////////////////////////////////////


//  This is a simple combination of integrated and published scripts, useful 
//  if you don't have a PRO account and want to bypass the 3 indicators limit. 
//  It includes:
//  1) Stoch.RSI
//  2) Relative strenght index (RSI)
//  3) Stochastic + RSI, Double Strategy (by ChartArt)
//  4) CM_Williams_Vix_Fix Finds Market Bottoms (by ChrisMoody)
//  5) Monetary Flow Index (MFI)
//  For more details about 3) and 4) check the original scripts.


//@version=3
// @author GianlucaBezziccheri

strategy(title="Stoch.RSI+RSI+DoubleStrategy+CMWilliamsVixFix+MFI", shorttitle="Stoch.RSI+RSI+DoubleStrategy+CMWilliamsVixFix+MFI")


///STOCH.RSI///
smoothK = input(3, minval=1, title="Stochastic %K Smoothing")
smoothD = input(3, minval=1, title="Stochastic %K Moving Average")
lengthRSI = input(14, minval=1, title="RSI Lenght")
lengthStoch = input(14, minval=1, title="Stochastic Lenght")
RSIprice = close
rsi1 = rsi(RSIprice, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
plot(k, color=blue, linewidth=2)
plot(d, color=silver, linewidth=2)
h0 = hline(80)
h1 = hline(20)
fill(h0, h1, color=purple, transp=78)


///RSI///
up = rma(max(change(RSIprice), 0), lengthRSI)
down = rma(-min(change(RSIprice), 0), lengthRSI)
rsi2 = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi2, color=fuchsia, linewidth=2)
band0 = hline(70)
band1 = hline(30)
fill(band0, band1, color=purple, transp=100)


///OVERBOUGHT-OVERSOLD STRATEGY///
StochOverBought = input(80, title="Stochastic RSI overbought")
StochOverSold = input(20, title="Stochastic RSI oversold")
ks = sma(stoch(close, high, low, lengthStoch), smoothK)
ds = sma(k, smoothD)
RSIOverBought = input( 70  , title="RSI overbought")
RSIOverSold = input( 30  , title="RSI oversold")
vrsi = rsi(RSIprice, lengthRSI)
if (not na(ks) and not na(ds))
    if (crossover(ks,ds) and k < StochOverSold)
        if (not na(vrsi)) and (crossover(vrsi, RSIOverSold))
            strategy.entry("LONG", strategy.long, comment="LONG")
if (crossunder(ks,ds) and ks > StochOverBought)
    if (crossunder(vrsi, RSIOverBought))
        strategy.entry("SHORT", strategy.short, comment="SHORT")
 
 
///CM WILLIAMS VIX FIX///
pd = input(22, title="LookBack Period Standard Deviation High")
bbl = input(20, title="Bollinger Band Length")
mult = input(2.0    , minval=1, maxval=5, title="Bollinger Band Standard Devaition Up")
lb = input(50  , title="Look Back Period Percentile High")
ph = input(.85, title="Highest Percentile - 0.90=90%, 0.95=95%, 0.99=99%")
pl = input(1.01, title="Lowest Percentile - 1.10=90%, 1.05=95%, 1.01=99%")
hp = input(false, title="Show High Range (Based on Percentile and LookBack Period)?")
sd = input(false, title="Show Standard Deviation Line?")
wvf = ((highest(close, pd)-low)/(highest(close, pd)))*100
sDev = mult * stdev(wvf, bbl)
midLine = sma(wvf, bbl)
lowerBand = midLine - sDev
upperBand = midLine + sDev
rangeHigh = (highest(wvf, lb)) * ph
rangeLow = (lowest(wvf, lb)) * pl
col = wvf >= upperBand or wvf >= rangeHigh ? lime : gray
plot(hp and rangeHigh ? rangeHigh : na, title="Range High Percentile", style=line, linewidth=4, color=orange)
plot(hp and rangeLow ? rangeLow : na, title="Range High Percentile", style=line, linewidth=4, color=orange)
plot(wvf, title="Williams Vix Fix", style=columns, linewidth = 4, color=col, transp=85)
plot(sd and upperBand ? upperBand : na, title="Upper Band", style=line, linewidth = 3, color=aqua)


///MONETARY FLOW INDEX
length4 = input(title="MFI Length", defval=14, minval=1, maxval=2000)
src4 = hlc3
upper4 = sum(volume * (change(src4) <= 0 ? 0 : src4), length4)
lower4 = sum(volume * (change(src4) >= 0 ? 0 : src4), length4)
mf4 = rsi(upper4, lower4)
plot(mf4, color=yellow, style=line, linewidth=2, title="Monetary Flow Index")
overbought=hline(70, title="MFI Overbought", color=yellow)
oversold=hline(30, title="MFI Oversold", color=yellow)
fill(overbought, oversold, color=#9915ff, transp=100)

Más.