
Sebuah strategi yang lebih umum adalah strategi pelacakan tren. Strategi ini menggunakan dua rata-rata yang berbeda periode untuk menilai tren pasar dan melakukan perdagangan berdasarkan persimpangan mereka. Secara khusus, ketika rata-rata periode pendek melewati rata-rata periode panjang, menghasilkan sinyal garpu emas, yang dianggap sebagai tren naik, dan dapat dibeli; ketika rata-rata periode pendek melewati rata-rata periode panjang, menghasilkan sinyal garpu mati, yang dianggap sebagai tren turun, dan dapat dijual.
Strategi ini terutama menggunakan EMA rata-rata 6 siklus, 14 siklus, 25 siklus, dan 80 siklus. Strategi ini pertama-tama menghitung nilai empat garis rata-rata ini, dan kemudian menilai pergerakan pasar berdasarkan persilangan 6 siklus EMA dengan tiga garis rata-rata lainnya.
Ketika 6 siklus EMA melewati 14 siklus atau 25 siklus EMA, dan 6 siklus EMA lebih tinggi dari 80 siklus EMA, menghasilkan sinyal beli. Ini berarti bahwa rata-rata jangka pendek sedang menembus rata-rata jangka panjang dan mungkin masuk ke tren naik, sehingga dapat dipertimbangkan untuk membeli.
Sebaliknya, ketika 6 siklus EMA melintasi 14 siklus atau 25 siklus EMA, dan di bawah 80 siklus EMA, menghasilkan sinyal jual. Ini berarti bahwa garis rata-rata jangka pendek telah ditembus oleh garis rata-rata jangka menengah dan panjang, dan harga mungkin masuk ke tren turun, sehingga dapat dipertimbangkan untuk menjual.
Setelah sinyal perdagangan muncul, strategi akan membuka posisi untuk membeli atau menjual. Selain itu, strategi juga mengatur logika stop loss, ketika kerugian melebihi proporsi stop loss yang ditetapkan, strategi akan keluar dari posisi untuk mengendalikan risiko.
Strategi ini memiliki keuntungan sebagai berikut:
Trend penilaian menggunakan rata-rata garis silang adalah indikator teknis yang lebih matang dan dapat diandalkan.
Pada saat yang sama, kombinasi dengan rata-rata multi-siklus, dapat mengurangi probabilitas kesalahan penilaian. Rata-rata rata-rata 6 siklus bertanggung jawab untuk menghasilkan sinyal perdagangan, rata-rata rata-rata 14 siklus, rata-rata rata-rata 25 siklus sebagai konfirmasi, rata-rata rata-rata 80 siklus menilai tren keseluruhan.
Stop loss yang ditetapkan untuk mengendalikan risiko kerugian dapat secara efektif melindungi dana.
Logika strategi sederhana dan jelas, mudah dipahami dan diverifikasi.
Periode rata-rata dapat disesuaikan dengan kondisi pasar, dan parameter strategi dapat dioptimalkan.
Strategi ini juga memiliki beberapa risiko:
Dalam situasi yang bergejolak, garis rata-rata dapat menghasilkan beberapa kali silang yang tidak efektif, yang menyebabkan terlalu banyak transaksi yang tidak efektif. Anda dapat menyesuaikan siklus optimasi garis rata-rata dengan tepat.
Stop loss tetap mungkin terlalu mekanis dan dapat diubah menjadi stop loss tracking atau stop loss dinamis.
Kecepatan tinggi menyebabkan risiko breakage stop loss. Pengadilan bisa memutuskan untuk melewati stop loss dengan menambahkan beberapa syarat.
Tidak dapat menanggapi fluktuasi harga jangka pendek. Dapat digabungkan dengan indikator lain untuk memfilter sinyal perdagangan.
Ruang untuk optimasi parameter terbatas. Dapat mencoba untuk memperbaiki menjadi rata-rata adaptif.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Uji kombinasi siklus rata-rata yang berbeda untuk menemukan parameter siklus yang lebih sensitif terhadap pasar.
Peningkatan mekanisme stop loss, menggunakan tracking stop loss atau stop loss dinamis, mengurangi probabilitas stop loss yang ditembus.
Menambahkan indikator lain untuk filter, seperti KDJ, MACD, dan lain-lain, untuk menghindari terlalu banyak perdagangan yang tidak valid dalam getaran.
Optimalkan kondisi masuk, tunggu garis sejajar sepenuhnya untuk masuk kembali, mengurangi sinyal palsu.
Menggunakan garis rata-rata adaptif, menyesuaikan parameter siklus garis rata-rata secara otomatis sesuai dengan fluktuasi pasar.
Mekanisme manajemen posisi baru, menyesuaikan posisi sesuai dengan kondisi pasar.
Menambahkan mekanisme penarikan diri.
Secara keseluruhan, strategi ini adalah strategi yang digunakan untuk menilai tren pasar dengan prinsip persilangan linier yang sederhana, mudah diimplementasikan, risiko dapat dikontrol, dan dapat digunakan untuk melacak tren jangka menengah dan panjang. Namun, strategi ini dapat dioptimalkan dengan ruang yang lebih besar, dapat ditingkatkan dari segi kondisi masuk, metode stop loss, penyaringan indikator, dan lain-lain, sehingga strategi lebih sesuai dengan lingkungan pasar. Secara keseluruhan, strategi ini adalah strategi yang mengikuti tren dasar, keuntungan dan risiko berada dalam jangkauan yang dapat dikontrol, layak untuk dipelajari dan dipraktekkan.
/*backtest
start: 2022-11-06 00:00:00
end: 2023-11-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = " bhramaji EMA Cross Strategy", shorttitle = "EMA Cross",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=21000,commission_value=.25,overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
StartYear = input(2018, "Backtest Start Year")
StartMonth = input(1, "Backtest Start Month")
StartDay = input(1, "Backtest Start Day")
UseStopLoss = input(true,"UseStopLoss")
stopLoss = input(20, title = "Stop loss percentage(0.1%)")
maSource = input(defval = close, title = "MA Source")
maLength6 = input(defval = 6, title = "MA Period 6", minval = 1)
maLength14 = input(defval = 14, title = "MA Period 14", minval = 1)
maLength25 = input(defval = 25, title = "MA Period 25", minval = 1)
maLength80 = input(defval = 80, title = "MA Period 80", minval = 1)
ma6 = ema(maSource, maLength6)
ma14 = ema(maSource, maLength14)
ma25 = ema(maSource, maLength25)
ma80 = ema(maSource, maLength80)
ma_6_plot = plot(ma6 , title = "MA 6", color = red, linewidth = 2, style = line, transp = 50)
ma14_plot = plot(ma14, title = "MA 14", color = green, linewidth = 2, style = line, transp = 50)
ma25_plot = plot(ma25, title = "MA 25", color = blue, linewidth = 2, style = line, transp = 50)
ma80_plot = plot(ma80, title = "MA 80", color = silver, linewidth = 2, style = line, transp = 50)
longEMA = (crossover(ma6, ma14) or crossover(ma6, ma25)) and (ma6>ma80)
exitLong = (crossunder(ma6, ma14) or crossunder(ma6, ma25))
shortEMA = (crossunder(ma6, ma14) or crossunder(ma6, ma25)) and (ma6< ma80)
exitShort =(crossover(ma6, ma14) or crossover(ma6, ma25))
if (longEMA)
strategy.entry("LongId", strategy.long)
if (shortEMA)
strategy.entry("ShortId", strategy.short)
if (UseStopLoss)
strategy.exit("StopLoss", "LongId", loss = close * stopLoss / 1000 / syminfo.mintick)
strategy.exit("StopLoss", "ShortId", loss = close * stopLoss / 1000 / syminfo.mintick)