
Strategi skrip pin ini mengimplementasikan strategi biaya rata-rata harian pada platform TradingView, yang dikombinasikan dengan sinyal sentuh dari indikator EMA untuk menentukan titik masuk. Strategi ini mengikuti aturan investasi biaya rata-rata, dengan pembelian setiap hari dengan jumlah tetap untuk menyebarluaskan risiko.
Strategi ini memiliki beberapa fitur utama:
Hukum investasi biaya rata-rata harian
Indeks EMA menentukan titik masuk
Mekanisme Stop Loss Dinamis
Pembatasan posisi maksimum
Secara khusus, strategi ini menginvestasikan jumlah tetap setiap hari, dengan menghitung jumlah saham yang dapat dibeli berdasarkan harga penutupan hari itu. Atas dasar ini, jika harga penutupan hari itu melewati EMA hari ke-5, ke-10, ke-20 dan lain-lain, sinyal pembelian akan dipicu.
Strategi ini memiliki beberapa keuntungan:
Diversifikasi Investasi, Mengurangi Risiko Investasi Tunggal
EMA menggabungkan, menghindari koreksi jangka pendek
Stop loss dinamis, pengendalian kerugian
Pembatasan Posisi Maksimal, Mengontrol Risiko
Intuisi EMA menunjukkan bahwa penilaian yang mudah
Ketinggian yang dapat disesuaikan
Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan:
Risiko Sistematis Tidak Dapat Dihindari
Risiko dari investasi tetap
EMA tidak dapat bereaksi terhadap situasi ekstrem
Pembatasan posisi juga membatasi ruang untuk keuntungan.
Pengaturan titik tolak membutuhkan pengalaman dan keterampilan
Strategi ini juga memiliki ruang untuk optimalisasi lebih lanjut:
Peningkatan dan penyesuaian jumlah harian yang diinvestasikan
Tergabung dengan lebih banyak kriteria untuk masuk
Indeks Moving Average
Perubahan posisi maksimum secara dinamis
Penggunaan stop loss bertahap
Secara keseluruhan, strategi biaya rata-rata per hari ini menggabungkan sinyal sentuh EMA dan mewujudkan gagasan untuk berinvestasi dalam jumlah besar dalam jangka panjang. Dibandingkan dengan membuka posisi besar sekali, risiko dapat disebarkan dan menghindari perayaan di puncak.
/*backtest
start: 2024-01-08 00:00:00
end: 2024-01-15 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Daily DCA Strategy with Touching EMAs", overlay=true, pyramiding=10000)
// Customizable Parameters
daily_investment = input(50000, title="Daily Investment")
start_year = input(2022, title="Start Year")
start_month = input(1, title="Start Month")
start_day = input(1, title="Start Day")
end_year = input(2023, title="End Year")
end_month = input(12, title="End Month")
end_day = input(1, title="End Day")
trade_count_limit = input(10000, title="Pyramiding Limit")
enable_sell = input(true, title="Enable Sell")
start_date = timestamp(start_year, start_month, start_day)
var int trade_count = 0
// Calculate the number of shares to buy based on the current closing price
shares_to_buy = daily_investment / close
// Check if a new day has started and after the start date
isNewDay = dayofmonth != dayofmonth[1] and time >= start_date
// Buy conditions based on EMA crossovers
ema5_cross_above = crossover(close, ema(close, 5))
ema10_cross_above = crossover(close, ema(close, 10))
ema20_cross_above = crossover(close, ema(close, 20))
ema50_cross_above = crossover(close, ema(close, 50))
ema100_cross_above = crossover(close, ema(close, 100))
ema200_cross_above = crossover(close, ema(close, 200))
if isNewDay and (ema5_cross_above or ema10_cross_above or ema20_cross_above or ema50_cross_above or ema100_cross_above or ema200_cross_above) and trade_count < trade_count_limit
strategy.entry("Buy", strategy.long, qty=shares_to_buy)
trade_count := trade_count + 1
// Dynamic sell conditions (optional)
sell_condition = true
if enable_sell and sell_condition
strategy.close_all()
// EMA Ribbon for visualization
plot(ema(close, 5), color=color.red, title="EMA 5")
plot(ema(close, 10), color=color.orange, title="EMA 10")
plot(ema(close, 20), color=color.yellow, title="EMA 20")
plot(ema(close, 50), color=color.green, title="EMA 50")
plot(ema(close, 100), color=color.blue, title="EMA 100")
plot(ema(close, 200), color=color.purple, title="EMA 200")