
Strategi ini didasarkan pada indikator-indikator yang dapat disesuaikan, dan memungkinkan pelacakan tren dengan cara menghitung arah tren harga dengan penjumlahan jarak harga dengan rata-rata bergerak.
Strategi ini menggunakan indikator kustom untuk melakukan penjumlahan jarak harga dengan moving average, dan secara spesifik diimplementasikan sebagai berikut:
Perhitungan harga relatif terhadap jarak k = close-sma ((close 200) dari rata-rata bergerak sederhana dengan panjang 200
Definisi siklus akumulasi s=29, dengan nilai k dalam siklus s terbaru dijumlahkan: sum = 0, for i = 0 to s, sum := sum + k[i]
Ketika sum>0 menghasilkan sinyal do multiply, ketika sum menghasilkan sinyal do blank
Ketika masuk untuk melakukan posisi multi, jika sum<0 maka posisi kosong; ketika masuk untuk melakukan posisi short, jika sum>0 maka posisi kosong
Strategi ini menentukan arah tren harga secara keseluruhan dengan melacak jumlah positif dan negatif dari jarak harga dengan rata-rata bergerak. Bila terintegrasi dan positif, harga dianggap sedang dalam tren naik, dan harus memegang kepala kosong bila terintegrasi dan negatif, harga dianggap sedang dalam tren turun.
Menggunakan indikator indikator khusus untuk menentukan arah tren harga secara efektif
Menggunakan pemikiran integratif untuk memperpanjang jarak antara harga dan rata-rata bergerak, dapat meningkatkan akurasi penilaian tren
Logika yang relatif sederhana, mudah dipahami, dan mudah dioptimalkan
Fleksibilitas dalam penyesuaian parameter siklus integrasi untuk mengoptimalkan sensitivitas integrator dalam menentukan tren
Pelacakan baik, pendapatan stabil, dan dapat diterapkan
Siklus integrasi yang tidak tepat dapat menyebabkan reaksi integrator yang tidak sensitif, kehilangan titik balik tren
Penetapan panjang rata-rata bergerak yang tidak tepat dapat menyebabkan integrator salah menilai tren harga
Peristiwa besar yang tiba-tiba menyebabkan perubahan harga yang drastis, yang dapat menyebabkan indikator menghasilkan sinyal yang salah
Pemilihan varietas perdagangan yang tidak tepat, seperti memilih varietas yang terlalu berfluktuasi, dapat membuat pengintegrasi tidak bekerja dengan baik
Solusi untuk menghadapi risiko:
Mengoptimalkan parameter siklus integrasi untuk membuat integrator lebih sensitif terhadap perubahan tren
Uji efek dari moving averages dengan panjang yang berbeda, pilih panjang yang efektif untuk menentukan tren
Menutup strategi sebelum peristiwa besar untuk menghindari sinyal salah dari perubahan harga yang besar
Memilih varietas perdagangan dengan volatilitas rendah membuat pengintegrasi lebih efektif
Anda dapat mempertimbangkan untuk menambahkan indikator tambahan seperti RSI dan lain-lain berdasarkan faktor integrasi untuk membuat penilaian komprehensif.
Berbagai jenis rata-rata bergerak dapat dipelajari untuk mengintegrasikan efek dari jarak harga
Anda dapat mencoba mengoptimalkan parameter siklus integrasi secara otomatis agar dapat beradaptasi dengan berbagai jenis transaksi
Anda dapat menambahkan indikator volume transaksi untuk menghindari kesalahan sinyal dari integrator saat harga bergejolak
Parameter integrator dapat dioptimalkan secara otomatis melalui metode seperti pembelajaran mesin untuk membuat strategi lebih robust
Strategi ini menggunakan indikator khusus untuk menentukan arah tren harga, dan menggunakan metode untuk mengamati tren secara efektif. Logika strategi sederhana dan jelas, kinerja yang baik. Strategi ini dapat ditingkatkan dengan menyesuaikan parameter indikator, menambahkan indikator tambahan, dan optimasi otomatis. Secara keseluruhan, strategi ini dapat menjadi strategi pelacakan tren kuantitatif yang dapat diterapkan secara praktis.
/*backtest
start: 2023-10-09 00:00:00
end: 2023-10-16 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Indicator Integrator Strat",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,currency="USD",initial_capital=100, overlay=true)
l = input(defval=170,title="Length for indicator")
s = input(title="Length of summation",defval=29)
a= sma(close,l)
r=roc(close,l)
k=close-a
sum = 0
for i = 0 to s
sum := sum + k[i]
plot(a,color=yellow,linewidth=2,transp=0)
//bc = iff( sum > 0, white, teal)
//plot(sum,color=bc, transp=20, linewidth=3,style=columns)
//plot(sma(sum,3),color=white)
//hline(0)
inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0)
inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0)
inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)
useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na
useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na
useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na
useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na
longCondition = sum>0
exitlong = sum<0
shortCondition = sum<0
exitshort = sum>0
strategy.entry(id = "Long", long=true, when = longCondition)
strategy.close(id = "Long", when = exitlong)
strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitlong)
strategy.entry(id = "Short", long=false, when = shortCondition)
strategy.close(id = "Short", when = exitshort)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitshort)