La estrategia de negociación de la tortuga de media móvil doble DCA es una estrategia de negociación cuantitativa basada en el cruce de dos medias móviles y el promedio de costo en dólares (DCA). La estrategia utiliza dos medias móviles simples (SMA) con períodos diferentes como señales de compra y venta. Cuando la SMA rápida cruza por encima de la SMA lenta, se genera una señal de compra, y cuando la SMA rápida cruza por debajo de la SMA lenta, se genera una señal de venta. La estrategia tiene como objetivo capturar las tendencias del mercado a medio y largo plazo al tiempo que reduce los riesgos asociados con la volatilidad del mercado a través del uso de DCA.
La estrategia de negociación de la tortuga de media móvil doble captura las tendencias del mercado a través de cruces de media móvil doble y reduce los costos y riesgos de compra utilizando el método DCA. La estrategia es simple, ampliamente aplicable, pero requiere atención a la optimización de parámetros y control de riesgos en aplicaciones prácticas. Al introducir otros indicadores técnicos, optimizar los parámetros de DCA e incorporar mecanismos de stop-loss y take-profit, el rendimiento y la estabilidad de la estrategia pueden mejorarse aún más.
/*backtest start: 2024-04-21 00:00:00 end: 2024-04-28 00:00:00 period: 10m basePeriod: 1m 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/ // © loggolitasarim //@version=5 strategy("DCA YSMA HSMA Stratejisi", overlay=true, calc_on_every_tick=true) // Parametreler sma_fast = input(14, "Hızlı SMA Dönemi") sma_slow = input(28, "Yavaş SMA Dönemi") dca_amount = input(100, "DCA Miktarı") dca_interval = input(14, "DCA Aralığı (Gün)") // Hızlı ve yavaş SMA hesaplamaları fast_sma = ta.sma(close, sma_fast) slow_sma = ta.sma(close, sma_slow) // DCA hesaplamaları var float dca_average_price = na var int dca_count = na if (bar_index % dca_interval == 0) dca_count := nz(dca_count, 0) + 1 dca_average_price := nz(dca_average_price, close) * (dca_count - 1) + close dca_average_price /= dca_count // Alım ve satım sinyalleri longCondition = ta.crossover(fast_sma, slow_sma) shortCondition = ta.crossunder(fast_sma, slow_sma) if (longCondition) strategy.entry("Alım", strategy.long, qty=dca_amount) if (shortCondition) strategy.entry("Satım", strategy.short) // Grafik plot(fast_sma, "Hızlı SMA", color=color.blue) plot(slow_sma, "Yavaş SMA", color=color.red) // Uyarılar alertcondition(longCondition, "Alım Sinyali", "Alım Sinyali") alertcondition(shortCondition, "Satım Sinyali", "Satım Sinyali")