Estrategia de trading cuantitativo a corto plazo basada en múltiples indicadores


Fecha de creación: 2023-09-14 19:46:55 Última modificación: 2023-09-14 19:46:55
Copiar: 1 Número de Visitas: 785
1
Seguir
1617
Seguidores

En este artículo se detalla una estrategia de comercio cuantitativo de línea corta con una combinación de varios indicadores. Esta estrategia se combina con un conjunto de indicadores técnicos potentes para generar señales de comercio en períodos de tiempo bajos (por ejemplo, 15 minutos).

El principio de la estrategia

El núcleo de la estrategia es el uso de una combinación de indicadores, que incluyen:

(1) Sistema de doble equilánea: calcula dos medias móviles de Hull de forma rápida y lenta para determinar la dirección de la tendencia en función de su relación cruzada.

(2) Sistema Ichimoku: calcula las líneas de conversión, líneas de referencia, etc., y combina las tendencias de los gráficos de la nube con las resistencias de soporte.

(3) El canal Donchian: construye el canal a través del precio más alto y el precio más bajo para determinar el precio de ruptura.

(4) MACD: Calcula el MACD y la línea de señal y opera en función de su intersección.

Cuando estos indicadores coinciden en el juicio de tendencias, se produce una señal de negociación más confiable. La lógica específica es:

Cuando el Hull MA rápido atraviesa el Hull MA lento, Y la línea de Ichimoku atraviesa el mapa de la nube Y el canal de Donchian se rompe Y el MACD atraviesa la línea de la señal, haga más; en cambio, juzgue a la izquierda.

Al mismo tiempo, los cambios en el precio de cierre de la línea K diaria son un criterio auxiliar para evitar que se invierta la celda.

Además, la estrategia contiene una lógica de stop loss y stop-loss que permite controlar el riesgo y el retorno de una sola operación.

Dos, las ventajas estratégicas

La mayor ventaja de esta estrategia es que la combinación de indicadores se complementan entre sí, lo que mejora la calidad de la señal. Los diferentes indicadores juzgan las tendencias desde varios puntos de vista, y solo se produce una señal de acuerdo, lo que evita las limitaciones de un solo indicador.

En segundo lugar, la combinación de múltiples ciclos de tiempo también es una gran ventaja. El juicio auxiliar de Kline diaria puede filtrar el riesgo de que los ciclos bajos de corta duración se encuentren en el juego.

Por último, la estrategia incluye un mecanismo de stop loss que permite controlar el riesgo de cada operación.

Tercero, el riesgo potencial.

A pesar de que la estrategia está bien diseñada, los siguientes riesgos también deben ser considerados:

En primer lugar, la combinación de múltiples indicadores aumenta la dificultad de optimización de los parámetros, y la configuración incorrecta puede conducir a una optimización excesiva.

En segundo lugar, en una tendencia fuerte, los paros pueden ser rompidos y generar pérdidas.

Por último, la determinación de múltiples períodos de tiempo también existe en situaciones en las que las señales complejas son difíciles de determinar.

En general, la estrategia combina la ciencia lógica general, que se puede optimizar continuamente a través de pruebas de parámetros, para convertirse en una estrategia de cuantificación de líneas cortas eficaz.

Cuatro contenido, resumen

Este artículo detalla una estrategia de comercio cuantitativo de línea corta con una combinación de varios indicadores. Utiliza indicadores como la línea de paridad doble, Ichimoku, canal Donchian y MACD para combinar y mejorar la calidad de la señal. Al mismo tiempo, utiliza el juicio de múltiples períodos de tiempo y el control de riesgo de la lógica de parada de pérdidas. En general, la estrategia, optimizada, puede convertirse en un sistema de comercio cuantitativo de línea corta eficiente.

Código Fuente de la Estrategia
/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// Any timeFrame ok but good on 15 minute & 60 minute , Ichimoku + Daily-Candle_cross(DT) + HULL-MA_cross + MacD combination 420 special blend
strategy("Custom 15m strat",overlay=true)
keh=input(title="Double HullMA",defval=14, minval=1)
dt = input(defval=0.0010, title="Decision Threshold (0.001)", step=0.0001)`
SL = input(defval=-500.00, title="Stop Loss in $", step=1)
TP = input(defval=25000.00, title="Target Point in $", step=1)
ot=1
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(close[1],round(keh/2))
nma1=wma(close[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
d=n1>n2?red:green
confidence=(security(syminfo.tickerid, 'D', close)-security(syminfo.tickerid, 'D', close[1]))/security(syminfo.tickerid, 'D', close[1])
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(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
LS=close, offset = -displacement
MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(26)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength) //macd
aMACD = ema(MACD, MACD_Length) //signal
closelong = n1<n2 and close<n2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and close>n2 and confidence>dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closeshort)
    strategy.close("Short")
longCondition = n1>n2 and strategy.opentrades<ot and confidence>dt and close>n2 and leadLine1>leadLine2 and open<LS and MACD>aMACD
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and strategy.opentrades<ot and confidence<dt and close<n2 and leadLine1<leadLine2 and open>LS and MACD<aMACD
if (shortCondition)
    strategy.entry("Short",strategy.short)

a1=plot(n1,color=c)
a2=plot(n2,color=c)
plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 4)
plot(conversionLine, color=#0496ff, title="Conversion Line")
plot(baseLine, color=#991515, title="Base Line")
//plot(longCondition == true ? 4000:4100,title="long")
plot(close, offset = -displacement, color=#459915, title="Lagging Span")
p1=plot (leadLine1, offset = displacement, color=green,  title="Lead 1")
p2=plot (leadLine2, offset = displacement, color=red,  title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
// remove the "//" from before the plot script if want to see the indicators on chart