
Strategi perdagangan DCA adalah strategi perdagangan kuantitatif yang didasarkan pada crossover dua rata-rata dan DCA. Strategi ini menggunakan rata-rata bergerak sederhana dari dua periode yang berbeda sebagai sinyal jual beli, sambil menggunakan metode DCA untuk mengurangi biaya pembelian.
Strategi perdagangan DCA dua garis sejajar menangkap tren pasar melalui silang dua garis sejajar dan menggunakan metode DCA untuk mengurangi biaya dan risiko pembelian. Logika strategi ini sederhana dan luas, tetapi dalam aplikasi praktis perlu memperhatikan parameter optimasi dan risiko kontrol. Dengan memperkenalkan indikator teknis lainnya, mengoptimalkan parameter DCA, dan menambahkan mekanisme stop loss, kinerja dan stabilitas strategi dapat ditingkatkan lebih lanjut.
/*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")