La estrategia de negociación de inversión de variación genera señales de negociación mediante el cálculo de la relación entre las opciones de compra y venta, también conocida como la relación de compra y venta. Cuando la relación se invierte, desencadena operaciones combinadas con reglas simples de administración de dinero para obtener ganancias. Es adecuado para períodos de 30 minutos de NDX y SPX. La oscilación debe ajustarse para reflejar el punto de inversión correcto. Los resultados sólidos de las pruebas de retroceso indican el punto de inversión óptimo.
Las métricas principales de esta estrategia son el promedio móvil y la desviación estándar de la relación entre compra y venta. Primero calcula el promedio móvil de 20 días de la relación entre compra y venta, luego calcula la desviación estándar de 30 días de la relación. Una señal larga se activa cuando la relación cruza por encima del promedio móvil más la desviación estándar de 1.5. Una señal corta se activa cuando la relación cae por debajo del promedio móvil menos la desviación estándar de 1.5.
Después de ir largo, si la relación rebota por encima del promedio móvil, cierre la posición corta. El stop loss se establece en 1% por debajo del precio de entrada. El take profit se establece en 3 veces la distancia de stop loss del precio de entrada.
La mayor ventaja de esta estrategia es capturar los puntos de reversión del sentimiento cuando el mercado se vuelve demasiado pesimista o alcista, causando anomalías en la relación de compra / venta.
El riesgo principal proviene de un ajuste inadecuado de los parámetros. Las señales demasiado frecuentes no logran capturar inversiones significativas. Las señales de reversión también pueden ser falsificadas por fallas, causando pérdidas. Los parámetros deben optimizarse para señales más confiables.
Considere agregar filtros para confirmar señales de reversión y evitar fallas falsas. Por ejemplo, solo considere señales cuando el volumen se amplifique. Los filtros de tendencia también podrían evitar operaciones de contra-tendencia. Los parámetros óptimos probablemente varían en diferentes mercados y plazos. La integración de más factores hará que la estrategia sea más robusta.
Esta estrategia tiene como objetivo capturar los puntos de reversión del mercado mediante el uso de la relación de compra / venta con reglas básicas de gestión de dinero. Puede beneficiarse de las reversiones locales, pero se enfrenta a riesgos de ruptura falsos. La optimización de parámetros, la adición de filtros e integración de más factores pueden mejorar su estabilidad y rentabilidad. En general, proporciona una dirección para las reversiones comerciales basadas en el sentimiento del mercado.
/*backtest start: 2023-09-30 00:00:00 end: 2023-10-30 00:00:00 period: 1h 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/ // © I11L //@version=5 strategy("I11L Long Put/Call Ratio Inversion", overlay=false, pyramiding=1, default_qty_value=10000, initial_capital=10000, default_qty_type=strategy.cash) SL = input.float(0.01,step=0.01) CRV = input.float(3) TP = SL * CRV len = input.int(30,"Lookback period in Days",step=10) ratio_sma_lookback_len = input.int(20,step=10) mult = input.float(1.5,"Standard Deviation Multiple") ratio_sma = ta.sma(request.security("USI:PCC","D",close),ratio_sma_lookback_len) median = ta.sma(ratio_sma,len) standartDeviation = ta.stdev(ratio_sma,len) upperDeviation = median + mult*standartDeviation lowerDeviation = median - mult*standartDeviation isBuy = ta.crossunder(ratio_sma, upperDeviation)// and close < buyZone isCloseShort = (ratio_sma > median and strategy.position_size < 0) isSL = (strategy.position_avg_price * (1.0 - SL) > low and strategy.position_size > 0) or (strategy.position_avg_price * (1.0 + SL) < high and strategy.position_size < 0) isSell = ta.crossover(ratio_sma,lowerDeviation) isTP = strategy.position_avg_price * (1 + TP) < high if(isBuy) strategy.entry("Long", strategy.long) if(isCloseShort) strategy.exit("Close Short",limit=close) if(isSL) strategy.exit("SL",limit=close) if(isTP) strategy.exit("TP",limit=close) plot(ratio_sma,color=color.white) plot(median,color=color.gray) plot(upperDeviation,color=color.rgb(0,255,0,0)) plot(lowerDeviation,color=color.rgb(255,0,0,0)) bgcolor(isBuy?color.rgb(0,255,0,90):na) bgcolor(isSell?color.rgb(255,0,0,90):na)