
Esta estrategia es una estrategia de posición corta para el índice del dólar (ES) a intervalos de 3 minutos. Se genera una señal de negociación mediante el cálculo de un promedio móvil de una serie de índices, en combinación con condiciones morfológicas específicas.
El indicador central de esta estrategia es el promedio T3. El promedio T3 primero calcula un conjunto de promedios móviles exponenciales de x1 a x6, los parámetros T3 establecidos para el usuario a intervalos de tiempo. Luego, se calcula el promedio ponderado de los promedios móviles de estos indicadores a través de un conjunto específico de factores de peso, como el promedio T3 final.
La estrategia genera una señal de compra cuando el precio de cierre está por debajo de la media de T3; una señal de venta cuando el precio de cierre está por encima de la media de T3. Además, la estrategia juzga que la forma específica de la línea K es una condición auxiliar de la señal de entrada. La instrucción de negociación solo se emite cuando cumple con las condiciones de forma y la señal de la media de T3 aparece al mismo tiempo.
La mayor ventaja de esta estrategia reside en el filtrado múltiple y la optimización de parámetros. Por un lado, el filtrado múltiple en combinación con los indicadores de precio y gráficos puede reducir muchos de los ruidos de las operaciones. Por otro lado, los parámetros clave T3 y las reglas de juicio de forma pueden optimizarse para ajustar la precisión de entrada a los diferentes mercados.
Además, en comparación con otros indicadores como las medias móviles simples, la superposición suave de los indicadores T3 puede filtrar eficazmente el ruido del mercado y identificar los puntos de conversión de tendencias. Mientras que el ciclo de tres minutos es adecuado para el comercio intradiario y permite capturar rápidamente oportunidades a corto plazo.
El principal riesgo de esta estrategia es la optimización inadecuada de los parámetros y el tiempo de tenencia de posición excesivo. Si se establece un parámetro T3 demasiado grande, los cambios en los indicadores de la estrategia se retrasarán; si se establece demasiado pequeño, aumentará la probabilidad de operaciones ruidosas. Además, la operación de ciclo de tres minutos tiene un mayor riesgo de pérdida si no se detiene a tiempo.
Para controlar el riesgo, primero se necesita una prueba repetida para diferentes variedades, para determinar el rango óptimo de los parámetros. En segundo lugar, se debe ejecutar estrictamente la estrategia de detención de pérdidas, detener las salidas de pérdidas a tiempo y controlar las pérdidas individuales dentro de una cierta proporción.
La estrategia se basa en las siguientes opciones:
Optimización de los parámetros T3 para encontrar el intervalo óptimo de los parámetros de las diferentes variedades de transacción
Optimización de la lógica de juicio de indicadores gráficos para mejorar la precisión de la identificación de formas
Aumentar la pérdida de retraso y los métodos de optimización de la pérdida, como el seguimiento de la parada
Aumentar el módulo de administración de fondos basado en la tasa de rendimiento o el máximo retiro
Módulo de entrada auxiliar para el aumento de los juicios de los modelos de aprendizaje automático
A través de la optimización de las direcciones anteriores, se puede aumentar gradualmente la estabilidad y la rentabilidad de la estrategia.
Esta estrategia tiene ventajas como una estrategia de comercio intradiario de línea corta, con un gran espacio de optimización de indicadores, múltiples filtros y salida rápida. A través de una serie de medios de optimización como optimización de parámetros, optimización de stop loss y administración de fondos, se puede configurar como una estrategia efectiva para el comercio de alta frecuencia.
/*backtest
start: 2023-11-16 00:00:00
end: 2023-11-23 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("ES 3m Short Only (Triple RED)", overlay=true)
// Alert Message '{{strategy.order.alert_message}}'
//3min
T3 = input(150)//to 600
xPrice3 = close
xe1 = ta.ema(xPrice3, T3)
xe2 = ta.ema(xe1, T3)
xe3 = ta.ema(xe2, T3)
xe4 = ta.ema(xe3, T3)
xe5 = ta.ema(xe4, T3)
xe6 = ta.ema(xe5, T3)
b3 = 0.7
c1 = -b3*b3*b3
c2 = 3*b3*b3+3*b3*b3*b3
c3 = -6*b3*b3-3*b3-3*b3*b3*b3
c4 = 1+3*b3+b3*b3*b3+3*b3*b3
nT3Average = c1 * xe6 + c2 * xe5 + c3 * xe4 + c4 * xe3
// Buy Signal - Price is below T3 Average
buySignal3 = xPrice3 < nT3Average
sellSignal3 = xPrice3 > nT3Average
//NinjaTrader Settings.
acct = "Sim101"
ticker = "ES 12-23"
qty = 1
takeProfitTicks = 4
stopLossTicks = 16
tickSize = 0.25
takeProfitShort = close - takeProfitTicks * tickSize
stopLossShort = close + stopLossTicks * tickSize
OCOMarketShort = '{ "alert": "OCO Market Short", "account": "' + str.tostring(acct) + '", "ticker": "' + str.tostring(ticker) + '", "qty": "' + str.tostring(qty) + '", "take_profit_price": "' + str.tostring(takeProfitShort) + '", "stop_price": "' + str.tostring(stopLossShort) + '", "tif": "DAY" }'
CloseAll = '{ "alert": "Close All", "account": "' + str.tostring(acct) + '", "ticker": "' + str.tostring(ticker) + '" }'
IsUp = close > open
IsDown = close < open
PatternPlot = IsDown[2] and IsDown[1] and IsDown and close[1] <= high[0] and close[1] > close[0] and low[1] > low[0] and high[2] > high[1] and low[2] <= low[1]
if (PatternPlot and sellSignal3)
strategy.entry('Short', strategy.short, alert_message=OCOMarketShort)
strategy.exit('Close Short', 'Short', profit=takeProfitTicks, loss=stopLossTicks, alert_message=CloseAll)
//plotshape(PatternPlot, title="Custom Pattern", style=shape.circle, location=location.abovebar, color=color.red, size=size.small)