Kami adalah tim yang telah berkomitmen untuk meneliti strategi perdagangan kuantitatif untuk waktu yang lama.
Tahun lalu, kami telah mencapai hasil yang sangat baik dalam Kompetisi Kuantitatif Tokeninsight.
Terima kasih kepada komunitas FMZ untuk menyediakan platform seperti itu. Untuk lebih mendukung pembangunan komunitas kuantitatif, konsep desain dan ide desain dari strategi ini sekarang dipublikasikan di sini. Saya harap Anda dapat belajar desain dan aplikasi perdagangan kuantitatif.
Inspirasi untuk sistem tingkat mengetik kuantitatif adalah terutama dari fisika
Definisi kecepatan dalam fisika adalah: jarak bergerak per satuan waktu. Jika Anda menganggap harga sebagai jarak, maka di pasar keuangan, definisi kecepatan adalah ukuran perubahan harga per satuan waktu.
Jika harga sangat berubah dalam satu unit waktu, pasar semacam itu biasanya disebut pasar cepat; jika perubahan harga dalam satu unit waktu kecil, pasar semacam itu disebut pasar lambat. Oleh karena itu, kecepatan adalah hukum alam yang mengintegrasikan waktu dan harga. Pemahaman yang mendalam tentang kecepatan dapat membantu kita memahami pasar secara lebih luas.
Jika tingkat meningkat, itu berarti bahwa energi meningkat dan dapat secara efektif memprediksi tren kenaikan pasar.
Jika tingkatnya turun, itu berarti kegagalan energi dan risiko kondisi pasar yang rata atau menurun dapat dirasakan.
Setiap transaksi menggunakan sejumlah lot tertentu untuk transaksi, sehingga disebut sistem perdagangan tingkat kuantitatif.
Harga tertinggi (HHV): Harga tertinggi yang dicapai dalam periode tertentu. Harga terendah (LLV): Harga terendah yang dicapai dalam periode tertentu. Moving Average (MA): Garis yang menghubungkan harga penutupan rata-rata periode tertentu. Kemiringan regresi (SLOPE): Kemiringan regresi linier dengan periode tertentu.
Rumus kemiringan persamaan linier OLS adalah sebagai berikut:
Rumus matematika sangat rumit, tapi platform FMZ sudah menulis rumus tata bahasa (SLOPE) dari bahasa M untuk kita.
Kita bisa melihat bahwa algoritma adalah sebagai berikut:
Prosesnya sedikit lebih rumit, tapi tidak semua orang harus memikirkannya.
len:=35;//Design cycles
hh^^HHV(H,len);//Take the highest price in a certain period
ll^^LLV(L,len);//Take the lowest price in a certain period
hl2^^(hh+ll)/2;//Average of highest price and lowest price
avg^^MA(hl2,5);//Calculate the moving average line of the average
ss:SLOPE(avg,len);//Calculate the regression slope of the moving average line
Melalui desain indikator, kita dapat melihat bahwa dalam grafik utama, kita memiliki titik tertinggi (garis kuning), titik terendah (garis hijau), rata-rata mereka (garis merah), dan rata-rata pergerakan harga halus dihitung oleh garis merah (garis ungu tebal)
Kemudian kita dapat menghitung kemiringan regresi ss dalam gambar dilampirkan, yang mewakili tingkat naik dan turun dari rata-rata bergerak.
Seperti yang dapat dilihat dari gambar di atas, anak panah hijau menunjukkan titik lentur di lereng terendah, dan anak panah oranye menunjukkan titik lentur di lereng tertinggi.
Reaksi di sepanjang grafik adalah pada garis k, dan melemahnya kenaikan dan melemahnya penurunan juga dapat dirasakan dengan jelas.
Jika Anda membeli dan menjual pada titik infleksi, Anda dapat secara efektif mengoperasikan perdagangan pada tahap awal, daripada mengejar kenaikan atau penurunan pada titik tinggi atau rendah.
Kemiringan naik berarti momentum pasar meningkat, yang mungkin berhenti turun atau mulai naik. Penurunan terus-menerus dari kemiringan berarti bahwa momentum pasar lemah, dan dapat berhenti naik atau mulai turun.
Desain dan ekspresi menggunakan bahasa M adalah sebagai berikut:
len:=35;//Design cycles
hh^^HHV(H,len);//Take the highest price in a certain period
ll^^LLV(L,len);//Take the lowest price in a certain period
hl2^^(hh+ll)/2;//Average of highest price and lowest price
avg^^MA(hl2,5);//Calculate the moving average line of the average
ss:SLOPE(avg,len);//Calculate the regression slope of the moving average line
ss<REF(ss,1),SPK;//When the slope becomes smaller, it indicates that the market momentum is weakened, close long positions and open short positions.
ss>REF(ss,1),BPK;//When the slope becomes larger, it indicates that the market momentum is enhanced, close short positions and open long positions.
AUTOFILTER;
Dengan cara ini, kami telah menyelesaikan desain algoritma ini, dan kemudian kami akan menggunakan sistem untuk backtest situasi selama satu tahun.
Subyeknya adalah kontrak triwulanan okex btc;
Periode backtest adalah dari 1 Januari 2019 hingga saat ini, dan periode waktu adalah 1 jam;
3 BTC untuk akun awal, biaya penanganan 0,05%;
Tetapkan jumlah tetap 200 lot per transaksi.
Hal ini dapat dilihat dari backtest bahwa pendapatan ini relatif lancar dan stabil.
Dalam backtest ini, 1261 transaksi dilakukan sepanjang tahun; Perkiraan pendapatan 4,68 mata uang kripto; Pendapatan tahunan sekitar 140%; Pendapatan maksimum adalah 14%; Rasio Sharpe adalah 0,117.
Klik untuk menyalin strategihttps://www.fmz.com/strategy/183416
Berbagi di atas adalah beberapa ide dan konten desain saya, berikut adalah seluruh kode bahasa M, Untuk referensi, studi dan penelitian Anda. Jika Anda perlu mencetak ulang, silakan sebutkan sumbernya. Terima kasih.
len:=35;//Design cycles
hh^^HHV(H,len);//Take the highest price in a certain period
ll^^LLV(L,len);//Take the lowest price in a certain period
hl2^^(hh+ll)/2;//Average of highest price and lowest price
avg^^MA(hl2,5);//Calculate the moving average line of the average
ss:SLOPE(avg,len);//Calculate the regression slope of the moving average line
ss<REF(ss,1),SPK;//When the slope becomes smaller, it indicates that the market momentum is weakened, close long positions and open short positions.
ss>REF(ss,1),BPK;//When the slope becomes larger, it indicates that the market momentum is enhanced, close short positions and open long positions.
AUTOFILTER;