Byron Serpent Cloud Quant Strategy combina principalmente los indicadores de Ichimoku y el indicador aleatorio RSI para construir señales de estrategia de negociación cuantitativa ponderando los juicios de los dos indicadores, logrando así el comercio automatizado de variedades de valores.
Esta estrategia utiliza indicadores como líneas de conversión, líneas base, lead 1 y lead 2 en Ichimoku, combinados con líneas K y D en StochRSI. En el lado de Ichimoku, si la línea de conversión está por encima de la línea de base y lead 1 está por encima de lead 2, es una señal alcista. Si la línea de conversión está por debajo de la línea de base y lead 1 está por debajo de lead 2, es una señal bajista fuerte. Además, si la línea de conversión está por encima o por debajo de la línea de base, también puede generar señales alcistas o bajistas débiles. En el lado de StochR, si la línea K está por encima de la línea DSI y la línea K está por debajo de la línea de sobrecompra y la línea D está por debajo de la línea de sobrecompra, es una señal de compra de OverchR. Si la línea de conversión de KSI está por debajo de la línea de D y la línea de KSI está por encima de la línea de sobreventa y la línea de D es por encima de la línea de venta, es una
Esta estrategia combina los indicadores Ichimoku y StochRSI para determinar simultáneamente la dirección de la tendencia y las condiciones de sobrecompra / sobreventa para señales más completas y confiables. En comparación con el uso de un solo indicador, puede reducir la generación de señales falsas. El indicador Ichimoku es bastante preciso para juzgar las tendencias a medio y largo plazo, mientras que el indicador StochRSI puede medir los fenómenos de sobrecompra / sobreventa a corto plazo, lo que permite que la estrategia sea adecuada para diferentes ciclos. El diseño de la adición de pesos de decisión también hace que las señales de estrategia sean más suaves y confiables. En general, esta estrategia puede determinar automáticamente los puntos de inflexión en las tendencias del mercado y generar señales comerciales con ventajas como la facilidad de operación, amplia aplicabilidad y señales estables.
El mayor riesgo de esta estrategia es que tanto los indicadores Ichimoku como StochRSI pueden generar señales falsas, especialmente en mercados de rango, lo que aumentará las operaciones innecesarias. Además, el establecimiento de pesos y valores de parámetros también tendrá un gran impacto en la efectividad de la estrategia. Si los pesos se establecen incorrectamente, se pueden perder señales importantes o se pueden generar demasiadas señales falsas. Algunos parámetros clave como la longitud del RSI y la longitud del Stoch también deben probarse y optimizarse para diferentes variedades y entornos de mercado, de lo contrario afectará a la estrategia. Por último, los problemas de datos también pueden convertirse en riesgos para la estrategia. Si la calidad de los datos no es buena, también causará señales en los indicadores y desviaciones.
Esta estrategia también tiene un gran potencial de optimización. En primer lugar, considere agregar más indicadores como Bollinger Bands y KD para hacer que el juicio de la señal sea más completo. En segundo lugar, use aprendizaje automático o algoritmos genéticos para optimizar automáticamente los parámetros en lugar de usar parámetros fijos para hacer que las estrategias sean más inteligentes y adaptables. En tercer lugar, investigue cómo mejorar los algoritmos del indicador para reducir la generación de señales falsas. En cuarto lugar, el mecanismo de ajuste de peso también se puede optimizar aún más, como aumentar el peso de las señales fuertes. En quinto lugar, los parámetros y reglas se pueden optimizar para más variedades o submercados para adaptarse al entorno del mercado en constante cambio.
Byron Serpent Cloud Quant Strategy combina los indicadores Ichimoku y StochRSI para formar señales comerciales a través de ponderación y diseño de parámetros, que pueden capturar automáticamente los cambios de tendencia del mercado y tiene una buena adaptabilidad a diferentes variedades y ciclos. Es un conjunto de estrategias cuantitativas que vale la pena investigar y aplicar en profundidad.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Baracuda Ichimoku/StochRSI Strategy", overlay=true) DecisionWeight = input(50, minval = 0, title="BUY/SELL decision weight") ichimokuStrong = input(35, minval = 0, title="Ichimoku strong weight") ichimokuStandard = input(20, minval = 0, title="Ichimoku standard weight") ichimokuWeak = input(20, minval = 0, title="Ichimoku weak weight") stochRSIWweak = input(30, minval = 0, title="Stoch RSI weight") conversionPeriods = input(9, minval=1, title="Conversion Line Periods") basePeriods = input(26, minval=1, title="Base Line Periods") laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods") displacement = input(5, minval=1, title="Displacement") donchian(len) => avg(lowest(len), highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) lengthRSI = input(8, minval=8) //14 lengthStoch = input(5, minval=5)//14 smoothK = input(3,minval=3) smoothD = input(3,minval=3) OverSold = input(20) OverBought = input(80) rsi1 = rsi(close, lengthRSI) k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = sma(k, smoothD) stronglong = conversionLine > baseLine and leadLine1 > leadLine2 strongshort = conversionLine < baseLine and leadLine1 < leadLine2 weaklong = conversionLine > baseLine weakshort = conversionLine < baseLine RSIlong = k > d and k < OverSold and d < OverSold RSIshort = k < d and k > OverBought and d > OverBought long=(((stronglong ? 1:0)*ichimokuStrong) + ((weaklong? 1:0)*ichimokuWeak) + ((RSIlong? 1:0)*stochRSIWweak)) > DecisionWeight short=(((strongshort? 1:0)*ichimokuStrong) + ((weakshort? 1:0)*ichimokuWeak) + ((RSIshort? 1:0)*stochRSIWweak)) > DecisionWeight strategy.entry("long", strategy.long, when=long) strategy.entry("short", strategy.short, when=short)