
Strategi ini adalah strategi mengikut trend. Strategi ini membolehkan anda mengukur jumlah pembelian dan penjualan emas dengan menggunakan indikator kuantiti bersih yang disesuaikan.
Logik teras strategi adalah untuk mengira jumlah bersih yang disesuaikan (NV) indikator. Indikator NV menilai arah perubahan harga dengan mengambil jumlah dagangan pada hari itu jika positif, jika negatif maka mengambil nilai negatif dagangan pada hari itu, dan jika tidak ada perubahan maka mengambil 0 . Dengan demikian, hubungan antara perubahan harga dan jumlah dagangan dapat dilihat dengan lebih jelas.
Selepas itu, strategi mengira purata bergerak sederhana 3 hari untuk penunjuk NV, sebagai garis silang emas dan garis silang mati. Apabila penunjuk NV menembusi garis silang emas dari bawah ke atas, buat lebih banyak; apabila NV menembusi garis silang mati dari atas ke bawah, buat kosong.
Selain itu, strategi ini juga menetapkan parameter permulaan dan berhenti untuk mengawal masa perdagangan.
Kelebihan terbesar strategi ini adalah strategi yang mudah difahami, mudah difahami, parameter yang fleksibel, jenis perdagangan yang boleh disesuaikan, masa perdagangan, dan lain-lain. Selain itu, strategi ini adalah strategi mengikut trend, yang dapat menangkap trend harga dengan berkesan, mengurangkan frekuensi perdagangan, dan memperoleh kadar keuntungan yang lebih tinggi.
Strategi ini mempunyai risiko utama:
Jika anda mengikuti strategi, anda tidak dapat bertindak balas terhadap perubahan harga dalam masa yang tepat. Anda mungkin terlepas beberapa peluang perdagangan atau tidak dapat menghentikan kerugian tepat pada masanya.
Persaingan kuantitatif emas mempunyai kemunduran tertentu, yang boleh menyebabkan kemasukan terlambat dan meningkatkan kerugian.
Ia tidak dapat menyaring bunyi pasaran dengan berkesan, dan ia mudah dibelenggu.
Anda boleh menggunakan purata bergerak dinamik untuk mengurangkan risiko anda dengan menggunakan penapisan indikator lain.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Tambah strategi hentikan kerugian, mengawal kerugian tunggal dengan menggunakan hentikan bergerak, hentikan semalam.
Menambah penapis petunjuk, menggunakan MACD, KDJ dan lain-lain petunjuk penapis isyarat kesalahan, meningkatkan kestabilan strategi.
Pengoptimuman parameter, mencari kombinasi parameter yang optimum melalui algoritma genetik, rantaian Markov dan lain-lain.
Kombinasi strategi, dengan gabungan strategi lain yang tidak berkaitan, dapat menyebarkan risiko lebih jauh dan meningkatkan kadar pulangan keseluruhan.
Strategi ini mewujudkan trend yang mudah dan berkesan dengan kuantiti emas yang bersalin, walaupun terdapat beberapa keterbelakangan, tetapi parameternya fleksibel dan mudah difahami, merupakan strategi yang sesuai untuk amalan pemula. Dengan pengoptimuman berterusan, anda boleh meningkatkan kesan strategi secara beransur-ansur dan mengurangkan risiko.
/*backtest
start: 2023-11-14 00:00:00
end: 2023-11-15 03:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="@DankCoins - Customized Net Volume")
src = input(defval = close, title = "VA Source")
nv = change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume
// Inputs //
VHigh = input(defval = 50, title = "VHigh Amount")
VLow = input(defval = -50, title = "VLow Amount")
// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2018, title = "From Year", minval = 2012)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2012)
MAV1 = sma(volume, 3)
MAV2 = -sma(volume, 3)
enterShort = crossunder(nv, MAV1)
exitShort = crossunder(nv, MAV2)
enterLong = crossover(nv, MAV2)
exitLong = crossover(nv, MAV1)
// Time Function
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => time >= start and time <= finish ? true : false // create function "within window of time"
strategy.entry(id="Long Entry", long=true, when=enterLong and window())
strategy.entry(id="Short Entry", long=false, when=enterShort and window())
strategy.exit("Exit Long", from_entry = "Long Entry", when=exitLong and window())
strategy.exit("Exit Short", from_entry = "Short Entry", when=exitShort and window())
// Plot
plot(nv, color=blue, title="NV")
plot(VHigh, color=red)
plot(VLow, color=red)
plot(MAV1, color=green)
plot(MAV2, color=green)