Pemula, periksa Membawa anda ke Perdagangan Kuantitatif Cryptocurrency (4)

Penulis:Ninabadass, Dicipta: 2022-04-18 14:16:06, Dikemas kini: 2022-04-18 15:39:07

Pemula, periksa Membawa anda ke Perdagangan Kuantitatif Cryptocurrency (4)

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: Saya tidak boleh menulis kod! Kod membuat saya cemas!

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!

Menyedari Strategi Grid Titik Sederhana

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).

    img

    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).

    • Strategi ini direka sebagai strategi taring spot; pasangan dagangan adalahXXX_USDT, sepertiBTC_USDT.
    • Grid ini direka untuk menjadi selang perbezaan yang sama; untuk menjadi mudah, selang antara dua titik bersebelahan dalam grid adalah penyebaran tetap.
    • Grid ini direka untuk menjadi grid yang tidak berkesudahan yang boleh meluas tanpa had.
    • Cara memesan menggunakan perintah pasaran.
  • 2.Membina struktur data grid:

    Untuk idea-idea yang tidak jelas, kita boleh merancang untuk menganalisis pada mulanya.

    img

    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:

    1. naikkan harga;
    2. turunkan harga.
      Menambah harga bermakna harga semakin tinggi; kita perlu menjual, dan kemudian membeli apabila harga jatuh selepas kenaikan, untuk membuat keuntungan. Menurunkan harga bermakna harga semakin rendah; kita perlu membeli, dan kemudian menjual apabila harga naik selepas kejatuhan, untuk membuat keuntungan. Oleh itu, setiap garis grid mempunyai dua cara perdagangan: beli (tawar) dan jual (meminta). Selain itu, setiap garis grid mempunyai atribut tetap, yang merupakan harga yang ditandakan dengan garis, seperti A, B, C, D yang ditunjukkan dalam gambar. Apabila merancang strategi, kita harus terlebih dahulu memikirkanApa yangkita benar-benar mahu, dan kemudian ia akan menjadi mudah untuk melakukannya.

    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. Debug tool pada FMZ atau Backtest system semuanya sangat mudah untuk debug jenis kod pendek ini.

    img

    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}
    ]
    
    1. Analisis Logik Dagangan

    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.img

    1 adalah masa, t2 adalah masa selepas t1; untuk menilai sama ada garisan C merentasi ke atas atau tidak, kita hanya perlu menilaiP1 < CdanP2 > C. Dengan cara yang sama, untuk menilai sama ada garisan B adalah ke bawah melintasi, kita hanya perlu menilaiP1 > BdanP3 < 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: {buy:false,"sell ":false,price:5}).

Terima kasih kerana membaca, dan mari kita teruskan penjelasan dan kajian dalam artikel seterusnya.


Lebih lanjut