Sumber dimuat naik... memuat...

Modul Visualisasi untuk Membina Strategi Dagangan - Pemahaman Lanjutan

Penulis:FMZ~Lydia, Dicipta: 2022-12-13 14:11:36, Dikemas kini: 2023-09-20 09:53:59

Visualization Module to Build Trading Strategy - Advanced Understanding

Modul Visualisasi untuk Membina Strategi Dagangan - Pemahaman Lanjutan

Kami telah belajar Modul Visualisasi untuk Membina Strategi Dagangan - Perkenalan Pertama, dan kami mempunyai pemahaman konseptual pembinaan modul visual dan splicing, Seterusnya, mudah untuk belajar menggunakan modul lain. Ia adalah mungkin untuk menggabungkan beberapa fungsi yang lebih kompleks.

Modul kategori dagangan

Dalam pembelajaran dan ujian sebelumnya, kami telah terdedah kepada beberapa modul kategori perdagangan. Contohnya: Exchange Get Ticker modul Exchange Get OHLC modul ... yang penting.

Mereka telah digunakan tidak akan diulangi di sini.

1. Dapatkan bilangan pertukaran

Visualization Module to Build Trading Strategy - Advanced Understanding

Apabila menulis strategi untuk menggunakan perdagangan robot, anda boleh menambah lebih daripada satu objek pertukaran, seperti strategi lindung nilai. Atau anda perlu melintasi (melintasi bermaksud melawat objek pertukaran satu demi satu) objek pertukaran untuk mengakses pasaran. Ini adalah di mana modul untuk mendapatkan bilangan pertukaran masuk ke dalam permainan.

Kita boleh cetak bilangan pertukaran yang dikonfigurasi pada masa ini dalam struktur yang mudah:

Visualization Module to Build Trading Strategy - Advanced Understanding

Malah, ia seperti memanggil kod strategi JavaScript seperti:

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

Mari kita lihat hasil berjalan modul gabungan ini:

Visualization Module to Build Trading Strategy - Advanced Understanding Visualization Module to Build Trading Strategy - Advanced Understanding Visualization Module to Build Trading Strategy - Advanced Understanding

Kita boleh lihat bahawa kita telah menambah tiga objek pertukaran, mewakili tiga akaun pertukaran yang berbeza, dan hasil output log backtest adalah 3.

2. Dapatkan nama pertukaran

Visualization Module to Build Trading Strategy - Advanced Understanding

Apabila menambah tiga objek pertukaran, kotak drop-down akan memaparkan tiga pilihan. Belajar modul gelung dalam jenis gelung terlebih dahulu.

Visualization Module to Build Trading Strategy - Advanced Understanding

Belajar modul penilaian keadaan terlebih dahulu:

Visualization Module to Build Trading Strategy - Advanced Understanding

Syarat penghakiman boleh ditulis seperti berikut:

Visualization Module to Build Trading Strategy - Advanced Understanding

Kami menggunakan modul gelung untuk melintasi nama pertukaran yang ditambah. Kami menggunakan modul penilaian keadaan untuk menilai sama ada kiraan gelung semasa sepadan dengan nama pertukaran yang akan dicetak.

Visualization Module to Build Trading Strategy - Advanced Understanding

Hasil operasi ujian belakang:

Visualization Module to Build Trading Strategy - Advanced Understanding

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 bursa

Visualization Module to Build Trading Strategy - Advanced Understanding

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

Visualization Module to Build Trading Strategy - Advanced Understanding

Hasil ujian belakang:

Visualization Module to Build Trading Strategy - Advanced Understanding Visualization Module to Build Trading Strategy - Advanced Understanding Visualization Module to Build Trading Strategy - Advanced Understanding

Jika anda memanggil kod strategi JavaScript:

function main () {
    var text = exchange.GetCurrency()
    Log(text)
}

4. Modul Perintah

Visualization Module to Build Trading Strategy - Advanced Understanding

Modul ini sangat penting untuk operasi pesanan. kedudukan tenon pertama (konkaf) tertanam dengan pembolehubah harga, yang digunakan untuk menentukan harga pesanan. anda juga boleh memasukkan nilai tetap secara langsung. Kedudukan tenon kedua (kerongkong) tertanam dengan pembolehubah kuantiti pesanan, yang digunakan untuk menentukan kuantiti pesanan.

