La DCA est une stratégie de trading quantitative basée sur le croisement de deux moyennes mobiles et de la Dollar Cost Averaging (DCA). La stratégie utilise deux moyennes mobiles simples (SMA) avec des périodes différentes comme signaux d'achat et de vente. Lorsque la SMA rapide traverse au-dessus de la SMA lente, un signal d'achat est généré, et lorsque la SMA rapide traverse en dessous de la SMA lente, un signal de vente est généré.
La stratégie de trading de la double moyenne mobile capture les tendances du marché grâce à des croisements de moyenne mobile doubles et réduit les coûts et les risques d'achat en utilisant la méthode DCA. La stratégie est simple, largement applicable, mais nécessite une attention à l'optimisation des paramètres et au contrôle des risques dans les applications pratiques. En introduisant d'autres indicateurs techniques, en optimisant les paramètres DCA et en incorporant des mécanismes de stop-loss et de take-profit, les performances et la stabilité de la stratégie peuvent être encore améliorées.
/*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")