Las estrategias de trading basadas en la conmoción de potencia

El autor:¿ Qué pasa?, Fecha: 2024-02-05 10:44:19
Las etiquetas:

基于动量震荡交易策略

Resumen

Esta estrategia es una estrategia de trading de oscilación interdiurna basada en la tecnología de movilidad, que utiliza el ATR para detener la pérdida. La estrategia fue creada por Kory Hoang de Stable.

La estrategia utiliza el indicador de movimiento para identificar la dirección de la tendencia, combinado con el indicador ATR para establecer una línea de stop loss, para lograr una estrategia de trading de convulsiones de compras bajas y ventas altas.

Principios estratégicos

En el código, primero se establece el rango de tiempo para la reevaluación.

En la sección de indicadores, se calculan los siguientes indicadores:

  • atr ((): calcula el indicador ATR para establecer el stop loss;
  • max_/min_: registra el precio más alto/más bajo de una línea K;
  • is_uptrend: determina si está en una tendencia al alza;
  • En el caso de la línea de stop loss, el nombre de la línea de stop loss es:

La lógica principal para juzgar la tendencia es:

Si el cierre es superior al vstop de la línea de stop de la caída anterior, se considera una tendencia alcista; si el cierre es inferior al vstop de la línea de stop de la caída anterior, se considera una tendencia descendente.

La posición de la línea de stop loss se ajusta cuando la tendencia cambia.

Específicamente, en una tendencia alcista, la línea de stop loss se define como el valor del precio más alto de la línea K anterior menos el ATR; en una tendencia bajista, la línea de stop loss se define como el valor del precio más bajo de la línea K anterior más el ATR.

Esto permite realizar un seguimiento de tendencias y detener los daños.

La parte de las reglas de negociación, cuando se abre una posición y se rompe la línea de stop-loss, se hace más nada.

Análisis de ventajas

La estrategia tiene las siguientes ventajas:

  1. El uso de la tecnología de propulsión para determinar la dirección de la tendencia, capturar los puntos de inflexión en el momento oportuno y evitar falsos avances.
  2. El ATR sigue los precios máximos/mínimos para controlar el riesgo.
  3. La lógica estratégica es simple, clara y fácil de entender.
  4. En la actualidad, la mayoría de las transacciones en línea están en línea con el mercado.

Análisis de riesgos

La estrategia también tiene algunos riesgos:

  1. La elección incorrecta del valor del ATR puede causar que el parálisis sea demasiado amplio o demasiado compacto.
  2. La tendencia a la oscilación puede tener fuertes fluctuaciones, con continuos paros.
  3. El número de transacciones puede ser mayor y los costos de tramitación más altos.

La optimización se puede hacer en los siguientes aspectos:

  1. Prueba diferentes parámetros de ATR para encontrar la combinación óptima de parámetros.
  2. La combinación de indicadores de volatilidad basados en ATR optimiza la línea de stop loss.
  3. En la actualidad, el mercado de valores está en crisis, y el mercado de valores está en crisis, y el mercado de valores está en crisis.

Dirección de optimización

La estrategia puede ser optimizada en las siguientes direcciones:

  1. Prueba de diferentes parámetros ATR para encontrar la combinación óptima de parámetros. Puede volver a probar varios parámetros para evaluar la relación riesgo-beneficio.

  2. Se puede introducir un indicador de fluctuación para liberar adecuadamente la amplitud de la suspensión cuando la oscilación aumenta.

  3. Combinado con el filtrado de tendencias, evitar los mercados inestables no significa abrir una posición. Se puede aumentar el indicador de juicio de tendencias, y solo se puede abrir una posición cuando la tendencia es clara.

  4. Mecanismos de gestión de posiciones aumentados. Las posiciones se pueden ajustar según el uso de fondos, el número de pérdidas consecutivas, etc.

  5. Aumentar el control del riesgo de intervalo nocturno. Se puede detener el riesgo de pérdida antes del cierre, evitando el salto de precios durante la noche.

Resumen

Esta estrategia sirve como base para las estrategias de trading intradiario de la conmoción, con un pensamiento general claro, el uso de técnicas de determinación de la tendencia de la potencia y el uso de los indicadores ATR para el seguimiento del punto de deslizamiento y el control efectivo del riesgo.

También hay mucho espacio para la optimización, que puede ser mejorada en varios aspectos, como la determinación de tendencias, el método de stop loss, la gestión de posiciones, etc., para hacer que la estrategia sea más adecuada para la negociación real. En general, esta estrategia ofrece un buen marco básico para la negociación cuantitativa.


/*backtest
start: 2023-01-29 00:00:00
end: 2024-02-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("BTC Swinger", overlay=true, commission_value = 0.25, default_qty_type=strategy.percent_of_equity, default_qty_value = 100)

/////////////////////////////////////////////////////////////
//START - SET DATE RANGE

// === BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2010, title = "From Year")
ToMonth   = input(defval = 12, title = "To Month", minval = 1)
ToDay     = input(defval = 31, title = "To Day", minval = 1)
ToYear    = input(defval = 2020, title = "To Year")

startDate = time > timestamp(FromYear, FromMonth, FromDay, 1, 1)
endDate = time < timestamp(ToYear, ToMonth, ToDay, 23, 59)
withinTimeRange = true

/////////////////////////////////////////////////////////////
//END - SET DATE RANGE



/////////////////////////////////////////////////////////////
//START - INDICATORS

length = input(3)
mult = input(1, minval = 0.01)
atr_ = atr(length)
max1 = max(nz(max_[1]), close)
min1 = min(nz(min_[1]), close)
is_uptrend_prev = nz(is_uptrend[1], true)
stop = is_uptrend_prev ? max1 - mult * atr_ : min1 + mult * atr_
vstop_prev = nz(vstop[1])
vstop1 = is_uptrend_prev ? max(vstop_prev, stop) : min(vstop_prev, stop)
is_uptrend = close - vstop1 >= 0
is_trend_changed = is_uptrend != is_uptrend_prev
max_ = is_trend_changed ? close : max1
min_ = is_trend_changed ? close : min1
vstop = is_trend_changed ? is_uptrend ? max_ - mult * atr_ : min_ + mult * atr_ : vstop1
plot(vstop, color = is_uptrend ? yellow : red, style=circles, linewidth=2)

/////////////////////////////////////////////////////////////
//END - INDICATORS



/////////////////////////////////////////////////////////////
//START - TRADING RULES
direction = input(defval=1, title = "Strategy Direction", minval=-1, maxval=1)
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))

condition1 = close > vstop and withinTimeRange
condition2 = close < vstop and withinTimeRange

strategy.entry("BUY", strategy.long, when = condition1)
strategy.entry("SELL", strategy.short, when = condition2)

/////////////////////////////////////////////////////////////
//END - TRADING RULES

Más contenido