مربع صفحہ پر بہت سے دلچسپ حکمت عملی ہیں (https://www.fmz.com/squareاس وقت، زیادہ تر cryptocurrency تبادلے API انٹرفیس کا استعمال کر رہے تھےrest
پروٹوکول، بہت سی حکمت عملیوں پر مبنی ہیںrest
لہذا ، بعض اوقات مارکیٹ کی قیمتوں کی تازہ کاری سست ہوتی ہے۔ اس کے علاوہ ، کچھ ایسے معاملات بھی ہوئے ہیں جن میں ایکسچینج rest
انٹرفیس مستقبل قریب میں ناکام ہو گیا ہے، جس کے نتیجے میں ایک حکمت عملی ہے کہ مناسب طریقے سے preforming نہیں کر سکتے ہیں.
جب تک حکمت عملی میں ترمیم کی جاتی ہے ، ویب ساکٹ انٹرفیس کے لئے معاونت شامل کرنے کے لئے حکمت عملی کے کوڈ میں کچھ تبدیلیوں کی ضرورت ہوتی ہے ، جو عام طور پر کافی پریشان کن ہوتا ہے (اسٹریٹیجی کو تبدیل کرنے کی مشکل اسے دوبارہ لکھنے سے کہیں زیادہ ہوتی ہے) ۔
کس طرح ہم حکمت عملی کوڈ کو تبدیل نہیں کر سکتے ہیں، لیکن ویب ساکٹ مارکیٹ کوٹ انٹرفیس استعمال کرتے ہیں؟
یہاں FMZ کوانٹ پلیٹ فارم کی مکمل لچک ہے، ہم استعمال کر سکتے ہیں:
حکمت عملی
ایکسچینج مارکیٹ کی قیمتوں کا تعین کرنے کے لئے ایک exchange.GetTicker
.
اس طرح، حکمت عملی کوڈ کو تبدیل کرنے کے بغیر، ڈیٹا کی طرف سے کارفرما اور دھکا استعمال کرتے ہوئے حکمت عملی کی اجازتwebsocket
مارکیٹ انٹرفیس.
کوڈ لکھنے کی زبان جاوا اسکرپٹ پروگرامنگ زبان کا استعمال کرتی ہے۔
مثال کے طور پر، جب ہمیں کلاسیکی حکمت عملی
حکمت عملی کا پتہ:https://www.fmz.com/strategy/9929
آئیے اسٹریٹیجی کوڈ پر ایک نظر ڈالتے ہیں اور دیکھتے ہیں کہ یہ حکمت عملیtick
یہ بنیادی طور پر کی خصوصیات کا استعمال کرتا ہےBuy
, Sell
، اورLast
میںticker
اعداد و شمارticker
اعداد و شمار FMZ Quant پلیٹ فارم کے API فنکشن سے حاصل کیے جاتے ہیں:exchange.GetTicker
. مقصد اب واضح ہے، ہم کو تبدیل کر سکتے ہیںexchange.GetTicker
کے ساتھ کامHook
آپریشن (یعنی اسے کسی اور ورژن سے تبدیل کریں) ۔
تاہم، ہم
تو ہمیں اگلے مرکزی کردار کی ضرورت ہے کہ وہ پہلی بار دکھائی دے۔
ہم
پھر 2 پیرامیٹرز کو مقرر کریںSeamlessConnWS
template.
یہ دونوں کنٹرول کرنے کے لئے استعمال کیا جاتا ہےwebsocket
انٹرفیس کی تقریب، اور کنٹرول ایک مخصوص مارکیٹ کوٹ انٹرفیس کھولنے کے لئے وضاحت کرتا ہے. اس مضمون کی حد کی وجہ سے، ہم صرف preformhook
کے لئے آپریشنexchange.GetTicker
انٹرفیس. اس وجہ سے ہم پیرامیٹر کو چالو کرنے کی ضرورت ہے ((Hook_GetTicker
) کےGetTicker
کے ساتھ انٹرفیسwebsocket
mode.
ایک بار ٹیمپلیٹ تخلیق کیا جاتا ہے، ہم تبادلہwebsocket
ٹیمپلیٹ میں انٹرفیس، کچھ قیمت درج کرنے کے لئے سبسکرائب کریں، اور پھر تبادلے کے فنکشن کوڈ کے اعداد و شمار کو آگے بڑھانے کے لئے انتظار کریں. مخصوص کوڈ یہاں بیان نہیں کیا جاتا ہے، آپ کو حوالہ دے سکتے ہیںSeamlessConnWS
کوڈ (پہلے سے ہی اوپن سورس) اور ایف ایم زیڈ کوانٹ سرکاری API دستاویزات.init
ٹیمپلیٹ میں فنکشن اور عالمی متغیرات_DictConnectCreater
, _ConnMap
:
کوڈ کا حصہ:
var _DictConnectCreater = {
"Huobi" : WSConnecter_Huobi,
"Binance" : WSConnecter_Binance,
}
var _ConnMap = {}
function init () {
if (IsUsedWebSocket) {
var connectCreater = null
if (exchanges.length != 1) {
Log("Switching to the ws interface only for the "exchange" exchange object (ie, the first added exchange object)")
}
var isFound = false
for (var name in _DictConnectCreater) {
if (exchange.GetName() == name) {
connectCreater = _DictConnectCreater[name]
isFound = true
}
}
if (!isFound) {
throw "Did not find an implementation"
}
if (Hook_GetTicker) {
var symbol = exchange.GetCurrency()
_ConnMap.GetTicker = connectCreater("GetTicker", symbol)
exchange.GetTicker = function () {
return _C(_ConnMap.GetTicker.Read)
}
}
// ...
}
}
یہ دیکھا جا سکتا ہے کہ یہ ٹیمپلیٹ صرفwebsocket
دو تبادلے، جو بائننس اور Huobi ہیں کے مارکیٹ انٹرفیس.init
SeamlessConnWS
سانچے،init
فنکشن کو پہلے حقیقی مارکیٹ چلانے کی ترقی کے دوران انجام دیا جائے گا.
ہم مواد کی جگہ لے سکتے ہیںexchange.GetTicker
کوڈ کے ساتھ فنکشنwebsocket
انٹرفیس، اس طرح ویب ساکٹ مارکیٹ کے لئے ہموار ڈاکنگ حاصل کرنے.
SeamlessConnWS
ٹیمپلیٹ کا پتہ:https://www.fmz.com/strategy/167755
کیک کا ایک ٹکڑا!SeamlessConnWS
آپ کی حکمت عملی لائبریری میں ٹیمپلیٹ، آپ کو صرف اس کا حوالہ دینے کے لئے
کلک کرنے کے لئے اس بات کا یقین چیک کریں ٹیمپلیٹ، اور محفوظ کریں بٹن.
ایک
پر کنٹرول پیرامیٹرز کھولیںSeamlessConnWS
template.
اسے چلائیں:
آسانی سے دھکا ڈیٹا کو دیکھنے کے لئے، لائن 157 پر، ہم خاص طور پر ایک پرنٹ لاگ کوڈ شامل، یہ تبادلے کی طرف سے دھکا ڈیٹا آؤٹ پٹ کرے گا.
روبوٹ لاگ میں دکھائیں:
اس طرح، ہم حکمت عملی کوڈ کی کسی بھی لائن کو تبدیل کرنے کی ضرورت نہیں ہے، اور ہموار کے ساتھ ڈاکنگ حاصل کرتا ہےwebsocket
مارکیٹ انٹرفیس.
یہ مثال صرف حکمت عملی کا استعمال کرنے کے لئے ہےexchange.GetTicker
مارکیٹ انٹرفیس فنکشن، دیگر مارکیٹ انٹرفیس جیسےexchange.GetDepth
, exchange.GetTrades
اورexchange.GetRecords
ایک ہی معمول ہیں! معیاری ٹیمپلیٹ کے لئےSeamlessConnWS
، آپ اسے مزید بڑھانے کی کوشش کر سکتے ہیں.
خصوصی لنک کے نفاذ کے لئےwebsocket
ٹیمپلیٹ میں، استعمال کریںDial
فنکشن (ڈائل فنکشن کے بارے میں API دستاویزات ملاحظہ کریں) ، جو ضرورت کے مطابق ایڈجسٹ کیا جا سکتا ہے. مثال کے طور پر آپ پیرامیٹر -2 کوread()
تقریب، صرف تازہ ترین اعداد و شمار کی واپسی کرتا ہے جس میں بفرwebsocket
کنکشن قبول کرتا ہے.
پڑھنے کے لئے شکریہ