2.8 Memindahkan mod kemas kini data pasaran (untuk maklumat lanjut)

Penulis:Mimpi kecil, Dicipta: 2016-07-13 10:08:50, Dikemas kini: 2017-10-11 10:21:29

Mengubah mod kemas kini data pasaran

  • Di bawah ini adalah penerangan dalam dokumen API:
// 只支持Websocket模式(huobi, okcoin.cn, BTCC支持)与商品期货CTP协议
exchange.IO("websocket"); // 切换行情通信协议到websocket(默认为rest), Ticker, Depth会切换为websocket协议来更新, 商品期货CTP无需切换
// 切换GetTicker, GetDepth数据更新模式
exchange.IO("mode", 0); // 立即返回模式, 如果当前还没有接收到交易所最新的行情数据推送, 就立即返回旧的行情数据, 如果有新的数据就返回新的数据
exchange.IO("mode", 1); // 缓存模式(默认模式), 如果当前还没有收到交易所最新的行情数据(同上一次api获取的数据比较), 就等待接收然后再返回, 
                        //如果调用该函数之前收到了最新的行情数据, 就立即返回最新的数据
exchange.IO("mode", 2); // 强制更新模式, 进入等待一直到接收到交易所下一次的最新推送数据后返回
// 如果想第一时间获取最新的行情可以切换到websocket后不Sleep的立即检测数据, GetTicker, GetDepth用缓存模式进行工作
exchange.IO("websocket");
while (true) {
    Log(exchange.GetTicker());
}
  • Untuk memudahkan pengguna memahami, berikut adalah maklumat terperinci:

    • 1, Sistem platform secara lalai adalah mod rest: satu permintaan data API dalam mod rest, pelayan bursa mengembalikan satu data (yang terkini) Pelayan bursa tidak secara proaktif mendorong data terkini kepada pengguna. Oleh itu, strategi menggunakan mod rehat memerlukan permintaan data yang kerap untuk memastikan data terkini dapat diperoleh tepat pada masanya (tidak semestinya dapat diperoleh pada masa pertama data baru dihasilkan, kerana satu soalan menjawab, bertanya hanya menjawab)

    • 2. API yang disokong dalam mod websocket mempunyai GetTicker, GetDepth.exchanges[0].IO("websocket");Selepas fungsi, buka mod websocket. Pelajar yang berhati-hati mungkin dapat melihat mengapa exchanges[0] ditulis seperti ini. Lihat gambar di bawah.imgSebagai contoh, dua bursa yang ditambahkan ke dalam satu dasar (boleh juga lebih daripada satu) dan satu susunan objek global yang ditakrifkan oleh platform yang mewakili semua bursa yang ditambahkan ke dalam dasar, susunan ini adalah exchanges Susunan objek bursa, objek bursa utama adalah unsur pertama dalam susunan: exchanges[0] objek bursa mata wang; objek bursa kedua: exchanges[1] Objek bursa OKCoin.Exchange exchanges[0]; perdagangan yang menyokong websocket adalah semua mata wang, OKCoin Cash, BTCC.

    • Perbezaan antara mod websocket dan rest: dalam mod websocket, pengurus menghantar permintaan langganan kepada pelayan bursa, dan selepas pelayan bursa menerimanya. Setiap kali terdapat data terkini, ia secara proaktif disodorkan kepada pengurus. Pengurus menyimpan data ini, apabila robot strategi meminta data, data akan diperoleh dengan cepat, dan data adalah terkini.

    • 4. Apabila mod websocket diaktifkan, terdapat tiga mod kerja yang boleh ditetapkan:

      • <1> exchange.IO("mode",0);//Mode Kembali Segera: Mode ini akan mengembalikan data semasa (yang terkini) dengan segera.

      • <2> exchange.IO("mode", 1);//Cache mode ((Default mode): Mod ini mempunyai 2 cabang pemprosesan, yang terdiri daripada: Pertama, apabila API meminta data, jika data yang disimpan pada masa ini tidak terkini berbanding data yang diperoleh pada masa lalu, API yang meminta data akan menunggu untuk menerima dan menerima kembali. Kedua, apabila API meminta data, ia akan segera mengembalikan data terkini jika data yang disimpan pada masa ini dibandingkan dengan data yang diperoleh pada masa lalu (iaitu data terkini yang diterima sebelum data permintaan API dipanggil).

      • <3> exchange.IO("mode", 2);//Mode Pembaruan Memaksa: Mode ini mudah dikelirukan dengan cabang logik mod sandaran, tetapi dengan berfikir, ia dapat difahami. Kaedah cache adalah untuk menilai sama ada data yang disimpan adalah terkini. Kaedah pembaharuan paksa adalah bahawa sama ada pasaran sekarang adalah terkini atau tidak, mereka terpaksa menunggu data pasaran terkini seterusnya dihantar.


Lebih lanjut

hokshelato``js function main (() { Exchange.IO (("websocket"); while (true) { Log ((exchange.GetTicker))); {C:$0000FF} {C:$0000FF} `` 2.12 - ReferenceError: setLastError is not defined, diduga kerana sistem retargeting tidak menyokong data push tidak seiring. 2. Disk analog melaporkan kesilapan, `Futures_OP 4: tempoh tidak disokong `, dan hanya menerima satu data ticker, dan robot tidak dapat berhenti dengan normal, terus memberi isyarat untuk berhenti, dan perlu mati secara manual.

FangBeiBerapa banyak data yang disimpan? Berapa lama ia akan disimpan sebelum dibersihkan?

hokshelatoSaya faham, terima kasih!

Mimpi kecil1, Tiada rest dalam pengukuran semula, bahagian websocket.................................... 2, cakera analog tidak mempunyai mod websocket. Dokumen menulis Hanya OKEX token pro yang menyokong protokol websocket.

Mimpi kecilSaya ingin melihat lebih lanjut mengenai apa yang boleh disimpan di atas ratusan hingga beribu-ribu artikel.