2.8 مارکیٹ کے اعداد و شمار کو اپ ڈیٹ کرنے کے طریقوں کو تبدیل کریں (تفصیلات)

مصنف:چھوٹا سا خواب, تخلیق: 2016-07-13 10:08:50, تازہ کاری: 2017-10-11 10:21:29

مارکیٹ کے اعداد و شمار کو اپ ڈیٹ کرنے کا طریقہ تبدیل کریں

  • یہاں 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());
}
  • اس کے علاوہ ، آپ کو یہ بھی جاننا ہوگا کہ آپ کو کس طرح استعمال کرنا چاہئے:

    • 1 ، پلیٹ فارم سسٹم کا ڈیفالٹ ریسٹ موڈ ہے: ریسٹ موڈ میں ایک API ڈیٹا کی درخواست ، ایکسچینج سرور ایک ڈیٹا واپس کرتا ہے ((موجودہ تازہ ترین) ایکسچینج سرورز صارفین کو تازہ ترین اعداد و شمار کو متحرک طور پر آگے نہیں بڑھاتے ہیں۔ لہذا حکمت عملیوں کو ریسٹ موڈ کا استعمال کرتے ہوئے اکثر ڈیٹا کی درخواست کرنے کی ضرورت ہوتی ہے تاکہ تازہ ترین اعداد و شمار کو بروقت طور پر حاصل کیا جاسکے ((یہ ضروری نہیں ہے کہ نئے اعداد و شمار کی تخلیق کے پہلے وقت میں حاصل کیا جاسکے ، کیونکہ ایک سوال کا جواب ، سوال کا جواب)

    • 2، ویب ساکٹ موڈ کی حمایت API ہے، GetTicker، GetDepth.exchanges[0].IO("websocket");اس کے بعد، آپ کو ویب ساکٹ موڈ کھولنے کی ضرورت ہے. ایک محتاط طالب علم دیکھ سکتا ہے کہ کیوں exchanges[0] اس طرح لکھے جاتے ہیں۔imgمثال کے طور پر ، ایک پالیسی میں دو تبادلے شامل کیے گئے ہیں (یہ متعدد ہوسکتے ہیں) ، پلیٹ فارم کے ذریعہ بیان کردہ عالمی اشیاء میں سے ایک صف میں شامل تمام تبادلے کی نمائندگی کرتی ہے ، یہ صف تبادلہ ہے۔ تبادلہ آبجیکٹ سیٹ ، جس کا مرکزی تبادلہ آبجیکٹ صف کا پہلا عنصر ہے: تبادلہ [0] ٹوکن ایکسچینج آبجیکٹ ؛ دوسرا تبادلہ آبجیکٹ: تبادلہ [1] OKCoin تبادلہ آبجیکٹ ؛ exchange exchanges [0] ؛ websocket کی معاونت کرنے والے تمام ٹوکن ، OKCoin نقد ، BTCC کی تجارت۔ CTP کموڈٹی فیوچر CTP پروٹوکول ہے ، جو ویب ساکٹ کی طرح ہے ، اس کا استعمال کرتے وقت کوئی سوئچ کی ضرورت نہیں ہے۔

    • 3، ویب ساکٹ موڈ باقی سے فرق کرتا ہے: ویب ساکٹ موڈ میں ، منتظم ایکسچینج سرور کو خریداری کی درخواست بھیجتا ہے ، اور ایکسچینج سرور اسے وصول کرنے کے بعد۔ جب بھی تازہ ترین ڈیٹا موجود ہوتا ہے تو ، منتظم کو خود بخود آگے بڑھایا جاتا ہے۔ منتظم اس ڈیٹا کو محفوظ کرتا ہے ، جب حکمت عملی روبوٹ ڈیٹا کی درخواست کرتا ہے تو ، یہ تیزی سے دستیاب ہوتا ہے ، اور ڈیٹا تازہ ترین ہوتا ہے۔ (کیونکہ ایکسچینج سرور جب بھی نیا ڈیٹا اپ ڈیٹ ہوتا ہے تو خود بخود آگے بڑھاتا ہے)

    • 4، ویب ساکٹ موڈ کو چلانے کے بعد، آپ کو تین کام کرنے کے طریقوں کو ترتیب دے سکتے ہیں:

      • <1> exchange.IO("mode",0);// فوری واپسی کا موڈ: یہ موڈ فوری طور پر موجودہ اعداد و شمار ((موجودہ تازہ ترین) کو واپس کرتا ہے۔

      • <2> exchange.IO("mode", 1);//کیشے کا موڈ ((ڈیفالٹ موڈ): یہ موڈ 2 پروسیسنگ شاخوں میں تقسیم کیا جاتا ہے، جس میں سے ایک کیشے کا موڈ ہے اور دوسرا کیشے کا موڈ ہے۔ پہلا، جب API ڈیٹا کی درخواست کرتا ہے تو، اگر موجودہ کیشے میں موجود ڈیٹا پچھلے API سے حاصل کردہ ڈیٹا کے مقابلے میں تازہ ترین نہیں ہے تو، درخواست کردہ ڈیٹا کا API انتظار کرتا ہے، وصول کرتا ہے اور واپس آتا ہے. دوسرا، جب ای پی آئی ڈیٹا کی درخواست کرتی ہے تو ، اگر موجودہ کیشے میں موجود ڈیٹا کو پچھلی ای پی پی سے حاصل کردہ ڈیٹا کے مقابلے میں تازہ ترین (یعنی ای پی پی کی درخواست کے اعداد و شمار کو کال کرنے سے پہلے تازہ ترین تجارتی اعداد و شمار موصول ہوئے تھے) تو ، یہ فوری طور پر تازہ ترین اعداد و شمار واپس کرتا ہے۔

      • <3> exchange.IO("mode،" 2);// مجبور اپ ڈیٹ موڈ: یہ موڈ ایک نظر میں کیشنگ موڈ کی ایک منطقی شاخ کے ساتھ الجھن میں پڑ سکتا ہے، لیکن یہ سوچنے کے لئے آسان ہے. کیچنگ موڈ کا مطلب یہ ہے کہ کیچڈ ڈیٹا کی تازگی کا فیصلہ کیا جاتا ہے۔ جب کہ جبری اپ ڈیٹ موڈ کا مطلب یہ ہے کہ موجودہ مارکیٹ تازہ ترین ہو یا نہ ہو ، اگلے تازہ ترین مارکیٹ کے اعداد و شمار کو آگے بڑھانے کے لئے انتظار کرنا ضروری ہے۔ (اس دوران درخواست دینے والے API کا انتظار رہتا ہے)


مزید

ہاکسلاٹو` `js function main (() { exchange.IO (("ویب ساکٹ"); while (true) { لاگ ((exchange.GetTicker)) ؛ } } `` 1۔ دوبارہ جانچ پڑتال کرنے میں ناکام، غلطی کی اطلاع `main:2:12 - ReferenceError: setLastError is not defined `، یہ اندازہ لگایا جا رہا ہے کہ دوبارہ جانچ کا نظام ڈیٹا کی متضاد پلگ ان کی حمایت نہیں کرتا ہے۔ 2۔ ڈسک کی خرابی کی اطلاع ، `Futures_OP 4: period not support ` ، پھر صرف ایک ٹکر ڈیٹا موصول ہوتا ہے ، اور روبوٹ کو عام طور پر روکنے میں ناکام رہتا ہے ، جو ٹکر کو روکنے کے لئے مسلسل اشارہ کرتا رہتا ہے ، اسے دستی طور پر ختم کرنا پڑتا ہے۔

فینگ بیکیا آپ کو معلوم ہے کہ آپ کے پاس کتنے ڈیٹا کیش ہیں؟ آپ کو معلوم ہے کہ آپ کے پاس کتنے ڈیٹا کیش ہیں؟

ہاکسلاٹوسمجھ میں آیا، شکریہ!

چھوٹا سا خواب1، دوبارہ جانچ میں کوئی rest نہیں، ویب ساکٹ کا حصہ۔ 2، ڈسک میں ویب ساکٹ موڈ نہیں ہے۔ دستاویزات میں لکھا گیا ہے کہ صرف OKEX ٹوکن پرو ویب ساکٹ پروٹوکول کی حمایت کرتا ہے۔

چھوٹا سا خواباس کے علاوہ ، میں نے اپنے بلاگ پر کچھ مضامین لکھے ہیں جن کے بارے میں میں سوچ رہا ہوں: