Dengan perkembangan perdagangan kuantitatif aset blockchain, semakin banyak peniaga aset blockchain telah mengenali alat perdagangan kuantitatif. Tetapi sebagai pemula dalam lingkaran ini, dia mungkin sangat keliru mengenai banyak konsep, dan keliru dengan pelbagai istilah, perisian, maklumat, dll. Artikel ini akan membawa anda untuk memahami dan membiasakan diri dengan konsep biasa, dan mempelajari pelbagai maklumat berguna dalam transaksi kuantitatif aset blockchain dari pelbagai aspek. Artikel ini akan meringkaskan konsep asas terlebih dahulu, dan kemudian memberikan contoh di Platform Perdagangan Kuantum FMZ yang sepadan dengan konsep asas ini.
Pertama sekali, kita perlu memahami konsep bursa. Kita perlu berdagang aset blockchain untuk spekulasi, pelaburan, dan lain-lain. Masing-masing perlu dilakukan di bursa. Terdapat banyak bursa pada masa ini: senior, baru muncul, besar dan kecil. Mengenai bursa mana untuk menjalankan perdagangan programatik dan kuantitatif, perlu menapis maklumat sendiri berdasarkan pelbagai maklumat.
Akaun pertukaran Akaun pertukaran, adalah akaun yang didaftarkan dan dibuka di bursa ini. aset blockchain boleh disimpan dalam akaun ini untuk perdagangan.Sub- akaunDi bawah akaun utama untuk memudahkan transaksi berasingan dan spekulasi aset. Penciptaan, mekanisme, dan penggunaan aplikasi sub-akaun untuk setiap bursa adalah berbeza.
Selepas log masuk dengan akaun di laman web pertukaran, biasanya anda dapat melihat bahawa tempat di mana aset blockchain dapat disimpan dibahagikan kepada beberapa
Antara muka API ke sistem pertukaran
Ramai pengguna yang belum menggunakan fungsi pertukaran ini mungkin bertanya: REST
antara muka protokol danWebSocket
beberapa pertukaran juga menyediakanFIX
Ini hanya untuk pemahaman, kebanyakannya kita menggunakanREST
protokol antara muka. dokumen antara muka ini biasanya boleh didapati dalam pautan dengan perkataanAPIKadang-kadang perlu memeriksa dokumen ini untuk beberapa maklumat kesilapan antara muka. Sistem API setiap pertukaran agak berbeza, jadi anda perlu memeriksa dokumentasi untuk isu-isu tertentu. Jika anda bukan pemaju strategi, ini hanya untuk pemahaman.
Kunci API akaun
Kunci API akaun mesti difahami dengan teliti, kerana ia berkaitan dengan keselamatan aset blockchain yang disimpan di bursa anda.
Yang di atas berkata bahawa antara muka API adalah saluran, maka API KEY boleh difahami sebagailulusOleh kerana saluran akses, anda tidak boleh membenarkan akses kepada mana-mana program, yang sangat berbahaya. Oleh itu, pengesahan diperlukan, dan API KEY digunakan untuk mengesahkan identiti. Jadi API KEY berkaitan dengan keselamatan aset anda dan mesti disimpan dengan betul.
Biasanya API KEY pertukaran dicipta di sudut kanan atas halaman pertukaran, pada halaman pengurusan akaun (mungkin juga pertukaran diletakkan di tempat lain di halaman web, cari pautan dengan kata kunci access key
, dan rentetan kedua biasanya dipanggilsecret key
Terdapat juga beberapa pertukaran yang API KEY mempunyai maklumat lain, contohnya, antara muka OKEX V5 dan V3 mempunyaiPassPhrase
, yang juga rentetan (rantai yang perlu ditetapkan oleh diri anda untuk mengukuhkan pengesahan keselamatan).
Apabila menetapkan API KEY, biasanya perlu untuk menetapkan kebenaran API KEY ini, secara amnya, terdapat kebenaran seperti
Objek pertukaran Konsep objek pertukaran adalah konsep di Platform Perdagangan Kuantum FMZ (FMZ.COMSecara ringkasnya, ia merujuk kepada objek yang terbentuk oleh pengelupasan antara muka pertukaran. Objek ini adalah pertukaran dalam kod strategi FMZ, yang memanggil fungsi exchange.GetTicker, sebenarnya ia memanggil antara muka untuk mengakses data pasaran pertukaran. Lihat dokumentasi FMZ API untuk butiran:https://www.fmz.com/api#exchangeSatu bursa boleh mempunyai sektor niaga hadapan dan sektor spot. Oleh kerana objek pertukaran niaga hadapan dan objek pertukaran spot yang ditakrifkan di FMZ adalah jenis objek pertukaran yang berbeza, mereka dibezakan (objek pertukaran niaga hadapan mempunyai beberapa fungsi lebih daripada objek pertukaran spot, seperti menetapkan fungsi leverage, menanyakan fungsi kedudukan dan lain-lain, periksa dokumentasi untuk butiran). Jadi ambil pertukaran Binance sebagai contoh, anda mungkin melihatnya apabila mengkonfigurasi pada FMZ:Terdapat juga 2 Huobi.
Jika strategi adalah untuk beroperasi pada objek pertukaran niaga hadapan, tambah niaga hadapan, dan jika anda ingin beroperasi spot, tambah spot.
Di platform FMZ, pertukaran adalah objek pertukaran, yang mewakili akaun pertukaran.https://www.fmz.com/api#exchanges
Pasaran dagangan yang disebut di sini merujuk kepada bot dagangan tertentu (bayangkan halaman dagangan), biasanya bursa mempunyai beberapa sektor, sepertiPerdagangan mata wang, Perdagangan leveraged mata wang, Perdagangan kontrak etc.
Pasangan dagangan
Apa yang biasanya kita panggil pasangan perdagangan adalah apa yang kita beli dan jual, contohnya, kita pergi ke pasaran untuk membeli kubis.
BintikPerdagangan mata wang, Perdagangan leveraged mata wang, mereka diklasifikasikan sebagai dagangan spot. Dagangan spot hanya perlu menentukanPasangan daganganuntuk menerangkan pasaran mana ia didagangkan.
Mengambil penggunaan Platform Dagangan Kuantum FMZ sebagai contoh, jika anda ingin membuat pasangan dagangan BTC ke USDT, mata wang dagangan adalah BTC, dan mata wang denominasi adalah USDT.
Kami menggunakan fungsi platform FMZexchange.SetCurrency("BTC_USDT")
untuk menukar pasangan dagangan semasa kepada:BTC_USDT
.
UntukSetCurrency
Bagi mereka yang tidak faham, merujuk kepada:https://www.fmz.com/api#exchange.setcurrency...
Untukexchange
Bagi mereka yang tidak faham, merujuk kepada:https://www.fmz.com/api#exchange
Kontrak (masa hadapan, opsyen)
Terdapat perbezaan besar antara perdagangan kontrak dan perdagangan spot.currency-based contracts
danUSDT-based contracts
. Untuk perdagangan programatik dan perdagangan kuantitatif, perlu menentukan bukan sahaja pasangan dagangan, tetapi juga kontrak. Sebagai contoh, jika kita ingin berdagang mata wang BTC, maka terdapat banyak kontrak mata wang BTC, termasuk kontrak suku (penghantaran berpatutan setiap suku), kontrak mingguan (penghantaran berpatutan pada hari Jumaat setiap minggu), kontrak kekal (bukan penghantaran) dan sebagainya. Jika hanya satu pasangan transaksi digunakan untuk pengenalan, jenis kontrak yang dibuat? Oleh itu, kod kontrak tertentu diperlukan untuk menerangkan dan menentukan.
Dengan cara ini, apabila kita menerangkan pasaran kontrak yang akan didagangkan, kita perlu menerangkan mata wang (pasangan perdagangan) dan kontrak (kod kontrak) itu.
Kontrak berasaskan mata wang
Kontrak yang menggunakan mata wang sebagai margin (seperti kontrak berasaskan mata wang BTC, yang menggunakan BTC sebagai margin, dan keuntungan juga BTC), keuntungan adalah mata wang. Biasanya, mata wang denominasi pasangan perdagangan kontrak margin mata wang dinyatakan dalam USD (tidak perlu masuk ke dalam butiran, kebanyakan bursa menggunakan ungkapan ini). Jadi pasangan perdagangan adalah BTC_USD, dan kontrak adalah kontrak suku tahunan.BTC's currency-based quarterly contract
pasaran.
Di Platform Dagangan Kuantum FMZ,exchange.SetCurrency("BTC_USD")
menetapkan pasangan dagangan, dan kemudianexchange.SetContractType("quarter")
menetapkan kontrak suku tahunan. Dengan cara ini, pelbagai perdagangan semasa adalahBTC's currency-based quarterly contract
.
Kontrak berasaskan USDT
Kontrak yang menggunakan USDT sebagai margin (seperti kontrak berasaskan USDT BTCBTC's USDT-based perpetual contract
pasaran.
Di Platform Dagangan Kuantum FMZ,exchange.SetCurrency("BTC_USDT")
menetapkan pasangan dagangan, dan kemudianexchange.SetContractType("swap")
menetapkan kontrak kekal. Dengan cara ini, pelbagai perdagangan semasa adalahBTC's USDT-based perpetual contract
.
Perintah Perintah itu merujuk kepada apa? Perintah adalah pesanan yang kita serahkan kepada bursa apabila kita membeli atau menjual di bursa. Perintah dibahagikan kepada pesanan pasaran, pesanan had, pesanan bersyarat, dan lain-lain. Atribut yang paling asas untuk pesanan adalah: objek pesanan (secara mudah, apa yang harus dibeli atau dijual), kuantiti pesanan (berapa banyak untuk membeli atau menjual), dan harga pesanan (pada harga apa untuk membeli atau menjual). Jika pesanan seterusnya hanya menentukan kuantiti untuk membeli dan menjual dan apa yang harus dibeli atau dijual tanpa mengira berapa banyak wang, maka pesanan sedemikian dipanggil pesanan pasaran. Sudah tentu, terdapat juga pesanan bersyarat (perintah berhenti kerugian, pesanan aisberg, dan lain-lain), yang berkaitan dengan pertukaran. Beberapa bursa menyediakan, sementara beberapa bursa tidak. Untuk butiran, anda boleh menyemak dokumentasi API bursa.
Bintik senarai harga pasaran pesanan spot biasanya perlu memberi perhatian kepada pesanan beli. kuantiti pesanan senarai harga pasaran pesanan spot bukan jumlah mata wang, tetapi jumlah. Kerana pesanan pasaran tidak menentukan harga, hanya jumlah yang boleh digunakan untuk menentukan berapa banyak untuk membeli. kuantiti pesanan jual pasaran adalah jumlah mata wang, kerana walaupun harga tidak pasti, berapa banyak mata wang yang akan dijual dapat ditentukan.
Kontrak
Jumlah pesanan kontrak adalah istimewa, biasanya jumlah kontrak. Antara muka pesanan kontrak bursa pada dasarnya adalah jumlah kontrak, dan tidak ada antara muka yang mengambil jumlah mata wang sebagai kuantiti pesanan. Kontrak kekal BTC berasaskan USDT Binance
Apa itu mengambil, membuat perintah? Taker order adalah order yang menyediakan kecairan, secara ringkasnya, ia bermakna harga beli pasaran semasa adalah 10 dan harga jual adalah 11. pada masa ini, saya meletakkan order beli dengan harga beli 9, atau order jual dengan harga jual 12, pada masa ini, saya memberikan order untuk kedalaman cakera, dan order ini adalah maker. lagi contoh ini, jika saya meletakkan order beli pada harga 11, pada masa ini order saya akan diisi dengan order jual pada harga 11 di pasaran. dan saya mengambil order dari pasaran, order beli ini saya meletakkan pada masa itu adalah order taker.
Sebagai contoh, fungsi meletakkan pesananexchange.Sell
danexchange.Buy
Apabila meletakkan pesanan, sama ada pesanan diklasifikasikan sebagai penerima atau pembuat bergantung kepada harga pesanan dan pasaran pada masa itu, dan sama ada pesanan kami memberikan kecairan atau mengurangkan kecairan.
Apabila harga diteruskan dalam -1 di Platform Dagangan Kuantum FMZ, ia adalah untuk meletakkan pesanan pasaran, ambil perhatian bahawa jumlah pesanan pesanan membeli pesanan pasaran spot adalah jumlah, maka pesanan pasaran adalah pasti pengurangan dalam kecairan, dan ia mesti menjadi pesanan mengambil.
Mandat Perintah Syarat Pertukaran
Banyak bursa juga menyokong perintah bersyarat, sepertiiceberg order
, stop-loss order
, take-profit order
, post_only: only maker order
, fok: complete the deal or cancel immediately
, ioc: deal immediately and cancel the remaining
, dan sebagainya.
Perintah ini boleh menggunakanexchange.IO
fungsi di Platform Dagangan Kuantum FMZ untuk mengakses antara muka pesanan pertukaran secara langsung untuk menentukan parameter (tentukan perintah bersyarat yang akan diletakkan) untuk meletakkan pesanan.exchange.IO
fungsi, sila rujuk dokumentasi FMZ API:https://www.fmz.com/api#exchange.io…
Platform dagangan kuantitatif boleh dianggap sebagai alat dagangan kuantitatif, ia mungkin sistem perisian dalam talian, mungkin laman web, mungkin program pelaksanaan tempatan, atau mungkin juga projek sumber terbuka di GITHUB.
Platform Perdagangan Kuantum FMZ Platform Perdagangan Kuantum FMZ adalah sistem diedarkan dalam talian.https://www.fmz.com/bbs-topic/9090
Sistem pengujian belakang untuk platform dagangan kuantitatif Apakah sistem backtesting? Secara ringkasnya, sistem backtesting adalah untuk memainkan semula data sejarah pelbagai perdagangan tertentu, dan membiarkan strategi tertentu dimasukkan ke dalam pemutaran, dan mendapatkan prestasi perdagangan strategi ini ketika mensimulasikan pemutaran data sejarah. Sistem pengujian balik di Platform Dagangan Kuantum FMZ:
Nama | Jenis | Penerangan |
---|---|---|
Bitfinex | Objek pertukaran spot | Sokongan pasangan dagangan terhad, seperti: BTC_USD, ETH_USD, LTC_USD dll, ambil perhatian bahawa mata wang pasangan dagangan adalah USD, yang dilambangkan USD |
Binance | Objek pertukaran spot | Sokong pasangan dagangan terhad, seperti: BTC_USDT, ETH_USDT, ETH_BTC, LTC_BTC dll. |
OKEX | Objek pertukaran spot | vseperti: BTC_USDT, ETH_USDT, ETH_BTC, LTC_BTC dan sebagainya |
Huobi | Objek pertukaran spot | Sokong pasangan dagangan terhad, seperti: BTC_USDT, ETH_USDT, ETH_BTC, LTC_BTC dll. |
Masa hadapan OKEX | Objek pertukaran niaga hadapan | Sokong pasangan dagangan terhad, seperti: BTC_USD, ETH_USD dan lain-lain, mata wang denominasi pasangan dagangan adalah USD. Selepas menetapkan kod kontrak tertentu (lihat fungsi exchange.SetContractType), kontrak adalah kontrak berasaskan mata wang |
HuobiDM | Objek pertukaran niaga hadapan | HuobiDM adalah niaga hadapan Huobi (kontrak Huobi), menyokong pasangan dagangan terhad, seperti: BTC_USD,ETH_USD dll, mata wang denominasi pasangan dagangan adalah USD. Selepas menetapkan kod kontrak tertentu (lihat fungsi pertukaran.SetContractType), kontrak adalah kontrak berasaskan mata wang |
BitMEX | Objek pertukaran niaga hadapan | Pasangan dagangan adalah: XBT_USD. Selepas menetapkan kod kontrak tertentu (lihat fungsi exchange.SetContractType), kontrak adalah kontrak berasaskan mata wang |
Masa hadapan Binance | Objek pertukaran niaga hadapan | Sokong pasangan dagangan terhad, seperti: BTC_USDT, ETH_USDT dll, mata wang denominasi pasangan dagangan adalah USDT. Selepas menetapkan kod kontrak tertentu (lihat fungsi exchange.SetContractType), kontrak adalah kontrak berasaskan USDT |
Pilihan derivatif | Objek pertukaran opsyen | Pasangan dagangan adalah: BTC_USD, ETH_USD. Selepas menetapkan kod kontrak tertentu (lihat fungsi exchange.SetContractType), kontrak adalah kontrak berasaskan mata wang |
API KEY platform dagangan kuantitatif
Pertukaran mempunyai antara muka API, dan platform perdagangan kuantitatif juga mempunyai antara muka API.Extended API
, beberapa fungsi platform FMZ boleh dikendalikan secara berprogram, contohnya, membuat bot sebenar dalam batch, memulakan bot sebenar dalam batch, mengubah suai konfigurasi bot sebenar dalam batch, dll, untuk butiran, sila rujuk:https://www.fmz.com/api#api-extension-of-fmz-platformAPI sambungan juga boleh digunakan untuk melakukan sesuatu yang menarik, sepertiMenggunakan sambungan API Platform Dagangan Quant FMZ untuk melaksanakan perdagangan isyarat penggera TradingView
Setelah mengatakan bahawa, apa yang betul-betul mengawal akaun pertukaran saya untuk perdagangan secara automatik? Ini adalah perwujudan khusus perdagangan berprogram dan perdagangan kuantitatif - skrip perdagangan berprogram. Program bot sebenar ini boleh ditulis dalam pelbagai bahasa. Sebagai contoh, Platform Perdagangan Kuantiti FMZ menyokong menulis strategi perdagangan bot sebenar dalam bahasa JavaScript, Python, dan C ++. Program skrip ini menjalankan pelbagai operasi seperti membeli dan menjual akaun melalui antara muka API bursa.
Peranti di mana skrip perdagangan berprogram dijalankan
Program skrip bot sebenar mesti mempunyai pembawa peranti (singkatnya, bot sebenar mesti mempunyai tempat di mana ia berjalan). Transaksi kuantitatif biasanya menggunakan program bot sebenar di pelayan Alibaba Cloud di Hong Kong (tentu saja, anda juga boleh menggunakan pelayan dari tempat lain, pengendali lain).timeout
akan dilaporkan.
Pada platform FMZ, anda biasanya boleh menyebarkan program perisian anda sendiri di pelayan Awan Alibaba Hong Kong (perisian pembawa bot sebenar Platform Dagangan Kuantitif FMZ dipanggil [docker], dan bot sebenar perdagangan kuantitatif dijalankan berdasarkan perisian docker).
Pilihan bahasa skrip Terdapat terlalu banyak bahasa pengaturcaraan, dan hampir kesemuanya boleh digunakan untuk menulis program skrip bot sebenar. Di sini kita juga akan mengambil FMZ Quant Trading Platform sebagai contoh untuk memahami kelebihan pelbagai bahasa.
JavaScript Ia mudah digunakan, dan hampir bebas dari persekitaran peranti, ia menyokong standard ES6. Kelajuan pelaksanaan program strategi adalah kedua hanya kepada strategi C ++. (disyorkan untuk pemula di Platform Perdagangan Kuantum FMZ)
Python Ia bergantung kepada persekitaran peranti ke tahap tertentu, dan pelbagai perpustakaan boleh dipasang, dengan skalabiliti yang tinggi.
C++
Strategi ini mempunyai kelajuan pelaksanaan yang paling cepat, kecekapan tertinggi, tetapi ia lebih sukar digunakan.
Selepas membiasakan diri dengan ia, bahasa pengaturcaraan lain adalahso easy!
.
MyLanguage MyLanguage yang disokong oleh platform FMZ adalah perintah yang paling asas.
Strategi pemasangan modul visual Strategi penciptaan visual hanya digunakan untuk meningkatkan minat dan memahami logik program. Ia boleh digunakan untuk membuat beberapa logik mudah, tetapi ia tidak boleh digunakan apabila strategi agak kompleks, kerana sukar untuk mengekalkan, mengembangkan, dan merancang logik kompleks.