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

Estrategia de negociación de tendencia de media móvil múltiple

El autor:¿ Qué pasa?, fecha: 2024-05-11 17:32:49
Las etiquetas:La SMA- ¿Qué es?

img

Resumen general

Este artículo presenta una estrategia de trading de tendencia basada en múltiples promedios móviles llamada Multi-Moving Average Trend Trading Strategy. La estrategia se aplica principalmente al mercado de futuros del Nasdaq y captura las tendencias al alza del mercado mediante el análisis de la posición de precios en relación con los promedios móviles a largo, mediano y corto plazo. También cierra todas las posiciones en un momento específico cada día.

La estrategia emplea tres promedios móviles simples (SMA): a largo plazo (default 200 periodos), a mediano plazo (default 21 periodos) y a corto plazo (default 9 periodos). Una señal de compra se activa cuando el precio está por encima de los promedios móviles a largo y mediano plazo y cruza por encima del promedio móvil a corto plazo, siempre que no haya posiciones abiertas. La estrategia también establece niveles de stop-gain y stop-loss de punto fijo para gestionar el riesgo. Además, todas las posiciones se cierran a las 17:00 cada día de negociación.

Principio de la estrategia

  1. Calcular las medias móviles simples a largo plazo (default 200 periodos), a medio plazo (default 21 periodos) y a corto plazo (default 9 periodos).

  2. Determinar si el precio actual está por encima de las medias móviles a largo y mediano plazo.

  3. Compruebe si el precio actual se cruza por encima del promedio móvil a corto plazo.

  4. Cuando ambas condiciones 2 y 3 se cumplan y no hay posiciones abiertas, se activa una señal de compra.

  5. Después de comprar, fije los niveles de stop-gain y stop-loss de punto fijo. Cierre la posición cuando el precio alcance cualquiera de los niveles.

  6. Cierre todas las posiciones a las 17:00 cada día de negociación.

Ventajas estratégicas

  1. Sencilla y fácil de entender: La estrategia se basa en medias móviles, por lo que es sencilla de comprender e implementar.

  2. Seguimiento de tendencias: mediante el análisis de la posición de los precios en relación con las medias móviles de diferentes períodos, la estrategia captura eficazmente las tendencias al alza del mercado.

  3. Control de riesgos: La estrategia incorpora niveles de stop-gain y stop-loss de punto fijo, lo que ayuda a gestionar el riesgo para las operaciones individuales.

  4. Cierre automático de posiciones: La estrategia cierra automáticamente todas las posiciones en un momento específico cada día de negociación, evitando los riesgos de la noche a la mañana.

Riesgos estratégicos

  1. Optimización de parámetros: el rendimiento de la estrategia puede ser sensible a los parámetros de la media móvil del período, lo que requiere una optimización para diferentes mercados e instrumentos.

  2. Mercados agitados: en condiciones de mercado agitadas, las señales cruzadas frecuentes pueden conducir a un rendimiento de la estrategia subóptimo.

  3. Riesgo de deslizamiento: durante la alta volatilidad del mercado, es posible que los niveles de stop-gain y stop-loss de punto fijo no se ejecuten según lo previsto, lo que resulta en un riesgo de deslizamiento.

Direcciones para la optimización de la estrategia

  1. Las operaciones de compensación de pérdidas y ganancias se realizarán de forma simultánea y sin interrupción.

  2. Filtros de tendencia: Incorpore indicadores técnicos adicionales, como el ADX, para confirmar la fuerza de la tendencia y filtrar señales falsas en mercados agitados.

  3. Adaptación a múltiples instrumentos: perfeccionar la estrategia para adaptarse a los diferentes instrumentos de futuros y características del mercado.

  4. Gestión de fondos: introducir normas de gestión de fondos más sofisticadas, como el tamaño de las posiciones y el control de riesgos, para mejorar la solidez de la estrategia.

Resumen de las actividades

