Reversión media con estrategia de entrada incremental

El autor:¿ Qué pasa?, Fecha: 2024-01-29 15:47:24
Las etiquetas:

img

Resumen general

La estrategia de reversión media con entrada incremental diseñada por HedgerLabs es un guión de estrategia de negociación avanzada que se centra en la técnica de reversión media en los mercados financieros.

Estrategia lógica

El centro de esta estrategia es el promedio móvil simple (SMA) en torno al cual giran todas las entradas y salidas.

La única característica de esta estrategia es el sistema de entrada incremental. Inicia una primera posición cuando el precio se desvía del MA en un porcentaje especificado. Las entradas posteriores se realizan en pasos incrementales, según lo definido por el comerciante, a medida que el precio se aleja más del MA. Esto tiene como objetivo capitalizar la creciente volatilidad.

La estrategia gestiona las posiciones de manera inteligente entrando en largo cuando el precio está por debajo de MA y corto cuando está por encima para adaptarse a las cambiantes condiciones del mercado.

Las salidas se determinan cuando el precio toca el MA, con el objetivo de cerrar posiciones en puntos de reversión potenciales para obtener resultados optimizados.

Con calcula_on_every_tick habilitado, la estrategia evalúa continuamente el mercado para garantizar una reacción rápida.

Análisis de ventajas

La estrategia de reversión media con entrada incremental tiene las siguientes ventajas clave:

  1. Muy sistematizado para reducir la interferencia emocional
  2. La entrada incremental captura mayores beneficios durante la alta volatilidad
  3. Los parámetros personalizables como el período de M.A. se adaptan a diferentes instrumentos.
  4. Gestión inteligente de posiciones adapta automáticamente largo / corto
  5. Reversiones óptimas de salida dirigidas a cierre de posiciones

Análisis de riesgos

Los riesgos a tener en cuenta incluyen:

  1. Los resultados de la dependencia de los indicadores técnicos
  2. Tendencia negativa que provoca una reducción prolongada de las cuotas
  3. Los malos ajustes de MA conducen a paradas frecuentes
  4. Tamaño de la posición más grande debido a la entrada incremental

Las salidas se pueden optimizar, se pueden añadir filtros de tendencia, se puede reducir el tamaño de las posiciones para mitigar los riesgos anteriores.

Oportunidades de mejora

La estrategia puede reforzarse mediante:

  1. Añadir filtros de tendencia para evitar operaciones desfavorables
  2. Optimización de los incrementos de entrada con volatilidad
  3. Incorporación de paradas de trailing para obtener beneficios
  4. Experimentando con diferentes medias móviles
  5. El uso de filtros para reducir las señales falsas

Conclusión

La estrategia de reversión media con entrada incremental se centra en técnicas de reversión media utilizando un enfoque sistematizado de tamaño de posición incremental.


/*backtest
start: 2023-12-29 00:00:00
end: 2024-01-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Mean Reversion with Incremental Entry by HedgerLabs", overlay=true, calc_on_every_tick=true)

// Input for adjustable settings
maLength = input.int(30, title="MA Length", minval=1)
initialPercent = input.float(5, title="Initial Percent for First Order", minval=0.01, step=0.01)
percentStep = input.float(1, title="Percent Step for Additional Orders", minval=0.01, step=0.01)

// Calculating Moving Average
ma = ta.sma(close, maLength)

// Plotting the Moving Average
plot(ma, "Moving Average", color=color.blue)

var float lastBuyPrice = na
var float lastSellPrice = na

// Function to calculate absolute price percentage difference
pricePercentDiff(price1, price2) =>
    diff = math.abs(price1 - price2) / price2 * 100
    diff

// Initial Entry Condition Check Function
initialEntryCondition(price, ma, initialPercent) =>
    pricePercentDiff(price, ma) >= initialPercent

// Enhanced Entry Logic for Buy and Sell
if (low < ma)
    if (na(lastBuyPrice))
        if (initialEntryCondition(low, ma, initialPercent))
            strategy.entry("Buy", strategy.long)
            lastBuyPrice := low
    else
        if (low < lastBuyPrice and pricePercentDiff(low, lastBuyPrice) >= percentStep)
            strategy.entry("Buy", strategy.long)
            lastBuyPrice := low

if (high > ma)
    if (na(lastSellPrice))
        if (initialEntryCondition(high, ma, initialPercent))
            strategy.entry("Sell", strategy.short)
            lastSellPrice := high
    else
        if (high > lastSellPrice and pricePercentDiff(high, lastSellPrice) >= percentStep)
            strategy.entry("Sell", strategy.short)
            lastSellPrice := high

// Exit Conditions - Close position if price touches the MA
if (close >= ma and strategy.position_size > 0)
    strategy.close("Buy")
    lastBuyPrice := na

if (close <= ma and strategy.position_size < 0)
    strategy.close("Sell")
    lastSellPrice := na

// Reset last order price when position is closed
if (strategy.position_size == 0)
    lastBuyPrice := na
    lastSellPrice := na


Más.