Esta estrategia utiliza métodos de aprendizaje automático para implementar una estrategia de negociación automatizada. Integra múltiples indicadores y modelos para generar automáticamente señales comerciales y tomar decisiones de compra y venta en consecuencia.
Esta estrategia se basa principalmente en los siguientes puntos clave:
Específicamente, la estrategia trazará el Hull MA, el EMA de 13 períodos y el EMA de 21 períodos. Juzgando las direcciones de tendencia a corto y mediano plazo basadas en el estado largo y corto de los EMA. Combinado con el Hull MA para determinar las tendencias de ciclos más largos. Esto proporciona orientación sobre la dirección general para las señales comerciales posteriores.
Antes de ajustar las posiciones, la estrategia se referirá a los precios más altos y más bajos en el canal de la entidad correspondientes a los niveles de soporte y resistencia.
Finalmente, la estrategia invoca los precios de apertura y cierre de 60 períodos. Cuando el precio de cierre cruza por encima del precio de apertura, se genera una señal de compra. Cuando cruza por debajo, se genera una señal de venta. Esto completa toda la lógica comercial.
La mayor ventaja de esta estrategia es que combina los indicadores de aprendizaje automático y análisis técnico para lograr una solución de negociación automatizada lógica, ajustable y fácil de usar.
La combinación de múltiples indicadores mejora la precisión de la señal
La estrategia no se basa únicamente en uno o dos indicadores, sino que tiene en cuenta múltiples factores como tendencias, soporte / resistencia y avances de precios.
Configuración de parámetros flexible
Las longitudes de los períodos Hull MA, EMA y de los períodos de cruce abierto/cerrado pueden ajustarse mediante parámetros, lo que hace que la estrategia sea adaptable a diferentes entornos de mercado.
Señales de negociación automatizadas
Las señales comerciales basadas en indicadores y cruces pueden desencadenar automáticamente compras y ventas sin juicio manual, lo que reduce la dificultad.
Display visualizado
Los gráficos de la estrategia pueden mostrar claramente la estructura del mercado, el estado de la tendencia y los precios clave, mostrando intuitivamente la base para el juicio de la estrategia.
Aunque esta estrategia se ha optimizado en múltiples aspectos, todavía existen algunos riesgos potenciales:
Incumplimiento del seguimiento de movimientos drásticos de precios
En los mercados volátiles, los indicadores pueden volverse ineficaces o retrasados, lo que hace que la estrategia no pueda rastrear los cambios de precios en el tiempo.
Existencia de una tasa de error de la señal
Las señales comerciales basadas en indicadores y modelos, más o menos, tendrán algunas señales falsas o señales faltantes.
El riesgo de combinación largo/corto
La estrategia de hacer tanto posiciones largas como cortas simultáneamente tiene el riesgo de pérdidas en ambos lados si los juicios se equivocan.
Riesgo de sobreajuste
El sistema debe simplificarse con un número limitado de combinaciones de parámetros.
En este sentido, la Comisión propone una serie de medidas para mejorar la eficacia de la política comunitaria en materia de medio ambiente.
Añadir más señales de indicador
Además de los indicadores existentes, pueden introducirse más indicadores auxiliares, como canales BOLL, indicadores KD, etc., para enriquecer la referencia del sistema.
Aplicar modelos de aprendizaje profundo
Utilice indicadores simples como características para entrenar LSTM y otros modelos de aprendizaje profundo para mejorar la calidad de la señal.
Incorporar datos fundamentales
Añadir datos macroeconómicos, información sobre políticas y otros factores fundamentales para optimizar las decisiones de ciclo largo.
Valoración del riesgo y de las posiciones
Introducir estrategias de stop loss, ajustar dinámicamente el tamaño de las posiciones en función de la volatilidad de la estrategia de rendimiento para controlar estrictamente los riesgos.
Esta estrategia integra tendencias, niveles de soporte/resistencia, breakouts y múltiples otros indicadores, utilizando métodos de aprendizaje automático para lograr soluciones cuantitativas automatizadas y listas para usar. Tiene las ventajas de diversos combos de indicadores, parámetros sintonizables y señales automatizadas, al tiempo que también enfrenta desviaciones de seguimiento, errores de señal, riesgos de mezcla larga/corta hasta cierto punto. Todavía hay direcciones para nuevas optimizaciones mediante la incorporación de más indicadores y modelos auxiliares, la combinación de factores fundamentales, el ajuste dinámico de posiciones y así sucesivamente, con el fin de lograr un rendimiento de negociación cuantitativo más estable, preciso e inteligente.
/*backtest start: 2023-01-22 00:00:00 end: 2024-01-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title='Ali Jitu Abus', shorttitle='Ali_Jitu_Abis_Strategy', overlay=true, pyramiding=0, initial_capital=1000, currency=currency.USD) //Candle body resistance Channel-----------------------------// len = 34 src = input(close, title="Candle body resistance channel") out = sma(src, len) last8h = highest(close, 13) lastl8 = lowest(close, 13) bearish = cross(close,out) == 1 and falling(close, 1) bullish = cross(close,out) == 1 and rising(close, 1) channel2=input(false, title="Bar Channel On/Off") ul2=plot(channel2?last8h:last8h==nz(last8h[1])?last8h:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level top", offset=0) ll2=plot(channel2?lastl8:lastl8==nz(lastl8[1])?lastl8:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level bottom", offset=0) //fill(ul2, ll2, color=black, transp=95, title="Candle body resistance Channel") //-----------------Support and Resistance RST = input(title='Support / Resistance length:', defval=10) RSTT = valuewhen(high >= highest(high, RST), high, 0) RSTB = valuewhen(low <= lowest(low, RST), low, 0) RT2 = plot(RSTT, color=RSTT != RSTT[1] ? na : red, linewidth=1, offset=+0) RB2 = plot(RSTB, color=RSTB != RSTB[1] ? na : green, linewidth=1, offset=0) //--------------------Trend colour ema------------------------------------------------// src0 = close, len0 = input(13, minval=1, title="EMA 1") ema0 = ema(src0, len0) direction = rising(ema0, 2) ? +1 : falling(ema0, 2) ? -1 : 0 plot_color = direction > 0 ? lime: direction < 0 ? red : na plot(ema0, title="EMA", style=line, linewidth=1, color = plot_color) //-------------------- ema 2------------------------------------------------// src02 = close, len02 = input(21, minval=1, title="EMA 2") ema02 = ema(src02, len02) direction2 = rising(ema02, 2) ? +1 : falling(ema02, 2) ? -1 : 0 plot_color2 = direction2 > 0 ? lime: direction2 < 0 ? red : na plot(ema02, title="EMA Signal 2", style=line, linewidth=1, color = plot_color2) //=============Hull MA// show_hma = input(false, title="Display Hull MA Set:") hma_src = input(close, title="Hull MA's Source:") hma_base_length = input(8, minval=1, title="Hull MA's Base Length:") hma_length_scalar = input(5, minval=0, title="Hull MA's Length Scalar:") hullma(src, length)=>wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length))) plot(not show_hma ? na : hullma(hma_src, hma_base_length+hma_length_scalar*6), color=black, linewidth=2, title="Hull MA") //============ signal Generator ==================================// Period=input('60') ch1 = request.security(syminfo.tickerid, Period, open) ch2 = request.security(syminfo.tickerid, Period, close) longCondition = crossover(request.security(syminfo.tickerid, Period, close),request.security(syminfo.tickerid, Period, open)) if (longCondition) strategy.entry("BUY", strategy.long) shortCondition = crossunder(request.security(syminfo.tickerid, Period, close),request.security(syminfo.tickerid, Period, open)) if (shortCondition) strategy.entry("SELL", strategy.short) plot(request.security(syminfo.tickerid, Period, close), color=red, title="Period request.security Close") plot(request.security(syminfo.tickerid, Period, open), color=green, title="Period request.security Open") ///////////////////////////////////////////////////////////////////////////////////////////