Estrategia de stop loss dinámico y contacto MA99

SMA MA99
Fecha de creación: 2024-04-29 16:59:41 Última modificación: 2024-04-29 16:59:41
Copiar: 1 Número de Visitas: 1024
1
Seguir
1617
Seguidores

Estrategia de stop loss dinámico y contacto MA99

Descripción general

La estrategia se basa en la media móvil simple de 99 periodos (MA99) para juzgar las señales de negociación. Se puede abrir una posición cuando el precio toca MA99, sin la necesidad de dos líneas K de confirmación. La parada de pérdidas se utiliza para detener la posición dinámica, es decir, cuando el precio se rompe MA99 y se confirma en la siguiente línea K. La estrategia tiene como objetivo capturar la fluctuación de los precios cerca de MA99, mientras que el control de riesgo mediante la parada de pérdidas dinámicas.

Principio de estrategia

  1. Calcula el promedio móvil simple de 99 ciclos MA99。
  2. Para determinar si el precio actual toca el MA99, es decir, el precio mínimo es inferior a igual que el MA99 y el precio máximo es superior a igual que el MA99 .
  3. Si el precio toca el MA99 y el precio de cierre es superior al MA99, se hace más; si el precio toca el MA99 y el precio de cierre es inferior al MA99, se hace a la baja.
  4. Para las posiciones de más cabeza, si el precio de cierre cae por debajo de la MA99 y la siguiente línea K se confirma de nuevo, la posición está cerrada; para las posiciones de cabeza vacía, si el precio de cierre rompe la MA99 y la siguiente línea K se confirma de nuevo, la posición está cerrada.
  5. Cada vez que se abre una posición, se establece el precio de parada de MA99 actual; cada vez que se cierra una posición, se restablece el precio de parada.

Ventajas estratégicas

  1. Sencillez: La estrategia se basa en un solo indicador MA99, las reglas son claras y fáciles de entender e implementar.
  2. Detención dinámica: En comparación con los paros fijos, los paros dinámicos se adaptan mejor a los cambios en el mercado y controlan el riesgo a tiempo.
  3. Seguimiento de tendencias: MA99 representa tendencias a medio y largo plazo, abre posiciones cuando el precio toca MA99 y puede comerciar siguiendo la dirección de las tendencias principales.
  4. Reducción del ruido: La línea media de 99 ciclos es más eficaz para filtrar el ruido de fluctuación a corto plazo que la línea media de ciclos más cortos.

Riesgo estratégico

  1. Optimización de parámetros: la estrategia utiliza solo el parámetro 99, que puede no ser el parámetro óptimo, y debe determinarse el parámetro óptimo mediante retroalimentación y optimización.
  2. Mercado de temblores: En el mercado de temblores, los precios fluctúan frecuentemente cerca de la MA99, lo que puede ocasionar transacciones frecuentes y pérdidas.
  3. Reversión de la tendencia: cuando la tendencia cambia, el precio se rompe en MA99 y la estrategia puede seguir manteniendo posiciones en la dirección equivocada y sufrir pérdidas.
  4. Costos de deslizamiento: el comercio frecuente puede generar un deslizamiento más alto y costos de transacción que afectan los beneficios de la estrategia.

Dirección de optimización de la estrategia

  1. Introducción de filtros de tendencia: Al determinar las señales de apertura de posición, se puede combinar con otros indicadores de tendencia como MACD, ADX, etc., para confirmar la fuerza y la dirección de la tendencia y mejorar la calidad de la apertura de posición.
  2. Optimización de parámetros: optimización de parámetros como el ciclo MA, las condiciones de parada, para encontrar la combinación óptima de parámetros y mejorar la estabilidad de la estrategia.
  3. Incorporar gestión de posiciones: ajustar el tamaño de las posiciones de forma dinámica en función de la intensidad de las tendencias del mercado, la volatilidad y otros factores, y controlar el riesgo de retiro.
  4. Tenga en cuenta los costos de transacción: en el retrospectivo y el disco real, los factores de costo, como el punto de deslizamiento de la transacción y las comisiones, deben tenerse en cuenta para evaluar el rendimiento real de la estrategia.

Resumir

La estrategia MA99 de contacto con el deterioro dinámico abre posiciones al juzgar la relación entre el precio y el MA99 y utiliza el deterioro dinámico para controlar el riesgo. La estrategia es sencilla y fácil de usar, y puede seguir tendencias a medio y largo plazo, pero puede tener problemas con el comercio frecuente en mercados convulsos.

Código Fuente de la Estrategia
/*backtest
start: 2023-04-23 00:00:00
end: 2024-04-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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


//@version=5
strategy("MA99 Temas ve Dinamik Stop-Loss Stratejisi", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// MA99 hesaplayalım
ma99 = ta.sma(close, 99)
plot(ma99, color=color.blue, title="MA99")

// Fiyatın MA99'a temas edip etmediğini kontrol edelim
priceTouchedMA99 = (low <= ma99 and high >= ma99)

// Long ve short koşullarını tanımlayalım
longCondition = priceTouchedMA99 and close > ma99
shortCondition = priceTouchedMA99 and close < ma99

var float longStopLoss = na
var float shortStopLoss = na

var int longStopTriggered = 0
var int shortStopTriggered = 0

// Alım veya satım sinyallerine göre işlemleri başlatalım ve stop-loss ayarlayalım
if (longCondition)
    strategy.entry("Long Entry", strategy.long)
    longStopLoss := ma99
    longStopTriggered := 0

if (shortCondition)
    strategy.entry("Short Entry", strategy.short)
    shortStopLoss := ma99
    shortStopTriggered := 0

// Stop-loss koşullarını ve iki mum kuralını kontrol edelim
if (not na(longStopLoss))
    if (close < longStopLoss)
        longStopTriggered := 1
    else
        longStopTriggered := 0

    if (longStopTriggered[1] == 1 and close < longStopLoss)  // Bir önceki mumda tetiklendi ve hala altında
        strategy.close("Long Entry", comment="Stop Loss Long")
        longStopLoss := na
        longStopTriggered := 0

if (not na(shortStopLoss))
    if (close > shortStopLoss)
        shortStopTriggered := 1
    else
        shortStopTriggered := 0

    if (shortStopTriggered[1] == 1 and close > shortStopLoss)  // Bir önceki mumda tetiklendi ve hala üstünde
        strategy.close("Short Entry", comment="Stop Loss Short")
        shortStopLoss := na
        shortStopTriggered := 0