En la carga de los recursos... Cargando...

MA99 Estrategia de stop-loss táctil y dinámica

El autor:¿ Qué pasa?, fecha: 2024-04-29 16:59:41
Las etiquetas:La SMAEl MA99

img

Resumen general

Esta estrategia se basa en el promedio móvil simple (MA99) de 99 períodos para determinar las señales comerciales. Cuando el precio toca el MA99, se puede abrir una posición sin requerir la confirmación de dos velas. El stop-loss utiliza un enfoque dinámico, lo que significa que cuando el precio rompe el MA99 y se confirma en la siguiente vela, la posición se cierra para la stop-loss.

Principios de estrategia

  1. Calcular el promedio móvil simple de 99 períodos MA99.
  2. Determinar si el precio actual toca el MA99, es decir, el precio más bajo es menor o igual al MA99, y el precio más alto es mayor o igual al MA99.
  3. Si el precio alcanza el MA99 y el precio de cierre está por encima del MA99, vaya largo; si el precio alcanza el MA99 y el precio de cierre está por debajo del MA99, vaya corto.
  4. Para las posiciones largas, si el precio de cierre cae por debajo de MA99 y se confirma de nuevo en la siguiente candilla, se cierra la posición; para las posiciones cortas, si el precio de cierre supera MA99 y se confirma de nuevo en la siguiente candilla, se cierra la posición.
  5. Cada vez que se abra una posición, establecer el MA99 actual como el precio de stop loss; restablecer el precio de stop loss después de que se cierre cada posición.

Ventajas estratégicas

  1. Sencilla y fácil de usar: Esta estrategia se basa en un único indicador, MA99, con reglas claras y directas que son fáciles de entender e implementar.
  2. Las operaciones de suspensión de pérdidas dinámicas: en comparación con las operaciones de suspensión de pérdidas fijas, las operaciones de suspensión de pérdidas dinámicas pueden adaptarse mejor a los cambios del mercado y controlar el riesgo de manera oportuna.
  3. La tendencia de seguimiento: el MA99 representa la tendencia a medio y largo plazo.
  4. Reducción del ruido: en comparación con el uso de medias móviles de período más corto, la media móvil de 99 períodos puede filtrar eficazmente el ruido de fluctuación a corto plazo.

Riesgos estratégicos

  1. Optimización de parámetros: Esta estrategia solo utiliza el parámetro 99, que puede no ser el parámetro óptimo. Requiere backtesting y optimización para determinar los mejores parámetros.
  2. Mercados agitados: en mercados agitados, los precios pueden fluctuar con frecuencia alrededor del MA99, lo que puede conducir a operaciones y pérdidas frecuentes.
  3. Inversión de tendencia: cuando la tendencia se invierte y el precio rompe el MA99, esta estrategia puede continuar manteniendo posiciones en la dirección equivocada, lo que resulta en pérdidas.
  4. Costos de deslizamiento: las operaciones frecuentes pueden acarrear mayores costos de deslizamiento y transacción, lo que afecta a la rentabilidad de la estrategia.

Direcciones para la optimización de la estrategia

  1. Introduzca filtros de tendencia: al determinar las señales de entrada, se pueden incorporar otros indicadores de tendencia como MACD, ADX, etc., para confirmar la fuerza y la dirección de la tendencia, mejorando la calidad de entrada.
  2. Optimizar los parámetros: Optimizar parámetros como el período de MA y las condiciones de stop-loss para encontrar la mejor combinación de parámetros y mejorar la robustez de la estrategia.
  3. Incorporar el tamaño de la posición: ajustar dinámicamente el tamaño de la posición en función de factores como la fuerza de la tendencia del mercado y la volatilidad para controlar el riesgo de retirada.
  4. Considere los costos de negociación: al hacer backtesting y trading en vivo, considere factores de costos como el deslizamiento comercial y las comisiones para evaluar el rendimiento real de la estrategia.

Resumen de las actividades

La estrategia MA99 Touch and Dynamic Stop-Loss abre posiciones basadas en la relación entre el precio y el MA99 y utiliza el stop-loss dinámico para controlar el riesgo. Esta estrategia es simple y fácil de usar, capaz de seguir tendencias a medio y largo plazo, pero puede enfrentar el problema de las operaciones frecuentes en mercados agitados. Al introducir otros indicadores para filtrar, optimizar parámetros, administrar posiciones y considerar costos, el rendimiento y la robustez de esta estrategia pueden mejorarse aún más.


/*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

Relacionados

Más.