ٹِک کیا ہے؟ مثال کے طور پر ، لین دین کے اعداد و شمار کو ایک دریا کے طور پر تصور کیا جاسکتا ہے ، اور ٹِک دریا کے ایک حصے کا ڈیٹا ہے۔ گھریلو مستقبل کی عمدہ ترین گرانولیٹی دو بار فی سیکنڈ ہے۔ دوسرے الفاظ میں ، گھریلو مستقبل 500 ملی سیکنڈ میں ایک ٹِک تک بھیجتا ہے۔
سب سے زیادہ گھریلو ((اس مضمون میں چین کا مطلب ہے) سافٹ ویئر ٹِک کیسے حاصل کرتا ہے؟
اس کے بعد اکثر 500 ملی سیکنڈ میں ایک سے زیادہ لین دین ہوتا ہے ، اور اس میں مخصوص صورتحال مکمل طور پر بلیک باکس ہوتی ہے۔ خاص طور پر خام مال کے مستقبل کی اعلی تعدد ٹریڈنگ کی حکمت عملی میں ، ٹک مارکیٹ کی وصولی کی رفتار حکمت عملی کی منافع بخش پر فیصلہ کن اثر ڈالتی ہے۔
مارکیٹ میں زیادہ تر تجارتی فریم ورک کال بیک موڈ کا استعمال کرتے ہیں ، جس کا مطلب ہے کہ مثالی صورتحال میں 500 ملی سیکنڈ میں زیادہ سے زیادہ ایک ٹِک ہوتا ہے۔ بار / آن ٹِک پر حقیقی صورتحال کے تحت ، ٹِک کو یاد نہ کرنا اچھا ہے۔ کیوں؟ کیونکہ آپ کو آن بار / آن ٹِک فنکشن میں پورے کوڈ منطق سے نمٹنا پڑتا ہے ، جس میں بہت زیادہ وقت لگتا ہے۔ چاہے آپ اسے چاہتے ہو یا نہیں ، آپ کی حکمت عملی منطق میں خلل پڑنا چاہئے ، آپ کو اس طرح کی حالت میں استعمال کرنا چاہئے:
زیادہ جدید طریقہ کار
ایف ایم زیڈ مقداری تجارتی پلیٹ فارم اس پسماندہ کال بیک میکانزم کو اپناتا نہیں ہے ، بلکہ اس اہم فنکشن میکانزم کو اپناتا ہے جو حکمت عملی کی منطق میں خلل نہیں ڈالتا ہے ، جس سے صارفین کو حکمت عملی کے بہاؤ کو زیادہ قدرتی طور پر کنٹرول کرنے کی اجازت ملتی ہے۔ حکمت عملی کی بنیادی سطح کے طور پر سی ++ اور گولانگ کا استعمال کرتے ہوئے ، حکمت عملی کی اوپری سطح منطقی مسائل کو سنبھالنے کے لئے جاوا اسکرپٹ / پائیٹون کا استعمال کرتی ہے۔ ایونٹ ٹرگر میکانزم کے ساتھ مل کر ، اس حکمت عملی کو پہلی بار میں تیز رفتار سے مارکیٹ پر کارروائی کرنے کے لئے بھی استعمال کیا جاسکتا ہے۔
یہ مت کہو کہ اسکرپٹ کی زبان سست ہے ، جب تک کہ آپ اسے نیورل نیٹ ورک کی تربیت کے لئے استعمال نہ کریں ، یہاں تک کہ اگر یہ تھا تو ، جٹ ہاٹ کمپلیشن شامل کرنے کے بعد اسے کسی بھی موقع پر استعمال کیا جاسکتا ہے۔ انٹری لیول کی حکمت عملی یہاں نہیں لکھی گئی ہے ، اور فیوچر کی اعلی تعدد ٹِک کی ترکیب کے بارے میں بات کریں۔ مثال کے طور پر ، اگر ہم کسی فیوچر کمپنی سے رابطہ کرتے ہیں تو ، ہم صرف اس فیوچر کمپنی کی مارکیٹ وصول کرسکتے ہیں۔ ہمارے وصول کرنے کی رفتار اور معیار ہمارے اپنے نیٹ ورک سے متعلق ہے ، اور فیوچر کمپنی کی فرنٹ اینڈ مشین کے بوجھ سے بھی متعلق ہے۔
لہذا ، ہم کس طرح زیادہ درست فیوچر ٹِک ڈیٹا کو تیزی سے حاصل کرسکتے ہیں؟ ایف ایم زیڈ کوانٹ
کوڈ ڈیمو
یہ کوڈ صرف حقیقی مارکیٹ میں استعمال کیا جاسکتا ہے اور اس کا بیک ٹیسٹ نہیں کیا جاسکتا ہے۔ اگر آپ اسے ایف ایم زیڈ کوانٹ پلیٹ فارم پر استعمال نہیں کرتے ہیں تو ، آپ صرف اصول کا حوالہ دے سکتے ہیں۔ تبادلے کو شامل کرتے وقت ، مارکیٹ کے بیک وقت فیوژن پروسیسنگ کو انجام دینے کے لئے بہت سی فیوچر کمپنیاں شامل کی جاسکتی ہیں۔ یہاں دو تبادلے شامل کریں تاکہ بیان کیا جاسکے:
کوڈ مندرجہ ذیل ہے:
ڈیمو اثر
جیسا کہ اوپر دکھایا گیا ہے ، 21:24:44 پر ، پہلی فیوچر کمپنی کے اعداد و شمار دوسرے سے پہلے ہیں۔ دو فیوچر کمپنیوں کو شامل کرنے سے یہ اثر ظاہر ہوسکتا ہے ، اگر آپ 5 سے زیادہ فیوچر کمپنیوں کو مل کر ضم کرنے کے لئے شامل کرتے ہیں تو ، آپ کو بنیادی طور پر ٹِک کی کمی کا کوئی امکان نہیں ہے۔ اگر آپ اعلی تعدد کی تجارتی حکمت عملی تیار کررہے ہیں تو ، آپ نے ایک بہت ہی اہم اور فیصلہ کن قدم حل کیا ہے ، یعنی ٹِک وصول کرنے کی رفتار اور استحکام۔
مکمل کوڈ حاصل کریں:
function main() {
log("Prepare to connect to the exchange and subscribe to the market")
//step 1:All futures front-end machines are starting to subscribe to the variety
_.each(exchanges, function(e){
/*Waiting to connect to the exchange. The strategy is running without
interruption, and it is not the logic of the event callback. */
while(!e.IO("status"))Sleep(1000);
/*Use _C function to troubleshoot network errors. If subscribe to the market just
after connecting to exchanges, there may be a CTP unprepared error. */
_C(e.SetContractType, "MA801")
/*Switch the market receiving mode to the immediate return mode instead of the
event trigger mode. Refer to the API documentation on FMZ website. */
e.IO("mode", 0)
})
Log("start fusing the data")
//step 2: the important part begins
var preVolume = 0
while (true) {
var ts = new Date().getTime()
//Return if any exchanges occur tick event
var ret = exchange.IO("wait_any")
//Reset Volume at the right time
if (ret.Nano/1000000 - ts > 60000) {
preVolume = 0
}
//Target the exchange where the event occurred
var e = exchanges[ret.Index]
//Get ticker, because of switching mode as return before, so here is the updated market, and GetTicker won't fail
//Only the Tick with increasing volume is displayed. It no need to compare actual process, just process it.
var ticker = e.GetTicker()
if (ticker.Volume >= preVolume){
Log(ret,ticker.Last, ticker.Volume)
preVolume = ticker.Volume
}
}
}