Pantau beberapa node komunikasi terenkripsi.js/ccxt online melalui perpustakaan beragampengetahuan – Lainnya – 5 Juli 2025 – Beragampengetahuan
Ini adalah bagian terpenting dari demo baru MultiExChangewatch.mq5 (Disediakan dengan versi beta perpustakaan).
NB: Jika skrip berjalan untuk pertama kalinya, itu akan membutuhkan (secara manual) server aplikasi CCXT (diekstraksi dari sumber daya bawaan sebagai ccxtappsrvbundle.jsc) dan menggunakannya untuk menjalankan node.js.
Pertama, sertakan judulnya.
#include "ccxtjsmtlib.mqh" #include "ccxtutil.mqh" #include <MQL5Book/Comments.mqh>
Dalam input, pengaturan server node harus dibuat.
input group "Connection settings" input string NodeServer = "http://127.0.0.1:8124"; input string NodeAuth = "";
Selanjutnya, tentukan banyak bursa, stok, dan satu jenis jam tangan untuk dipantau. Secara default, skrip menonton pesanan buku pesanan BCH/USDT.
Untuk mengisi input ini dengan benar dengan nilai yang disukai, Anda mungkin perlu mengeluarkan daftar pertukaran yang didukung dan pasar mereka di muka. Dapat dilihat dalam skrip contoh lain Ccxtappsrvshowcase.mq5dengan kebebasan.
input string Exchanges = "ascendex,bitmart,binance"; input string Ticker = "BCH/USDT"; input string Watch = "watchOrderBook"; input uint WatchingDuration = 10;
Kemudian Mulai Penangan aktivitas menyelesaikan pekerjaan. Komentar inline menjelaskan prosesnya. Fungsi impor, kelas, dan metode dari perpustakaan disorot dengan warna kuning.
string Exchange[]; void OnStart() { PrintFormat("CCXT AppSrvLibrary version: %.2f", AppSrvLibraryVersion()); const static string status[] = "Can't deploy", "App server ZIP is deployed, but not extracted", "App server files are deployed"; const int d = DeployCcxtAppServer(); Print(status[d + 1]); if(d <= 0) return; SetNodeServer(NodeServer, NodeAuth); CcxtLink *link = GetLink(); AutoPtr<CcxtJsExchangeProIntf> ccxt[]; const int n = StringSplit(Exchanges, ',', Exchange); ArrayResize(ccxt, n); for(int i = 0; i < n; i++) !ccxt[i][] int active = 0; for(int i = 0; i < n; i++) if(ccxt[i][].upgrade()) if(!ccxt[i][].watchAnything(StringFormat("%s(\"%s\")", Watch, Ticker))) PrintFormat("Can't start %s for %s", Watch, Exchange[i]); ccxt[i][].close(); ccxt[i] = NULL; else active++; else if(ccxt[i][].isConnected()) Print("Can't upgrade to websockets"); string headers[][2]; if(ccxt[i][].ws().getHeaders(headers)) ccxt[i][].ws().close(); ccxt[i][].close(); ccxt[i] = NULL; if(!active) return; PrintFormat("* Monitoring %d subscriptions", active); const uint start = GetTickCount(); while(!IsStopped() && (!WatchingDuration || GetTickCount() - start < WatchingDuration * 1000)) for(int i = 0; i < n; i++) if(ccxt[i][] && ccxt[i][].isConnected()) AutoPtr<JsValue> j = ccxt[i][].readMessage(false); if(j[]) ChronoComment(j[].stringify(0, 0)); Print("* Unsubscribing..."); for(int i = 0; i < n; i++) if(ccxt[i][] && ccxt[i][].isConnected()) ccxt[i][].un().watchAnything(StringFormat("%s(\"%s\")", Watch, Ticker)); GracefullClose(ccxt); // not presented here in the blog GracefullClose(ccxt, 5, true); Comment(""); }
Ketika skrip sedang berjalan, daftar buku pesanan yang masuk (JSON-messages) adalah output dan diperbarui secara aktif pada grafik.

Selain aliran data tersebut, mudah untuk menerapkan berbagai strategi arbitrase dan menghitung statistik gabungan.
Contents
trading forex
seputar forex
stratégie forex gagnante, forex adalah, harga emas hari ini seputar forex
, forex factory, broker forex terbaik, forex factory calendar, harga emas forex, kalender forex, robot trading forex, forex calendar, seputar forex harga emas hari ini, berita forex hari ini
#Pantau #beberapa #node #komunikasi #terenkripsi.jsccxt #online #melalui #perpustakaan #beragampengetahuan #Lainnya #Juli