Sebagai contoh, kita menyambungkan contoh meletakkan pesanan beli pada menambah harga bergerak 10 yuan berdasarkan harga terkini data pasaran tik semasa, dengan kuantiti pesanan ditetapkan kepada 0.1 syiling, dan cetak ID pesanan.

Visualization Module to Build Trading Strategy - Advanced Understanding

Hasil operasi ujian belakang:

Visualization Module to Build Trading Strategy - Advanced Understanding

Seperti kod strategi JavaScript berikut:

function main () {
    var id = exchange.Buy(_C(exchange.GetTicker).Last + 10, 0.1)
    Log(id)
}

5. Dapatkan pesanan menunggu modul pasangan dagangan semasa

Visualization Module to Build Trading Strategy - Advanced Understanding

Modul ini akan mengembalikan semua pesanan yang menunggu dalam status tidak selesai pasangan dagangan semasa. Ia mengembalikan struktur senarai (array), yang boleh diproses oleh modul jenis senarai (operasi melintasi, dan lain-lain). Sebagai contoh, kami mengubahsuai modul pesanan contoh di atas [4] sedikit, dan mengubah harga 10 yuan yang ditambah ketika meletakkan pesanan menjadi tolak 10 yuan. Perintah tidak akan ditutup dengan segera, tetapi akan diletakkan di kedalaman transaksi (iaitu, beli satu, beli dua, beli tahap tertentu di N), dengan cara ini, pesanan akan berada dalam keadaan pesanan menunggu menunggu untuk diisi. Kemudian kita menggunakan modul Get pending orders of the current trading pair untuk mendapatkan senarai pesanan dalam status PENDING (menunggu untuk diisi). Untuk mengelakkan kesan pada pemerhatian akhir backtest kerana pesanan yang dipenuhi di pasaran berikutnya, selepas modul Mendapatkan pesanan menunggu pasangan dagangan semasa dilaksanakan, kita mencetak senarai pesanan, dan menggunakan modul Lempar pengecualian segera untuk menghentikan program.

Visualization Module to Build Trading Strategy - Advanced Understanding

Ujian belakang menunjukkan bahawa:

Visualization Module to Build Trading Strategy - Advanced Understanding

Harga pesanan beli adalah 10 yuan lebih rendah daripada harga terkini pada masa itu, jadi ia tidak akan diisi dengan segera. Kemudian dapatkan pesanan dalam status urus niaga yang belum selesai, dan cetak. Akhirnya, pengecualian dilemparkan untuk menghentikan program.

Seluruh modul yang dipasang adalah seperti panggilan kepada 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

Visualization Module to Build Trading Strategy - Advanced Understanding

Modul ini digunakan untuk membatalkan pesanan.

Terdapat banyak senario yang memerlukan operasi sedemikian apabila menulis strategi:

Batalkan semua pesanan yang sedang menunggu.

Tidak ada keraguan bahawa Cancel order module mesti digunakan. Semasa mempelajari modul pesanan membatalkan, kita boleh menggunakan [5] untuk mendapatkan pesanan menunggu modul pasangan dagangan semasa, dan menggabungkan untuk mencapai fungsi ini.

Pertama sekali, untuk menguji pembatalan semua pesanan, ia tidak jelas untuk meletakkan pesanan. kita mula meletakkan 2 pesanan, harga dan kuantiti mereka berbeza untuk membezakan kedua-dua pesanan.

Visualization Module to Build Trading Strategy - Advanced Understanding

Gunakan Lalu lintas setiap elemen dalam modul senarai dalam modul Loop untuk melintasi pesanan dalam senarai pesanan yang sedang menunggu.

Visualization Module to Build Trading Strategy - Advanced Understanding

Semasa pelaksanaan, setiap pesanan yang diambil diberikan nilai kepada pesanan modul pembolehubah (dicipta dalam jenis modul pembolehubah, seperti yang ditunjukkan di bawah:)

Visualization Module to Build Trading Strategy - Advanced Understanding

Gunakan modul Util:

Visualization Module to Build Trading Strategy - Advanced Understanding

Keluarkan ID pesanan, pasangkan ke kedudukan tenon (kuncup) modul Batal pesanan, dan modul Batal pesanan melaksanakan pembatalan pesanan.

Operasi ujian belakang:

Visualization Module to Build Trading Strategy - Advanced Understanding

Gunakan penerangan strategi 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 butiran pesanan berdasarkan ID pesanan