La Estrategia de Tráfico de Tendencia de Promedio Movente Múltiple es una estrategia de seguimiento de tendencias simple y fácil de entender que captura las tendencias al alza del mercado mediante el análisis de la posición de precios en relación con los promedios móviles de diferentes períodos. La estrategia incorpora niveles de stop-gain y stop-loss de punto fijo y cierra automáticamente todas las posiciones en un momento específico cada día para gestionar el riesgo. Sin embargo, la estrategia puede tener un rendimiento inferior en mercados agitados y se enfrenta a desafíos como la optimización de parámetros y el riesgo de deslizamiento. Las optimizaciones futuras pueden centrarse en niveles dinámicos de stop-gain y stop-loss, filtros de tendencia, adaptación multi-instrumental y gestión de dinero para mejorar aún más la robustez y adaptabilidad de la estrategia.


/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Médias Móveis de MarcosJR", overlay=true)

// Inputs para data inicial e final
start_year = input.int(2020, title="Ano Inicial")
start_month = input.int(1, title="Mês Inicial")
start_day = input.int(1, title="Dia Inicial")

end_year = input.int(2020, title="Ano Final")
end_month = input.int(12, title="Mês Final")
end_day = input.int(31, title="Dia Final")

// Convertendo dia, mês e ano para timestamp
start_date = timestamp(start_year, start_month, start_day, 00, 00)
end_date = timestamp(end_year, end_month, end_day, 23, 59)

// Condição para verificar se a data está dentro do intervalo especificado
date_within_range = true

// Parâmetros para os períodos das médias móveis
ma_short_period = input.int(9, title="MA Curta")
ma_medium_period = input.int(21, title="MA Média")
ma_long_period = input.int(200, title="MA Longa")

// Definindo médias móveis
ma_short = ta.sma(close, ma_short_period)
ma_medium = ta.sma(close, ma_medium_period)
ma_long = ta.sma(close, ma_long_period)

// Plotando as médias móveis no gráfico com espessura aumentada
plot(ma_short, color=color.blue, title="MA Curta", linewidth=2)
plot(ma_medium, color=color.orange, title="MA Média", linewidth=2)
plot(ma_long, color=color.red, title="MA Longa", linewidth=2)

// Verificando se o preço está acima das médias móveis
above_ma_long = close > ma_long
above_ma_medium = close > ma_medium

// Verificando se o preço tocou na média móvel curta
touch_ma_short = ta.crossover(close, ma_short)

// Condições de compra
buy_condition = date_within_range and above_ma_long and above_ma_medium and touch_ma_short

// Sinais de entrada e saída de compra
var float entry_price = na
if (buy_condition and strategy.opentrades == 0) // Verifica se não há operações em andamento
    entry_price := close // Define o preço de entrada ao comprar

// Parâmetros para o tamanho do stop gain e stop loss em pontos
stop_gain_points = input.int(100, title="Stop Gain (pontos)", minval=1)
stop_loss_points = input.int(100, title="Stop Loss (pontos)", minval=1)

// Calcular o preço de saída alvo (Stop Gain) e de stop loss
target_price = entry_price + stop_gain_points * syminfo.mintick
stop_loss_price = entry_price - stop_loss_points * syminfo.mintick

// Sair da operação de compra quando o preço atingir o stop gain ou stop loss
if (strategy.position_size > 0)
    strategy.exit("Venda", "Compra", limit=target_price, stop=stop_loss_price)

// Sinais de entrada de compra
if (buy_condition and strategy.opentrades == 0) // Verifica se não há operações em andamento
    strategy.entry("Compra", strategy.long)

// Plotando setas de compra
plotshape(series=buy_condition, title="Sinal de Compra", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)

// Função para verificar se é 17:00 do mesmo dia
is_17_oclock_same_day = hour == 17 and minute == 0 and hour[1] < 17

// Sair de todas as operações às 17:00 do mesmo dia
if (is_17_oclock_same_day)
    strategy.close_all()


Relacionados

Más.