
Strategi kuantitatif silang emas dua hala adalah strategi perdagangan kuantitatif indikator teknikal. Ia membuat perdagangan berisiko rendah dengan mengira rata-rata dua kitaran yang berbeza, menilai trend, dan melakukan perdagangan berisiko rendah. Apabila garis purata kitaran pendek melintasi garis purata kitaran yang lebih lama, ia menghasilkan isyarat silang emas, dan lebih banyak; apabila garis purata kitaran pendek melintasi garis purata kitaran yang lebih lama, ia menghasilkan isyarat silang mati, dan kosong.
Strategi kuantitatif silang emas dua rata-rata adalah berdasarkan teori rata-rata. Rata-rata dapat memfilter bunyi pasaran dengan berkesan, menunjukkan arah trend jangka panjang. Apabila melintasi rata-rata jangka pendek pada rata-rata jangka pendek, pergerakan berbalik dari bawah ke atas, merupakan isyarat membeli; Apabila melintasi rata-rata jangka pendek di bawah rata-rata panjang, pergerakan berbalik dari atas ke bawah, adalah isyarat menjual.
Strategi ini adalah berdasarkan kod logik:
Prinsipnya ialah:
Mengambil keputusan mengenai titik pembalikan trend jangka pendek melalui penyeberangan dua garis rata, menetapkan penapis parameter untuk mengelakkan perdagangan yang salah. Strategi ini dapat menangkap peluang pembalikan trend yang berkesan setelah penyesuaian jangka pendek, faktor keuntungan yang lebih tinggi.
Strategi kuantifikasi silang emas dua hala mempunyai kelebihan berikut:
Strategi kuantitatif silang emas dua hala juga mempunyai risiko berikut:
Anda boleh mengurangkan risiko dengan:
Strategi kuantifikasi silang emas dua hala juga boleh dioptimumkan dari aspek berikut:
Optimumkan parameter: Sesuaikan parameter garis purata dan parameter penunjuk laluan, pilih kombinasi parameter yang optimum. Pengoptimuman tambahan boleh dilakukan menggunakan alat seperti algoritma genetik.
Pemilihan Jenis: Mengikut ciri-ciri pelbagai jenis, pilih parameter garis purata yang paling sesuai. Contohnya, varieti yang berkaitan dengan minat menetapkan garis purata yang lebih pendek.
Pengoptimuman strategi hentikan kerugian: Setting float Dynamic Stop, Tracking Stop dan lain-lain untuk mengelakkan penghantaran balik Stop.
Pengoptimuman operasi serentak: Menggabungkan penunjuk trend, mengambil operasi arah trend, mengelakkan dagangan berlawanan arah.
Pembelajaran Mesin GabunganPenggunaan model pembelajaran mendalam seperti LSTM, RNN membantu menilai kualiti isyarat dan menentukan masa kemasukan.
Strategi kuantifikasi silang emas dua hala dengan prinsip simpang silang yang sederhana untuk menentukan trend harga jangka pendek. Menetapkan penunjuk saluran yang berkesan menapis isyarat yang salah. Logik strategi mudah dilaksanakan, parameter disesuaikan dengan fleksibel, pengujian dalam talian lebih baik, merupakan strategi kuantifikasi yang disyorkan.
/*backtest
start: 2023-12-24 00:00:00
end: 2023-12-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// Indicator420 by SeaSide420
strategy("Indicator420 strategy", overlay=true)
q=input(title="HullMA",defval=420)
z=input(title="HullMA cross",defval=3)
a=input(title="VWMA",defval=14)
rvwma=vwma(close,round(a))
rvwma2=vwma(close,round(a*2))
rvwma3=vwma(close,round(a*3))
n2ma=2*wma(close,round(z/2))
nma=wma(close,z)
diff=n2ma-nma
sqn=round(sqrt(z))
n2ma1=2*wma(close[1],round(z/2))
nma1=wma(close[1],z)
diff1=n2ma1-nma1
sqn1=round(sqrt(z))
n2ma2=2*wma(close[2],round(q/2))
nma2=wma(close[2],q)
diff2=n2ma2-nma2
sqn2=round(sqrt(q))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
n3=wma(diff2,sqn)
b=n1>n2?red:lime
c=n1>n2?green:red
d=n3>rvwma3?red:green
e=rvwma2>rvwma3?green:red
f=n1>n2?red:green
//plot(rvwma3, color=e, linewidth=1)
plot(cross(rvwma, rvwma2) ? rvwma : na, style = line,color=e, linewidth = 1)
plot(cross(n1, n2) ? n1 : na, style = line,color=b, linewidth = 3)
plot(cross(n1, n2) ? n1 : na, style = circles,color=c, linewidth = 4)
closelong = n1<n2
if (closelong)
strategy.close("Long")
closeshort = n1>n2
if (closeshort)
strategy.close("Short")
longCondition = n1>n2 and strategy.opentrades<1 and n1<rvwma3
if (longCondition)
strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and strategy.opentrades<1 and n1>rvwma3
if (shortCondition)
strategy.entry("Short",strategy.short)