avatar of 发明者量化-小小梦 发明者量化-小小梦
fokus pada mesej peribadi
4
fokus pada
1271
Pengikut

Modul visualisasi untuk membina strategi dagangan - lanjutan

Dicipta dalam: 2019-07-17 10:22:20, dikemas kini pada: 2023-10-24 21:40:50
comments   3
hits   4351

Modul visualisasi untuk membina strategi dagangan - lanjutan

Modul visualisasi untuk membina strategi dagangan - lanjutan

Pelajari strategi perdagangan pembinaan modul visual - bab pengenalan, dan mempunyai pemahaman konseptual tentang pembinaan dan penyambungan modul visual. Kemudian mudah untuk belajar menggunakan modul lain. Beberapa fungsi yang lebih kompleks boleh digabungkan.

  • ## Modul Kategori Transaksi

Dalam kajian dan ujian terdahulu, kami telah berhubung dengan beberapa modul “kategori transaksi”. Contohnya: Modul “Pertukaran Sebut Harga”. Modul “Exchange Dapatkan K-line”. …

Saya tidak akan memperincikan perkara yang telah digunakan.

  • 1. Dapatkan bilangan pertukaran

    Modul visualisasi untuk membina strategi dagangan - lanjutan

    Apabila menulis strategi untuk berdagang dengan robot, anda boleh menambah lebih daripada satu objek pertukaran, contohnya, strategi lindung nilai. Atau anda perlu melintasi (traversal bermaksud melawat setiap satu demi satu) objek pertukaran untuk mengakses keadaan pasaran. Pada masa ini, anda perlu menggunakan modul untuk mendapatkan bilangan pertukaran.

    Mula-mula kita boleh menggunakan struktur ringkas untuk mencetak bilangan pertukaran yang dikonfigurasikan pada masa ini: Modul visualisasi untuk membina strategi dagangan - lanjutan

    Malah, ia sama seperti memanggil kod dasar JavaScript berikut:

    function main () {
        Log(exchanges.length)
    }
    

    Mari lihat hasil menjalankan modul gabungan ini: Modul visualisasi untuk membina strategi dagangan - lanjutan

    Anda boleh melihat bahawa kami telah menambah 3 objek pertukaran, mewakili tiga akaun pertukaran yang berbeza, dan hasil keluaran log paling belakang ialah 3.

  • 2. Dapatkan nama pertukaran

    Modul visualisasi untuk membina strategi dagangan - lanjutan

    Apabila menambah tiga objek pertukaran, kotak lungsur akan menunjukkan tiga pilihan. Ketahui modul gelung terlebih dahulu, dalam jenis gelung. Modul visualisasi untuk membina strategi dagangan - lanjutan

    Mari belajar modul penghakiman bersyarat terlebih dahulu: Modul visualisasi untuk membina strategi dagangan - lanjutan Syarat penghakiman boleh ditulis sebagai: Modul visualisasi untuk membina strategi dagangan - lanjutan

    Kami menggunakan modul gelung untuk mengulangi nama pertukaran yang ditambahkan Gunakan modul penghakiman bersyarat untuk menentukan sama ada kiraan gelung semasa sepadan dengan nama pertukaran yang akan dicetak.

    Modul visualisasi untuk membina strategi dagangan - lanjutan

    Keputusan larian ujian belakang: Modul visualisasi untuk membina strategi dagangan - lanjutan

    Seperti kod strategi JavaScript:

    function main () {
        for (var i = 1 ; i <= exchanges.length ; i++) {
            if (i == 1) {
                Log(exchanges[0].GetName())
            } else if (i == 2) {
                Log(exchanges[1].GetName())
            } else {
                Log(exchanges[2].GetName())
            }
        }
    }
    
  • 3. Dapatkan pasangan dagangan semasa pertukaran

    Modul visualisasi untuk membina strategi dagangan - lanjutan

    Contoh mudah mendapatkan pasangan dagangan objek pertukaran pertama yang kini ditetapkan dan menetapkannya kepada pembolehubah teks (dicipta dalam kategori pembolehubah terlebih dahulu).

    Modul visualisasi untuk membina strategi dagangan - lanjutan Keputusan ujian belakang: Modul visualisasi untuk membina strategi dagangan - lanjutan

    Jika anda memanggil kod dasar JavaScript:

    function main () {
        var text = exchange.GetCurrency()
        Log(text)
    }
    
  • 4. Modul pesanan

    Modul visualisasi untuk membina strategi dagangan - lanjutan Modul ini sangat penting dan digunakan untuk operasi pesanan Pembolehubah harga dibenamkan dalam kedudukan tenon (alur) pertama untuk menentukan harga pesanan Anda juga boleh memasukkan nilai tetap. Kedudukan tenon (titik) kedua membenamkan pembolehubah kuantiti pesanan, yang digunakan untuk menentukan kuantiti pesanan.

    Sebagai contoh, kami akan membuat contoh meletakkan pesanan beli berdasarkan harga terkini data pasaran semak semasa, dengan kegelinciran 10 yuan, menetapkan kuantiti pesanan kepada 0.1 syiling dan mencetak ID pesanan. Modul visualisasi untuk membina strategi dagangan - lanjutan

    Keputusan larian ujian belakang: Modul visualisasi untuk membina strategi dagangan - lanjutan

    Seperti kod dasar JavaScript berikut:

    function main () {
        var id = exchange.Buy(_C(exchange.GetTicker).Last + 10, 0.1)
        Log(id)
    }
    
  • 5. Modul untuk mendapatkan pesanan amanah pasangan dagangan semasa

    Modul visualisasi untuk membina strategi dagangan - lanjutan

    Modul ini akan mengembalikan semua pesanan yang belum selesai untuk pasangan dagangan semasa Struktur yang dikembalikan ialah senarai (array), yang boleh diproses oleh modul jenis senarai (operasi traversal, dll.). Contohnya: Kami mengubah suai sedikit contoh modul pesanan [4] di atas dan menukar harga 10 yuan yang ditambahkan apabila membuat pesanan kepada tolak harga 10 yuan. Pesanan tidak akan dilaksanakan serta-merta, tetapi akan belum selesai dalam kedalaman beli dan jual (iaitu, pada tahap tertentu antara Beli 1, Beli 2 dan Beli N), supaya pesanan itu berada dalam pesanan belum selesai menunggu pelaksanaan. Kemudian kami menggunakan modul “Dapatkan pesanan amanah pasangan dagangan semasa” untuk mendapatkan senarai pesanan dalam keadaan PENDING (menunggu pelaksanaan). Untuk mengelakkan pelaksanaan pesanan dalam keadaan pasaran yang berikutnya dan menjejaskan pemerhatian akhir ujian belakang, selepas modul “Dapatkan pesanan amanah pasangan dagangan semasa” dilaksanakan dan senarai pesanan dicetak, kami segera menggunakan “Pengecualian Lempar”. “ modul untuk menghentikan program.

    Modul visualisasi untuk membina strategi dagangan - lanjutan

    Pertunjukan ujian belakang: Modul visualisasi untuk membina strategi dagangan - lanjutan

    Harga pesanan beli adalah 10 yuan lebih rendah daripada harga terkini pada masa itu, jadi transaksi tidak akan selesai serta-merta. Kemudian dapatkan pesanan yang sedang menunggu pelaksanaan dan cetaknya. Akhirnya, pengecualian dilemparkan untuk menghentikan program.

    Keseluruhan modul yang dipasang adalah seperti memanggil strategi JavaScript:

    function main () {
        var id = exchange.Buy(_C(exchange.GetTicker).Last - 10, 0.1)
        Log(id)
        Log(exchange.GetOrders())
        throw "stop"
    }
    
  • 6. Batalkan modul pesanan

    Modul visualisasi untuk membina strategi dagangan - lanjutan

    Modul ini digunakan untuk membatalkan pesanan.

    Terdapat banyak senario di mana ini diperlukan semasa menulis dasar:

    Batalkan semua pesanan yang belum selesai.

    Tidak dinafikan, ini memerlukan penggunaan “modul pembatalan pesanan”. Semasa mempelajari modul pembatalan pesanan, kita boleh menggunakan [5] untuk mendapatkan modul untuk pesanan amanah pasangan dagangan semasa dan menggabungkannya untuk mencapai fungsi ini.

    Pertama, untuk menguji membatalkan semua pesanan, membuat pesanan tidak begitu jelas, kita mulakan dengan meletakkan dua pesanan dengan harga dan kuantiti yang berbeza untuk membezakan kedua-dua pesanan.

    Modul visualisasi untuk membina strategi dagangan - lanjutan

    Gunakan modul “Lintas setiap elemen dalam senarai” dalam modul jenis gelung untuk melintasi pesanan dalam senarai pesanan belum selesai semasa. Modul visualisasi untuk membina strategi dagangan - lanjutan Semasa traversal, setiap pesanan yang dikeluarkan diberikan kepada susunan modul pembolehubah (dicipta dalam jenis modul pembolehubah, seperti ditunjukkan di bawah :) Modul visualisasi untuk membina strategi dagangan - lanjutan Gunakan modul jenis alat: Modul visualisasi untuk membina strategi dagangan - lanjutan Keluarkan ID pesanan dan hantar ke kedudukan tenon (cekung) modul pesanan batal, dan modul pesanan batal melaksanakan pesanan batal.

    Larian ujian belakang: Modul visualisasi untuk membina strategi dagangan - lanjutan

    Menggunakan penerangan dasar JavaScript:

    function main () {
        var id = exchange.Buy(_C(exchange.GetTicker).Last - 10, 0.1)
        Log(id)
        var id2 = exchange.Buy(_C(exchange.GetTicker).Last - 12, 0.2)
        Log(id2)
        var orders = exchange.GetOrders()
        Log(orders)
        for (var i in orders) {
            var order = orders[i]
            Log(exchange.CancelOrder(order.Id))
        }
    }
    
  • 7. Modul untuk mendapatkan maklumat terperinci pesanan berdasarkan ID pesanan

    Modul visualisasi untuk membina strategi dagangan - lanjutan

    Modul ini boleh mengembalikan maklumat pesanan terperinci dengan menyambungkan modul pembolehubah ID pesanan ke kedudukan tanggam dan duri.

    Modul visualisasi untuk membina strategi dagangan - lanjutan

    Beri perhatian kepada pesanan yang dikembalikan selepas berjalan: Modul visualisasi untuk membina strategi dagangan - lanjutan

    Berbanding dengan keputusan berjalan dalam contoh [5], boleh didapati bahawa pesanan bercetak adalah maklumat pesanan yang berasingan.[] Dibalut dalam kurungan segi empat sama. Oleh kerana contoh [5] mengembalikan senarai, contoh ini mengembalikan maklumat pesanan tunggal (diperolehi berdasarkan modul pembolehubah ID pada kedudukan tenon yang diluluskan oleh modul).

    Contoh di atas adalah bersamaan dengan melaksanakan dasar JavaScript:

    function main () {
        var id = exchange.Buy(_C(exchange.GetTicker).Last - 10, 0.1)
        Log(exchange.GetOrder(id))
    }
    
  • 8. Modul dagangan hadapan

    Kami akan mengkaji modul di atas satu demi satu, dan menetapkan pertukaran ujian kepada niaga hadapan komoditi.

    Tetapan ujian belakang: Modul visualisasi untuk membina strategi dagangan - lanjutan Contoh berikut menguji semula persediaan ini.

    • Modul untuk menilai status sambungan antara niaga hadapan komoditi CTP dan pelayan syarikat niaga hadapan

    Modul visualisasi untuk membina strategi dagangan - lanjutan

    Niaga hadapan komoditi mempunyai masa buka dan tutup Apabila pasaran ditutup, anda tidak boleh menyambung.

    • Sediakan modul kontrak

    Modul visualisasi untuk membina strategi dagangan - lanjutan

    Apabila objek pertukaran dikonfigurasikan sebagai bursa niaga hadapan, jika anda tidak menetapkan kontrak dan terus mendapatkan maklumat pasaran, ralat akan dilaporkan: Modul visualisasi untuk membina strategi dagangan - lanjutan

    Kami menetapkan kontrak kepada MA909, yang merupakan kontrak utama semasa untuk metanol. Modul visualisasi untuk membina strategi dagangan - lanjutan Dengan cara ini, nilai harga terkini dalam pasaran semak semasa kontrak MA909 diperolehi.

    • Sediakan modul arah pesanan dagangan hadapan

    Dalam modul perintah pelaksanaan Modul visualisasi untuk membina strategi dagangan - lanjutan
    Arah pesanan perlu dinyatakan kerana niaga hadapan mempunyai: beli : buka kedudukan panjang menjual : membuka kedudukan jual closebuy : tutup kedudukan panjang closesell : tutup kedudukan jual Empat arah (niaga hadapan komoditi mempunyai dua lagi arah: closebuy_today menutup kedudukan beli hari ini, closesell_today menutup kedudukan jual hari ini).

    Sebagai contoh, jika modul pesanan ditetapkan untuk membeli, maka terdapat dua makna: buka kedudukan panjang dan tutup kedudukan pendek, yang mewujudkan kesamaran. Oleh itu, modul “Tetapkan Arah Pesanan Dagangan Hadapan” diperlukan untuk menetapkan arah pesanan yang jelas.

    Modul visualisasi untuk membina strategi dagangan - lanjutan

    Pertunjukan ujian belakang: Modul visualisasi untuk membina strategi dagangan - lanjutan

    Seperti kod strategi JavaScript:

      function main () {
          while (true) {
              if (exchange.IO("status")) {
                  exchange.SetContractType("MA909")
                  Log(exchange.GetTicker().Last)
                  exchange.SetDirection("buy")
                  Log(exchange.Buy(1000, 1))
                  throw "stop"
              } else {
                  Log("未连接商品期货前置机")
              }
              Sleep(1000)
          }
      }
    
  • 9. Modul dagangan hadapan mata wang kripto

    Penggunaan niaga hadapan mata wang digital pada asasnya adalah sama dengan penggunaan niaga hadapan komoditi dalam [8] di atas.

    • Mengambil OKEX sebagai contoh, kod kontrak boleh:

      • minggu_ini : minggu ini
      • next_week : minggu depan
      • suku : suku
      • swap : kekal
    • BitMEX :

      • XBTUSD
      • ETHUSD
    • Menetapkan Modul Leverage

    Modul visualisasi untuk membina strategi dagangan - lanjutan

    Digunakan untuk menetapkan leverage untuk niaga hadapan mata wang digital.

      # 注意 : 回测不支持。
    

    Seperti dalam strategi JavaScript:

      function main () {
          exchange.SetMarginLevel(10)
      }
    

Strategi Contoh Visualisasi:

Lebih banyak strategi boleh didapati di: https://www.fmz.com/square

Artikel lain dalam siri ini

Pengaturcaraan yang membosankan boleh diselesaikan dengan mudah dengan menggunakan blok bangunan Cubalah, ia sangat menarik!