Estrategia ascendente/descendiente consecutiva de N días

El autor:¿ Qué pasa?, Fecha: 2023-09-12 11:51:10
Las etiquetas:

Estrategia ascendente/descendiente consecutiva de N días

Este artículo presentará en detalle la lógica de negociación, los pros, los riesgos potenciales y el resumen de la estrategia de N días consecutivos de subida/baja.

Esta es una estrategia de largo plazo que determina entradas y salidas basadas en días ascendentes y días descendentes consecutivos definidos por el usuario.

Estrategia lógica

En primer lugar, tenemos que establecer dos parámetros:

consecutivoBarsUp: días consecutivos hasta días consecutivos de inactividad: días consecutivos de inactividad

Luego registramos dos variables:

días de alza: días de alza consecutivos corrientes dns: días de inactividad consecutivos actuales

Cada día comparamos el precio de cierre con el cierre anterior para determinar si es un día de alza o baja.

Cuando las ups alcanzan consecutiveBarsUp, vamos a largo.

Esa es la lógica simple de una estrategia ascendente/descendiente consecutiva. Solo vamos mucho tiempo después de días ascendentes consecutivos desde abajo. Y salimos después de días descendentes consecutivos. Esto evita el comercio frecuente en mercados de rango.

Ventajas

  1. Lógica sencilla, fácil de entender e implementar

  2. Filtración de las fluctuaciones a corto plazo por el ajuste de los días consecutivos

  3. Solo largo, menos operaciones, menores costes de transacción e impacto del deslizamiento

  4. Fácil de configurar para detener pérdidas, controlar eficazmente pérdidas de una sola operación

Riesgos potenciales

  1. Incapacidad para hacer compras cortas, oportunidades perdidas para hacer compras cortas

  2. Necesita días consecutivos para entrar, posiblemente perdiendo el mejor punto de entrada

  3. Tiempo de retraso, no captura giros en tiempo real

  4. Pérdidas de transacciones individuales grandes sin stop loss

Resumen de las actividades

La estrategia de días ascendentes/descendientes consecutivos es muy popular por su simplicidad y su baja frecuencia de negociación. Con el ajuste adecuado de los parámetros, puede filtrar los problemas de manera efectiva. Pero también tiene limitaciones como el retraso en el tiempo y la incapacidad de hacer compras cortas.


/*backtest
start: 2023-08-12 00:00:00
end: 2023-09-11 00:00:00
period: 12h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

// Strategy
// strategy("Up/Down Long Strategy", overlay=true, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash)

// There will be no short entries, only exits from long.
// strategy.risk.allow_entry_in(strategy.direction.long)

consecutiveBarsUp = input(1)
consecutiveBarsDown = input(1)

price = close

ups = 0.0
ups := price > price[1] ? nz(ups[1]) + 1 : 0

dns = 0.0
dns := price < price[1] ? nz(dns[1]) + 1 : 0

// Strategy Backesting
startDate  = input(timestamp("2021-01-01T00:00:00"), type = input.time)
finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time)

time_cond  = true

// Messages for buy and sell
message_buy  = input("{{strategy.order.alert_message}}", title="Buy message")
message_sell = input("{{strategy.order.alert_message}}", title="Sell message")

// Strategy Execution

if (ups >= consecutiveBarsUp) and time_cond
    strategy.entry("Long", strategy.long, stop = high + syminfo.mintick, alert_message = message_buy)
    
if (dns >= consecutiveBarsDown) and time_cond
    strategy.entry("Short", strategy.short, stop = low + syminfo.mintick, alert_message = message_sell)


Más.