Visualization Module to Build Trading Strategy - Advanced Understanding

Kedudukan tenon (konkaf) modul disambungkan dengan modul pemboleh ubah ID pesanan, dan butiran pesanan boleh dikembalikan.

Visualization Module to Build Trading Strategy - Advanced Understanding

Perhatikan perintah yang dikembalikan selepas berjalan:

Visualization Module to Build Trading Strategy - Advanced Understanding

Dibandingkan dengan hasil berjalan dalam contoh [5], dapat didapati bahawa pesanan yang dicetak adalah maklumat pesanan yang berasingan tanpa kurung []. Kerana contoh [5] mengembalikan senarai, tetapi contoh ini mengembalikan maklumat pesanan yang berasingan (didapatkan berdasarkan modul pembolehubah ID pada kedudukan tenon yang diteruskan oleh modul).

Contoh di atas adalah sama dengan melaksanakan strategi JavaScript:

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

8. Modul perdagangan niaga hadapan

Kita akan belajar modul di atas satu demi satu dan kita menetapkan pertukaran ujian sebagai niaga hadapan komoditi.

Tetapan Ujian Balik:

Visualization Module to Build Trading Strategy - Advanced Understanding

Contoh berikut melakukan backtest berdasarkan tetapan.

  • Menghakimi modul status sambungan antara niaga hadapan komoditi CTP dan pelayan syarikat niaga hadapan

Visualization Module to Build Trading Strategy - Advanced Understanding

Masa hadapan komoditi mempunyai waktu buka dan waktu tutup. Apabila pasaran ditutup, ia tidak boleh disambungkan.

  • Modul kontrak set

Visualization Module to Build Trading Strategy - Advanced Understanding

Apabila objek bursa dikonfigurasi sebagai bursa niaga hadapan, jika bursa tidak menubuhkan kontrak dan mendapatkan maklumat pasaran secara langsung, satu ralat akan dilaporkan.

Kami menetapkan kontrak sebagai MA909, kontrak utama methanol pada masa ini.

Dengan cara ini, nilai harga terkini dalam pasaran tik semasa kontrak MA909 diperoleh.

  • Tetapkan modul arahan pesanan untuk perdagangan niaga hadapan

Dalam modul perintah pelaksanaan

Visualization Module to Build Trading Strategy - Advanced Understanding

Arah pesanan perlu ditentukan, kerana niaga hadapan mempunyai: beli: buka kedudukan panjang jual: posisi pendek terbuka closebuy: menutup kedudukan panjang close-sell: menutup kedudukan pendek Empat arah (ada dua arah lagi untuk niaga hadapan komoditi: closebuy_today untuk menutup kedudukan panjang hari ini dan closesell_today untuk menutup kedudukan pendek hari ini).

Sebagai contoh, jika modul pesanan ditetapkan sebagai beli, terdapat dua makna membuka kedudukan panjang dan menutup kedudukan pendek, yang tidak jelas. Oleh itu, modul Set the order direction for futures trading diperlukan untuk menetapkan arah pesanan yang jelas.

Visualization Module to Build Trading Strategy - Advanced Understanding

Paparan ujian belakang:

Visualization Module to Build Trading Strategy - Advanced Understanding

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("The commodity futures front-end processor is not connected")
        }
        Sleep(1000)
    }
}

9. Modul perdagangan niaga hadapan mata wang digital

Penggunaan niaga hadapan mata wang digital pada dasarnya sama dengan niaga hadapan komoditi di [8] di atas - Mengambil OKEX sebagai contoh, kod kontrak boleh menjadi: - this_week: minggu ini - next_week: minggu depan - suku: suku - pertukaran: kekal - BitMEX: - XBTUSD - ETHUSD - Tetapkan modul leverage

Visualization Module to Build Trading Strategy - Advanced Understanding

Ia digunakan untuk menetapkan leverage niaga hadapan mata wang digital.

#Note: Backtesting is not supported.

Seperti strategi JavaScript:

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

Contoh strategi visualisasi:

https://www.fmz.com/strategy/121404 https://www.fmz.com/strategy/129895 https://www.fmz.com/strategy/123904 https://www.fmz.com/strategy/122318Untuk lebih banyak strategi, sila rujuk:https://www.fmz.com/square

Artikel lain dalam siri ini


Kandungan berkaitan

Lebih lanjut