Estrategia de negociación con umbral de tamaño de vela de símbolos comerciales

TICKS CST ES NQ CL
Fecha de creación: 2025-02-21 10:17:23 Última modificación: 2025-02-27 17:17:35
Copiar: 1 Número de Visitas: 277
2
Seguir
319
Seguidores

Estrategia de negociación con umbral de tamaño de vela de símbolos comerciales Estrategia de negociación con umbral de tamaño de vela de símbolos comerciales

Descripción general

La estrategia se basa en el tamaño del umbral para identificar y negociar movimientos de precios importantes. Se logra un control preciso mediante el establecimiento de umbrales de puntos específicos, ventanas de tiempo de negociación y límites de transacciones diarias. La estrategia se optimiza específicamente para el mercado de futuros y puede capturar cambios de precios significativos en momentos de alta liquidez.

Principio de estrategia

La lógica central de la estrategia consiste en calcular el diferencial de los puntos altos y bajos de cada hilera (en unidades de puntos) y compararlo con el umbral predeterminado. Cuando el tamaño de la hilera supera el umbral y se encuentra dentro de la ventana de tiempo de negociación designada (en la hora de 7:00 a 9:15 am en EE.UU. por defecto), el sistema activa una señal de negociación multi-espacio en función de la dirección de la hilera. Para controlar el riesgo, la estrategia limita la ejecución de una sola operación por día y establece un punto de parada.

Ventajas estratégicas

  1. Control de puntuación preciso - asegura la precisión de la ejecución de las transacciones mediante el cálculo de los niveles de tick
  2. Filtrado por tiempo - centrarse en las horas de mayor actividad del mercado
  3. Gestión de riesgos: establezca puntos de parada y pérdida claros para proteger su dinero
  4. Control de la frecuencia de las transacciones - Limite a una transacción al día para evitar el exceso de transacciones
  5. Alertas visuales: los hilos que desencadenan las transacciones se muestran en alto para facilitar su análisis.
  6. Compatibilidad de retroceso - incluye funciones como filtro de fecha y ejecución de tiempo para facilitar el retroceso histórico

Riesgo estratégico

  1. Riesgo de fluctuaciones en el mercado, que pueden desencadenar señales erróneas en momentos de gran volatilidad
  2. Riesgo de deslizamiento: las operaciones rápidas en el mercado de futuros pueden desviar los precios reales de transacción.
  3. Costo de oportunidad - el límite de una transacción al día puede perder otras buenas oportunidades de negociación
  4. Dependencia en el tiempo - la eficacia de la estrategia depende en gran medida de la ventana de tiempo de negociación elegida

Dirección de optimización de la estrategia

  1. Término dinámico - Término de tamaño de la línea que se ajusta automáticamente según la volatilidad del mercado
  2. Múltiples períodos de tiempo - agregar señales de confirmación de múltiples períodos de tiempo
  3. Filtrado de volumen de transacciones - Adición de un indicador de volumen de transacciones como criterio auxiliar
  4. Indicadores de sentimiento del mercado - Indicadores que evalúan el entorno del mercado junto con la volatilidad
  5. Stop Loss Adaptable - un Stop Loss basado en la configuración dinámica de las fluctuaciones del mercado

Resumir

La estrategia proporciona un sistema de negociación fiable para el comercio de futuros a través de un control preciso de puntos y un filtrado de tiempo estricto. Su ventaja radica en la precisión y el control de riesgos de la ejecución, pero también requiere que el comerciante optimice los parámetros según las variedades específicas y las condiciones del mercado.

Código Fuente de la Estrategia
/*backtest
start: 2025-02-15 01:00:00
end: 2025-02-20 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © omnipadme

//@version=5
strategy("Futures Candle Size Strategy (Start Trading on Jan 1, 2025)", overlay=true)

// Input for candle size threshold in ticks
candleSizeThresholdTicks = input.float(25, title="Candle Size Threshold (Ticks)", minval=1)

// Input for take profit and stop loss in ticks
takeProfitTicks = input.float(50, title="Take Profit (Ticks)", minval=1)
stopLossTicks = input.float(40, title="Stop Loss (Ticks)", minval=1)

// Time filter for trading (e.g., 7:00 AM to 9:15 AM CST)
startHour = input.int(7, title="Start Hour (CST)", minval=0, maxval=23)
startMinute = input.int(0, title="Start Minute (CST)", minval=0, maxval=59)
endHour = input.int(9, title="End Hour (CST)", minval=0, maxval=23)
endMinute = input.int(15, title="End Minute (CST)", minval=0, maxval=59)

// Tick size of the instrument (e.g., ES = 0.25)
tickSize = syminfo.mintick

// Convert tick inputs to price levels
candleSizeThreshold = candleSizeThresholdTicks * tickSize
takeProfit = takeProfitTicks * tickSize
stopLoss = stopLossTicks * tickSize

// Time range calculation
startTime = timestamp("GMT-6", year(timenow), month(timenow), dayofmonth(timenow), startHour, startMinute)
endTime = timestamp("GMT-6", year(timenow), month(timenow), dayofmonth(timenow), endHour, endMinute)
inTimeRange = (time >= startTime and time <= endTime)

// Filter to start trading only from January 1, 2025
startTradingDate = timestamp("GMT-6", 2025, 1, 1, 0, 0)
isValidStartDate = time >= startTradingDate

// Calculate the candle size for the current candle
candleSize = math.abs(high - low)

// Track whether a trade has been executed for the day
var hasTradedToday = false
isNewDay = dayofweek != dayofweek[1]  // Detect new day

// Reset `hasTradedToday` at the start of a new day
if isNewDay
    hasTradedToday := false

// Trigger condition for futures trading (only if no trade has been executed today)
triggerCondition = isValidStartDate and inTimeRange and candleSize >= candleSizeThreshold and not hasTradedToday

// Entry logic: If condition is met, enter a trade
if triggerCondition
    hasTradedToday := true  // Mark as traded for the day
    if close > open  // Bullish candle
        strategy.entry("Buy", strategy.long)
    if close < open  // Bearish candle
        strategy.entry("Sell", strategy.short)

// Set take profit and stop loss
strategy.exit("Exit Long", from_entry="Buy", limit=close + takeProfit, stop=close - stopLoss)
strategy.exit("Exit Short", from_entry="Sell", limit=close - takeProfit, stop=close + stopLoss)

// Alerts for triggered condition
if triggerCondition
    alert("Candle size is " + str.tostring(candleSizeThresholdTicks) + " ticks or greater. Trade initiated.", alert.freq_once_per_bar)

// Color the alert candle white
barcolor(triggerCondition ? color.white : na)

// Visual aids for backtesting
bgcolor(isValidStartDate and inTimeRange ? color.new(color.green, 90) : na, title="Time and Date Range Highlight")