MACD combinado con la estrategia de seguimiento de la tendencia de la acción del precio de Albrooks

MACD SMA PA RR SL TP
Fecha de creación: 2025-02-19 17:36:15 Última modificación: 2025-02-19 17:36:15
Copiar: 0 Número de Visitas: 452
2
Seguir
319
Seguidores

MACD combinado con la estrategia de seguimiento de la tendencia de la acción del precio de Albrooks MACD combinado con la estrategia de seguimiento de la tendencia de la acción del precio de Albrooks

Descripción general

La estrategia es un sistema de trading de seguimiento de tendencias basado en la teoría del comportamiento de precios de Albrooks y en el indicador MACD. Identifica las tendencias del mercado mediante la combinación de las medias móviles (SMA) y el indicador MACD, y realiza operaciones en el momento adecuado. La estrategia utiliza un índice de ganancias y riesgos fijos para administrar los niveles de pérdidas y paradas de cada transacción y lograr un control efectivo del riesgo.

Principio de estrategia

La lógica central de la estrategia incluye los siguientes elementos clave:

  1. Determinación de tendencia: utiliza una media móvil simple (SMA) como referencia para determinar la tendencia, cuando el precio está por encima de la SMA se determina como una tendencia alcista y, por el contrario, como una tendencia descendente.
  2. Señales de entrada:
    • Multicondicionamiento: el precio está por encima de la SMA, la línea MACD es mayor que 0 y atraviesa la línea de señal
    • Condición de vacío: el precio está por debajo de la SMA, la línea MACD es menor que 0 y baja por la línea de señal
  3. Gestión de riesgos:
    • El uso de un porcentaje fijo como zona de amortización
    • Ratio de riesgo-beneficio basado en el cálculo de la posición de parada
  4. Mecanismo de salida: cuando la señal de compra o venta desaparece, la posición automáticamente cerrada ya está en poder

Ventajas estratégicas

  1. La fiabilidad del seguimiento de tendencias: la combinación de comportamiento de precios y indicadores técnicos mejora la precisión de la determinación de tendencias
  2. La ciencia de los controles de riesgo: administrar cada transacción con una relación de riesgo/beneficio fija
  3. Integridad de la confirmación de señales: confirmación de múltiples condiciones para reducir las señales falsas
  4. Alto grado de automatización: incluye mecanismos completos de entrada, salida y gestión de riesgos
  5. Buena visualización: ofrece una clara visualización de las posiciones de soporte y resistencia

Riesgo estratégico

  1. Riesgo de reversión de la tendencia: puede generar una serie de falsas señales en los puntos de cambio de tendencia
  2. Riesgo de retraso: las medias móviles y el MACD tienen cierto retraso
  3. Sensibilidad de parámetros: los efectos de la política son sensibles a la configuración de los parámetros
  4. Dependencia del entorno del mercado: puede generar más pérdidas en mercados convulsionados

Dirección de optimización de la estrategia

  1. Filtración de señales: se puede agregar un indicador de volumen de tráfico o fluctuación para filtrar las señales
  2. Parámetros dinámicos: cambiar el riesgo-beneficio fijo por un parámetro dinámico basado en la volatilidad del mercado
  3. Filtración de tiempo: aumentar los límites de la ventana de tiempo de negociación para evitar el comercio en períodos de tiempo inadecuados
  4. Aumentar los indicadores de sentimiento del mercado: introducir indicadores de sentimiento del mercado para ayudar a juzgar la fortaleza de las tendencias

Resumir

Es un sistema de negociación completo que combina la teoría clásica del comportamiento de los precios con indicadores técnicos. La estrategia logra un efecto de negociación relativamente sólido a través de un mecanismo de confirmación de señales estricto y un método de gestión de riesgos. Aunque existen algunos riesgos inherentes, la estabilidad y la rentabilidad de la estrategia se pueden mejorar aún más mediante la orientación de optimización sugerida.

Código Fuente de la Estrategia
/*backtest
start: 2024-11-15 00:00:00
end: 2025-02-18 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/

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

//@version=6
strategy(title="Al Brooks Price Action with MACD Signals", shorttitle="Al Brooks PA + MACD", overlay=true)

// Inputs
length = input.int(52, title="Moving Average Length", minval=1)
riskRewardRatio = input.float(2.0, title="Risk/Reward Ratio", minval=1.0)
stopLossBuffer = input.float(0.01, title="Stop Loss Buffer (in %)", minval=0.001)
candleType = input.string("Close", title="Candle Type", options=["Close", "Open"])

// Indicators
sma = ta.sma(close, length)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
price = candleType == "Close" ? close : open

// Trend Conditions
uptrend = price > sma
downtrend = price < sma

// Buy/Sell Signals
buySignal = price > sma and macdLine > 0 and macdLine > signalLine
sellSignal = price < sma and macdLine < 0 and macdLine < signalLine

// Trade Execution
if (buySignal)
    longStopLoss = close * (1 - stopLossBuffer)
    longTakeProfit = close + (close - longStopLoss) * riskRewardRatio
    strategy.entry("Buy", strategy.long)
    strategy.exit("Take Profit", "Buy", limit=longTakeProfit, stop=longStopLoss)

if (sellSignal)
    shortStopLoss = close * (1 + stopLossBuffer)
    shortTakeProfit = close - (shortStopLoss - close) * riskRewardRatio
    strategy.entry("Sell", strategy.short)
    strategy.exit("Take Profit", "Sell", limit=shortTakeProfit, stop=shortStopLoss)

// Plot Signals
plotarrow(buySignal[2] ? 1 : na, colorup=color.new(color.green, 50), title="Buy Signal Arrow", offset=-1)
plotarrow(sellSignal[2] ? -1 : na, colordown=color.new(color.red, 50), title="Sell Signal Arrow", offset=-1)

// Close Positions
if (not buySignal and not sellSignal)
    strategy.close("Sell")
    strategy.close("Buy")

// Support and Resistance
support = ta.lowest(low, length)
resistance = ta.highest(high, length)
plot(support, title="Support", color=color.green, linewidth=1, style=plot.style_stepline)
plot(resistance, title="Resistance", color=color.red, linewidth=1, style=plot.style_stepline)
plot(sma, title="SMA", color=color.blue, linewidth=2)

// Alerts
alertcondition(buySignal[2], title="Buy Alert", message="Buy Signal Triggered")
alertcondition(sellSignal[2], title="Sell Alert", message="Sell Signal Triggered")