
La estrategia se llama “Dynamic Double Exponential Moving Average (DEMA) ” y se basa en una estrategia de comercio cuantitativa basada en el DEMA. La estrategia calcula el índice de cambio del precio de una acción y luego realiza un proceso de doble índice de nivelación de sus valores absolutos y no absolutos para obtener el índice de fuerza real (True Strength Index, TSI). La estrategia genera señales de compra y venta en función del valor de TSI y su línea de señales.
El indicador central de la estrategia es el índice de fuerza real (TSI). La fórmula de cálculo del TSI es:
TSI = 100 * (PC1 / PC2)
La PC1 y la PC2 son, respectivamente, las medias dobles de la tasa de cambio de precios y las medias dobles de los valores absolutos de la tasa de cambio de precios. La medias dobles de la tasa de cambio de precios se calculan aplicando una media móvil de un período de tiempo a la tasa de cambio de precios, y luego aplicando otra media móvil de un período más corto a la media móvil de índice obtenida.
Después de calcular el valor de TSI, la estrategia también calcula la línea de señal del valor de TSI. La línea de señal se define como el promedio móvil indexado de un período determinado del valor de TSI. En el momento de la negociación real, la estrategia determina la tendencia del mercado y genera una señal de negociación observando la relación entre el valor de TSI y la línea de señal.
Otra característica de esta estrategia es que el tamaño de las operaciones se ajusta dinámicamente. En el código de la estrategia se establece un capital inicial y un porcentaje de la ventana de riesgo como parámetros de entrada. Estos dos parámetros se combinan con el precio de la acción en ese momento para calcular dinámicamente el número de operaciones o la ventana de riesgo por cada vez.
Las estrategias de movimiento de las medias móviles binarias dinámicas tienen varias ventajas:
Utiliza el indicador TSI, que aplica un doble deslizamiento del índice, lo que le permite una menor sensibilidad al ruido del mercado y una señal más precisa.
Se basa en un principio comprobado de que los indicadores cruzados y sus líneas de señales generan señales de negociación. Esto elimina muchas señales falsas.
La estrategia ajusta el tamaño de las posiciones en función de la dinámica del presupuesto de riesgo. Esto ayuda a evitar el exceso de comercio y la manipulación emocional.
Se aplica a los marcos horarios diarios y semanales, para el swing y el posicionamiento.
Debido a su lógica de entrada/salida simple, es fácil de implementar en robots y otros sistemas de transacción.
No hay muchos parámetros que necesiten ser ajustados, lo que hace que el sistema de optimización sea simple.
Estas ventajas en conjunto lo convierten en una estrategia de negociación potente y multifuncional para los comerciantes de acciones. El cuidado del manejo suave y la configuración del tamaño de la posición ayudan a evitar falsas señales y grandes pérdidas.
A pesar de las muchas ventajas de una estrategia de movimiento de la media dinámica binaria, también tiene algunos riesgos inherentes, como la mayoría de las estrategias de acciones:
Dado que el TSI y las líneas de señales se basan en datos históricos de precios, siempre existe el riesgo de señales erróneas, especialmente en situaciones de alta volatilidad del mercado.
Si el mercado oscila alrededor de la línea cero del índice TSI, puede haber un retroceso que puede causar pérdidas.
Si la tendencia continúa, el TSI podría invertir la tendencia prematuramente y perderse las ganancias.
Debido al efecto de la palanca, puede producirse una pérdida mayor que el límite establecido por los parámetros de riesgo.
Sin embargo, estos riesgos pueden mitigarse mediante la aplicación de aspectos como el tamaño de la posición, el stop loss y otras técnicas de gestión de riesgos. Además, los parámetros y filtros pueden optimizarse aún más para maximizar el rendimiento en diferentes condiciones de mercado.
Algunas ideas para optimizar esta estrategia incluyen:
Prueba diferentes combinaciones de parámetros de doble alisado para encontrar combinaciones que produzcan señales de negociación más precisas. Se pueden ajustar los parámetros de largo y corto período para optimizar.
Aumentar los filtros basados en la volatilidad, volumen de operaciones u otros indicadores para reducir las señales de operaciones innecesarias. Esto puede reducir la frecuencia de las operaciones y aumentar la rentabilidad de cada operación.
Aumentar la lógica de parada de pérdidas, como la parada de pérdidas cuando el valor de TSI cruza el eje cero, lo que reduce las pérdidas innecesarias.
Evaluar el desempeño de diferentes tipos de transacciones, como índices, commodities, etc., bajo la estrategia. Seleccionar el mejor tipo de transacción centralizada.
Filtrado preferencial de variedades de comercio. Por ejemplo, evaluar la liquidez de las variedades, los indicadores de volatilidad, seleccionar los parámetros indicadores de las variedades que tienen un rango más alto para el comercio.
Utilizando métodos de aprendizaje automático Cómo hacer un análisis hacia adelante Seleccionar la combinación de parámetros óptima. Esto reduce el sesgo de la selección manual y obtiene un parámetro mejor.
Utiliza conjuntos de parámetros múltiples y cambia de forma dinámica según el entorno del mercado. Por ejemplo, una combinación de parámetros más positiva puede usarse en un mercado alcista y una combinación más conservadora en un mercado bajista.
A través de la prueba y optimización de todos estos aspectos, se espera una mayor estabilidad y rentabilidad de la estrategia.
En general, esta estrategia se basa en las características de la suavización del doble índice del índice TSI y diseña un conjunto de estrategias de negociación de acciones relativamente estables y confiables. Mediante el ajuste dinámico del tamaño de la posición, se puede controlar eficazmente el nivel de riesgo general.
Por supuesto, al igual que la mayoría de las estrategias de trading cuantitativo, esta estrategia también tiene ciertas limitaciones, que se manifiestan principalmente en la vulnerabilidad a las fuertes fluctuaciones del mercado. Además, la selección de parámetros y las condiciones de filtración también requieren más pruebas y optimización para obtener una mayor adaptabilidad y rentabilidad en mercados complejos y cambiantes.
/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 1h
basePeriod: 15m
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/
// © shankardey7310
//@version=5
strategy("TSI STOCKS", shorttitle="TSI", overlay=true)
initialCapital = input(10000, title="Initial Capital")
riskPercent = input(1, title="Risk Percentage") / 100
longLength = input(12, title="Long Length")
shortLength = input(9, title="Short Length")
signalLength = input(12, title="Signal Length")
price = close
pc = ta.change(price)
double_smooth(src, long, short) =>
first_smooth = ta.ema(src, long)
ta.ema(first_smooth, short)
double_smoothed_pc = double_smooth(pc, longLength, shortLength)
double_smoothed_abs_pc = double_smooth(math.abs(pc), longLength, shortLength)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
tsi_signal = ta.ema(tsi_value, signalLength)
riskAmount = (initialCapital * riskPercent) / close
if (tsi_value > tsi_signal and tsi_value[1] <= tsi_signal[1])
strategy.entry("Long", strategy.long)
if (tsi_value < tsi_signal and tsi_value[1] >= tsi_signal[1])
strategy.close("Long")
plot(tsi_value, title="True Strength Index", color=#2962FF)
plot(tsi_signal, title="Signal", color=#E91E63)
hline(0, title="Zero", color=#787B86)