Dalam beberapa artikel pertama, saya belajar begitu banyak konsep asas bulatan cryptocurrency serta perdagangan programatik dan kuantitatif. Akhirnya, kita boleh memotong topik utama dan bercakap tentang strategi itu sendiri. Untuk [Grid Strategy], pelajar yang melakukan perdagangan harus mendengarnya, tetapi ia tidak kira jika anda tidak.platformtelah melancarkan fungsi perdagangan programatik dan kuantitatif mereka sendiri, dan strategi yang paling biasa dan paling mudah digunakan adalahStrategi GridWalau bagaimanapun, fungsi strategi grid dan butiran yang disediakan oleh setiap platform adalah berbeza.
Kemudian, sesetengah pelajar mungkin berkata:
Itulah yang benar. memang agak sukar bagi pelajar yang tidak mengkhususkan diri dalam perisian komputer dan tidak terlibat dalam kerja pengaturcaraan untuk membangunkan strategi perdagangan yang lengkap sendiri. kerana anda perlu melakukan satu siri kerja pra-kerja dari docking antara muka platform (mungkin program logika perdagangan anda hanya 100 baris, tetapi kerja pengekodan lain yang perlu dilakukan agak banyak, dan lebih sukar daripada menulis logika perdagangan.)
Pada masa ini, jika anda mempunyai alat yang sangat berguna, ia akan menjadi agak mudah, sekurang-kurangnya kesukaran dikurangkan sebanyak 70%. anda boleh bayangkan, jika anda hanya menulis logik perdagangan, kerja lain, termasuk antara muka platform docking, pengesahan tandatangan, fail konfigurasi, pembinaan persekitaran operasi, penulisan antara muka UI, penulisan interaktif dan fungsi lain, semuanya siap, betapa mudah dan cepatnya.
Tidak percaya? Mari kita cuba!
Alat yang kami gunakan ialah: FMZ Quant Trading Platform (FMZ.COMInti reka bentuk strategi grid sebenarnya adalah logik pembelian dan penjualan grid, jadi ini adalah sesuatu yang mesti dijelaskan sebelum merancang strategi.
Prosedur asas untuk merancang strategi adalah seperti berikut:
1. Ringkasan keperluan strategi
Secara ringkasnya, mereka adalah apa yang akan dilakukan oleh strategi anda, bagaimana untuk melakukannya, dan fungsi apa yang dimiliki. Maklumat itu boleh ditulis dalam dokumen (seperti buku nota) sebelum anda benar-benar menulis kod strategi. Sangat mudah untuk membangunkan strategi di FMZ. Platform ini menyediakan anda penyelesaian untuk keperluan ini, dan anda tidak perlu menulis keperluan ini dalam beberapa buku nota (yang tidak sangat mudah untuk diuruskan).
Ingat untuk menyimpan strategi apabila anda selesai menulis, dan kemudian kita terus menulis keperluan strategi (keperluan-keperluan itu tidak berubah; anda boleh merakam dan membangunkan pada masa yang sama).
XXX_USDT
, sepertiBTC_USDT
.2.Membina struktur data grid:
Untuk idea-idea yang tidak jelas, kita boleh merancang untuk menganalisis pada mulanya.
Grid boleh dibina di kedua-dua arah ke atas dan ke bawah dari titik asas, harga awal pada permulaan. grid yang dipanggil terdiri daripada lapisan garis tawaran dan garis tanya. melihat grafik, kita dapat melihat bahawa setiap garis mempunyai dua kemungkinan:
Mengekodkan fungsi membina struktur data grid:
function createNet(begin, diff) { // begin and diff are parameters; begin is the initial price, and diff is the grid interval (the interval of the equal difference grid is a price)
var oneSideNums = 10 // The grid generates 10 lines on both upward and downward sides. The above image only shows the situation of generating 2 lines on both sides (A and B on on side; C and D on the other side), and you can imagine the situation of generating 10 lines.
var up = [] // used to store the data structure of the upward "grid lines"
var down = [] // used to store the data structure of the downward "grid lines"
for (var i = 0 ; i < oneSideNums ; i++) { // determine the number of times according to the number of oneSideNums; construct the "grid line" data structure by loop
var upObj = { // construct the data structure of a upward "grid line"
buy : false, // buy mark; the initial mark is false, which means no buying
sell : false, // sell mark ...
price : begin + diff / 2 + i * diff, // the price position represented by the "grid line", which can be observed and processed according to the loop; the price position is getting higher successively
}
up.push(upObj) // put the constructed "grid line" data structure into the up array
var j = (oneSideNums - 1) - i // when in the loop, j changes from 9 to 0
var downObj = {
buy : false,
sell : false,
price : begin - diff / 2 - j * diff,
}
if (downObj.price <= 0) { // the price cannot be less than or equal to 0
continue
}
down.push(downObj) // put the constructed "grid line" data structure into the down array
}
return down.concat(up) // add "up" after "down", forming a grid array structure with grid line prices from low to high
}
Anda boleh melakukan fungsi secara individu untuk melihat hasilnya.
Data yang dibina boleh diperhatikan.
[
{"buy":false,"sell":false,"price":5},
{"buy":false,"sell":false,"price":15},
{"buy":false,"sell":false,"price":25},
{"buy":false,"sell":false,"price":35},
{"buy":false,"sell":false,"price":45},
{"buy":false,"sell":false,"price":55},
{"buy":false,"sell":false,"price":65},
{"buy":false,"sell":false,"price":75},
{"buy":false,"sell":false,"price":85},
{"buy":false,"sell":false,"price":95},
{"buy":false,"sell":false,"price":105}, // 100 is the initial price, the first line goes up is from 105, and the interval is 10
{"buy":false,"sell":false,"price":115}, // ...
{"buy":false,"sell":false,"price":125},
{"buy":false,"sell":false,"price":135},
{"buy":false,"sell":false,"price":145},
{"buy":false,"sell":false,"price":155},
{"buy":false,"sell":false,"price":165},
{"buy":false,"sell":false,"price":175},
{"buy":false,"sell":false,"price":185},
{"buy":false,"sell":false,"price":195}
]
Setelah menganalisis struktur data grid, kita perlu mempertimbangkan logika perdagangan khusus strategi grid. Sebenarnya, logika membeli dan menjual juga sangat mudah. Kita telah menggambarkannya dalam gambar di atas. Membeli bermaksud melintasi garis tertentu, dan menjual bermaksud melintasi garis tertentu. Jadi bagaimana untuk menyatakan melintasi dan melintasi? Ia juga sangat mudah, kita hanya perlu membandingkan kedudukan harga dua saat untuk menilai.
Saya akan tunjukkan kepada anda pada gambar sebelumnya.
1 adalah masa, t2 adalah masa selepas t1; untuk menilai sama ada garisan C merentasi ke atas atau tidak, kita hanya perlu menilaiP1 < C
danP2 > C
.
Dengan cara yang sama, untuk menilai sama ada garisan B adalah ke bawah melintasi, kita hanya perlu menilaiP1 > B
danP3 < B
.
Pada masa itu, kita hanya perlu melintasi setiap garis dalam susunan grid (melintasi biasanya dikatakanperiksa satu demi satu), dan menilai sama ada atas silang atau bawah silang.
Saya telah menangkap tindakan harga upcrossing dan downcrossing. Bolehkah saya meletakkan pesanan apabila tindakan ini dicetuskan?
Sudah tentu tidak mungkin. Jika harga naik dan turun berulang kali pada satu baris, tidakkah ia akan membuang bayaran penanganan untuk perdagangan berulang pada harga yang sama? Oleh itu, masih ada beberapa keadaan penghakiman selepas mencetuskan upcross dan downcross, yang memerlukan penggunaan tanda beli / jual dalam struktur data garis grid yang baru kita bina (contohnya: {
Terima kasih kerana membaca, dan mari kita teruskan penjelasan dan kajian dalam artikel seterusnya.