Esta estrategia utiliza la pendiente de regresión lineal para identificar diferentes regímenes de mercado (bullish o bearish). Mediante el cálculo de la pendiente de regresión lineal de los precios de cierre durante un período definido, mide la dirección y la fuerza de la tendencia del mercado. Cuando la pendiente está por encima de un cierto umbral, el mercado se considera alcista, y la estrategia entra en una posición larga. Cuando la pendiente está por debajo de un umbral negativo, el mercado se considera bajista, y la estrategia entra en una posición corta. La estrategia cierra posiciones cuando el precio cruza el promedio móvil simple (SMA), lo que indica una posible inversión o cambio en la tendencia.
El principio básico de esta estrategia es utilizar la pendiente de la regresión lineal para identificar los regímenes del mercado. Al realizar la regresión lineal en los precios de cierre durante un período específico, se obtiene una línea de mejor ajuste. La pendiente de esta línea refleja la dirección general de la tendencia y la fuerza de los precios durante ese período. Una pendiente positiva indica una tendencia ascendente, con una pendiente más grande que indica una tendencia alcista más fuerte. Una pendiente negativa indica una tendencia descendente, con una pendiente más pequeña que indica una tendencia descendente más fuerte. Al establecer umbrales de pendiente, la estrategia determina si el mercado es alcista o bajista y toma las decisiones comerciales correspondientes.
La Estrategia Dinámica de Identificación del Régimen de Mercado basada en la pendiente de regresión lineal determina los regímenes de mercado mediante el cálculo de la pendiente de regresión lineal de los precios y toma las decisiones comerciales correspondientes. La estrategia tiene una lógica clara, cálculos simples y puede capturar eficazmente las principales tendencias del mercado. Sin embargo, puede generar operaciones frecuentes en mercados agitados y es sensible a la selección de parámetros. A través de la optimización de parámetros, el filtrado de tendencias, el stop loss y el take profit y el análisis de múltiples marcos de tiempo, la estabilidad y la rentabilidad de la estrategia pueden mejorarse aún más.
/*backtest start: 2023-05-22 00:00:00 end: 2024-05-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"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/ // © tmalvao //@version=5 strategy("Minha estratégia", overlay=true, margin_long=100, margin_short=100) // Função para calcular o slope (inclinação) com base na média móvel simples (SMA) slope_length = input(20, title="Slope Length") sma_length = input(50, title="SMA Length") slope_threshold = input.float(0.1, title="Slope Threshold") sma = ta.sma(close, sma_length) // Calculando o slope (inclinação) var float slope = na if (not na(close[slope_length - 1])) slope := (close - close[slope_length]) / slope_length // Identificação dos regimes de mercado com base no slope bullish_market = slope > slope_threshold bearish_market = slope < -slope_threshold // Condições de entrada e saída para mercados bullish e bearish if (bullish_market) strategy.entry("Long", strategy.long) if (bearish_market) strategy.entry("Short", strategy.short) // Saída das posições exit_condition = ta.crossover(close, sma) or ta.crossunder(close, sma) if (exit_condition) strategy.close("Long") strategy.close("Short") // Exibir a inclinação em uma janela separada slope_plot = plot(slope, title="Slope", color=color.blue) hline(0, "Zero Line", color=color.gray)