Pemula, periksa Membawa Anda ke Cryptocurrency Quantitative Trading (4)

Penulis:Ninabadass, Dibuat: 2022-04-18 14:16:06, Diperbarui: 2022-04-18 15:39:07

Pemula, periksa Membawa Anda ke Cryptocurrency Quantitative Trading (4)

Dalam beberapa artikel pertama, saya belajar begitu banyak konsep dasar lingkaran cryptocurrency serta perdagangan programmatic dan kuantitatif. Akhirnya, kita dapat memotong ke topik utama dan berbicara tentang strategi itu sendiri. Untuk [Grid Strategy], siswa yang melakukan perdagangan harus mendengarnya, tapi tidak masalah jika Anda belum.platformtelah meluncurkan fungsi perdagangan programmatic dan kuantitatif mereka sendiri, dan strategi yang paling umum dan paling mudah digunakan adalahStrategi grid. Namun, fungsi strategi grid dan detail yang disediakan oleh setiap platform berbeda. Karena kami berencana untuk memasukkan kuantifikasi dalam lingkaran cryptocurrency, mengapa kita tidak menerapkan strategi grid sendiri?

Kemudian, beberapa siswa mungkin berkata: Aku tidak bisa menulis kode! Kode membuatku cemas!

Itu benar. memang cukup sulit bagi siswa yang tidak berspesialisasi dalam perangkat lunak komputer dan tidak pernah terlibat dalam pekerjaan pemrograman untuk mengembangkan strategi perdagangan yang lengkap sendiri. karena Anda harus melakukan serangkaian pekerjaan pra dari docking antarmuka platform (mungkin program logika perdagangan Anda hanya 100 baris, tetapi pekerjaan pengkodean lainnya yang harus dilakukan cukup banyak, dan lebih sulit daripada menulis logika perdagangan.)

Pada saat ini, jika Anda memiliki alat yang sangat praktis, itu akan sangat sederhana, setidaknya kesulitan dikurangi sebesar 70%. Anda dapat membayangkan, jika Anda hanya menulis logika perdagangan, pekerjaan lain, termasuk antarmuka platform docking, verifikasi tanda tangan, file konfigurasi, konstruksi lingkungan operasi, UI menulis antarmuka, menulis interaktif dan fungsi lainnya, semuanya siap, betapa nyaman dan cepatnya.

Tidak percaya? Mari kita coba!

Menerapkan Strategi Jaringan Titik Sederhana

Alat yang kami gunakan adalah: FMZ Quant Trading PlatformFMZ.COMInti dari desain strategi grid sebenarnya adalah logika pembelian dan penjualan grid, jadi ini adalah sesuatu yang harus diperjelas sebelum merancang strategi.

Prosedur dasar untuk merancang strategi adalah sebagai berikut:

  • 1.Ringkasan persyaratan strategi

    Secara sederhana, mereka adalah apa yang akan dilakukan strategi Anda, bagaimana melakukannya, dan fungsi apa yang dimiliki. Informasi itu dapat ditulis dalam dokumen (seperti buku catatan) sebelum Anda benar-benar menulis kode strategi. Sangat sederhana untuk mengembangkan strategi di FMZ. Platform ini menyediakan solusi untuk persyaratan ini, dan Anda tidak perlu menulis persyaratan ini di beberapa buku catatan (yang tidak sangat nyaman untuk dikelola). Anda dapat menulis persyaratan strategi langsung di catatan strategi.

    img

    Ingatlah untuk menyimpan strategi ketika Anda selesai menulis, dan kemudian kita terus menulis persyaratan strategi (keperluan-keperluan itu tidak berubah; Anda dapat merekam dan mengembangkan pada saat yang sama).

    • Strategi ini dirancang sebagai strategi taring spot; pasangan perdagangan adalahXXX_USDT, sepertiBTC_USDT.
    • kisi-kisi dirancang untuk interval perbedaan yang sama; untuk menjadi sederhana, interval antara dua titik berdekatan di kisi-kisi adalah penyebaran tetap.
    • Jaringan ini dirancang untuk menjadi grid tak terbatas yang dapat meluas tanpa batas.
    • Cara pemesanan menggunakan urutan pasar.
  • 2.Membangun struktur data grid:

    Untuk ide-ide yang tidak jelas, kita dapat merencanakan untuk menganalisis di awal.

    img

    Grid dapat dibangun baik ke atas maupun ke bawah dari titik dasar, harga awal di awal. yang disebut grid terdiri dari lapisan garis penawaran dan garis permintaan. melihat grafik, kita dapat melihat bahwa setiap garis memiliki dua kemungkinan:

    1. naikkan harga;
    2. Menurunkan harga.
      Upcrossing harga berarti harga semakin tinggi; kita perlu menjual, dan kemudian membeli dalam ketika harga turun setelah kenaikan, untuk membuat keuntungan. Menurunkan harga berarti harga semakin rendah; kita perlu membeli, dan kemudian menjual ketika harga naik setelah jatuh, untuk membuat keuntungan. Oleh karena itu, setiap garis grid memiliki dua cara perdagangan: beli (bid) dan jual (ask). Selain itu, setiap garis grid memiliki atribut tetap, yaitu harga yang ditandai dengan garis, seperti A, B, C, D yang ditunjukkan pada gambar. Ketika merancang strategi, kita harus terlebih dahulu mencari tahuApa?kita benar-benar ingin, dan kemudian akan nyaman untuk melakukannya.

    Mengkode fungsi membangun 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 dapat melakukan fungsi secara individual untuk melihat hasilnya. Debug tool pada FMZ atau Backtest system semuanya sangat nyaman untuk debug jenis kode pendek ini.

    img

    Data yang dibuat dapat diamati.

    [
        {"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 logika perdagangan

    Setelah menganalisis struktur data grid, kita perlu mempertimbangkan logika perdagangan spesifik dari strategi grid. Sebenarnya, logika membeli dan menjual juga sangat sederhana. Kita sudah menggambarkannya dalam gambar di atas. Membeli berarti melintasi garis tertentu, dan menjual berarti melintasi garis tertentu. Jadi bagaimana cara mengungkapkan upcrossing dan downcrossing? Ini juga sangat sederhana, kita hanya perlu membandingkan posisi harga dua saat untuk menilai.

    Saya akan menunjukkan pada gambar sebelumnya.img

    1 adalah waktu, t2 adalah waktu setelah t1; untuk menilai apakah garis C melintasi ke atas atau tidak, kita hanya perlu menilaiP1 < CdanP2 > CAku tidak tahu. Dengan cara yang sama, untuk menilai apakah garis B di bawah melintasi, kita hanya perlu menilaiP1 > BdanP3 < BAku tidak tahu. Pada saat itu, kita hanya perlu melintasi setiap garis dalam array grid (melintasi biasanya dikatakanmemeriksa satu per satu), dan menilai apakah atas silang atau bawah silang.

    Saya telah menangkap aksi harga upcrossing dan downcrossing. Bisakah saya menempatkan pesanan ketika tindakan ini dipicu? Jelas tidak mungkin. Jika harga naik turun berulang kali pada satu baris, bukankah akan membuang biaya penanganan untuk perdagangan berulang pada harga yang sama? Oleh karena itu, masih ada serangkaian kondisi penilaian setelah memicu upcross dan downcross, yang membutuhkan penggunaan tanda beli / jual dalam struktur data garis grid yang baru saja kami bangun (misalnya: {buy:false,"sell ":false,price:5}).

Terima kasih telah membaca, dan mari kita lanjutkan penjelasan dan studi di artikel berikutnya.


Lebih banyak