- Plaza de la Estrategia
- Estrategias de seguimiento de retraso de media móvil
Estrategias de seguimiento de retraso de media móvil
El autor:
¿ Qué pasa?, Fecha: 2024-03-28 18:00:05
Las etiquetas:
Resumen
La estrategia tiene como idea principal aprovechar dos medias móviles de diferentes ciclos para capturar oportunidades de rebote tras un retroceso del mercado. La estrategia abre más posiciones cuando el precio está por encima de la media a largo plazo y se produce un retroceso hacia la media a corto plazo, y estabiliza cuando el precio vuelve a la media a corto plazo o toca el punto de stop loss. La estrategia busca obtener ganancias en la situación de tendencia buscando oportunidades de retroceso en la tendencia.
Principios estratégicos
- Se calcula la media móvil de dos ciclos diferentes (MA1 y MA2), donde MA1 es la media a largo plazo y MA2 es la media a corto plazo.
- Cuando el precio de cierre está por encima del MA1 y por debajo del MA2, no hay posiciones en el momento y el momento actual está dentro del rango de tiempo de negociación establecido.
- Se registra el precio de compra de la posición abierta y se calcula el precio de stop-loss (es decir, el porcentaje de caída del precio de la posición abierta i_stopPercent).
- Cuando el precio de cierre vuelve a la MA2 y i_lowerClose es falso, o cuando el precio de cierre cae y rompe el precio de stopPrice, el equilibrio estratégico.
- Si i_lowerClose es true, entonces el precio de cierre es superior al MA2 y la línea K anterior está en equilibrio cuando el precio de cierre es inferior al MA2.
Las ventajas estratégicas
- Seguimiento de tendencias: determina la tendencia general actual mediante la determinación de la relación entre el precio y la ubicación de la línea media a largo plazo y busca oportunidades de entrada en la tendencia.
- Retroceder: buscar oportunidades de compra en una tendencia al alza para que el precio vuelva a la línea media a corto plazo mejora la relación de precios de los puntos de compra.
- Protección contra pérdidas: se establece un nivel de pérdida de pérdidas, que se estabiliza automáticamente cuando la fluctuación inversa de los precios alcanza un cierto nivel, controlando eficazmente el riesgo bajista.
- Parámetros flexibles: el usuario puede configurar el ciclo de la media, el porcentaje de pérdida de parada, si el precio de cierre de la línea K anterior se estabilizó por debajo de la línea media corta, entre otros parámetros de acuerdo con sus preferencias.
El riesgo estratégico
- Optimización de parámetros: diferentes configuraciones de parámetros tienen un gran impacto en el rendimiento de la estrategia y requieren optimización y reevaluación de parámetros en diferentes entornos de mercado para encontrar la mejor combinación de parámetros.
- Mercado turbulento: en un mercado turbulento, los precios fluctúan con frecuencia entre las medias de largo y corto plazo, lo que puede llevar a que la estrategia se despeje con frecuencia, lo que supone una mayor pérdida de costos de negociación.
- Reversión de tendencia: cuando la tendencia del mercado cambia, la estrategia puede sufrir pérdidas continuas. En este caso, es necesario combinar otros indicadores o señales para juzgar el cambio de tendencia y ajustar la estrategia en el momento oportuno.
- El evento del Cisne Negro: Cuando un evento importante e impredecible ocurre en el mercado, puede causar fuertes fluctuaciones en los precios y la estrategia después de desencadenar el stop-loss se enfrenta a grandes pérdidas.
Dirección de optimización estratégica
- Tendencia de juicio: introducir más indicadores de tendencia de juicio, como ADX, etc. antes de abrir una posición para confirmar la intensidad y la dirección de la tendencia actual y mejorar la precisión de la señal de apertura.
- Dinámico stop loss: se ajusta el stop loss en función de los indicadores de fluctuación de los precios, como el ATR, y se relaja el stop loss apropiadamente cuando el precio fluctúa más, y se cierra el stop loss cuando el precio fluctúa menos.
- Administración de posiciones: en función de factores como la intensidad de la tendencia del mercado, la volatilidad de los precios, el tamaño de las posiciones se ajusta dinámicamente cada vez que se abren, aumentando las posiciones cuando la tendencia es fuerte y la volatilidad es moderada y reduciendo las posiciones cuando la tendencia es débil o la volatilidad es demasiado alta.
- Hedge de múltiples espacios: Considera la posibilidad de monitorear las señales de ambos espacios al mismo tiempo, y cubre las posiciones abiertas en diferentes mercados o ciclos para reducir el riesgo general de la estrategia.
Resumen
La estrategia de seguimiento de movimiento de media recurrente se basa en la relación de la posición relativa de dos líneas horizontales de diferentes ciclos, para capturar más oportunidades de retorno de precios en tendencias al alza. La estrategia es adecuada para mercados tendenciales, con el establecimiento de parámetros y paradas adecuados, se puede obtener una rentabilidad estable en mercados tendenciales. Pero la estrategia presenta cierto riesgo en mercados turbulentos y reveses de tendencias.
/*backtest
start: 2023-03-22 00:00:00
end: 2024-03-27 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/
// © contapessoal_ivan
// @version=5
strategy("Pullback Strategy",
overlay=true,
initial_capital=1000,
default_qty_type=strategy.percent_of_equity,
default_qty_value=100, // 100% of balance invested on each trade
commission_type=strategy.commission.cash_per_contract,
commission_value=0.005) // Interactive Brokers rate
// Get user input
i_ma1 = input.int(title="MA 1 Length", defval=200, step=10, group="Strategy Parameters", tooltip="Long-term MA")
i_ma2 = input.int(title="MA 2 Length", defval=10, step=10, group="Strategy Parameters", tooltip="Short-term MA")
i_stopPercent = input.float(title="Stop Loss Percent", defval=0.10, step=0.1, group="Strategy Parameters", tooltip="Failsafe Stop Loss Percent Decline")
i_lowerClose = input.bool(title="Exit On Lower Close", defval=false, group="Strategy Parameters", tooltip="Wait for a lower-close before exiting above MA2")
i_startTime = input(title="Start Filter", defval=timestamp("26 Jan 2023 00:00 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups")
i_endTime = input(title="End Filter", defval=timestamp("26 Mar 2024 23:59 +0000"), group="Time Filter", tooltip="End date & time to stop searching for setups")
// Get indicator values
ma1 = ta.sma(close, i_ma1)
ma2 = ta.sma(close, i_ma2)
// Check filter(s)
f_dateFilter = true
// Check buy/sell conditions
var float buyPrice = 0
buyCondition = close > ma1 and close < ma2 and strategy.position_size == 0 and f_dateFilter
sellCondition = close > ma2 and strategy.position_size > 0 and (not i_lowerClose or close < low[1])
stopDistance = strategy.position_size > 0 ? ((buyPrice - close) / close) : na
stopPrice = strategy.position_size > 0 ? buyPrice - (buyPrice * i_stopPercent) : na
stopCondition = strategy.position_size > 0 and stopDistance > i_stopPercent
// Enter positions
if buyCondition
strategy.entry(id="Long", direction=strategy.long)
if buyCondition[1]
buyPrice := open
// Exit positions
if sellCondition or stopCondition
strategy.close(id="Long", comment="Exit" + (stopCondition ? "SL=true" : ""))
buyPrice := na
// Draw pretty colors
plot(buyPrice, color=color.lime, style=plot.style_linebr)
plot(stopPrice, color=color.red, style=plot.style_linebr, offset=-1)
plot(ma1, color=color.blue)
plot(ma2, color=color.orange)
Más contenido