خام مال فیوچر کی ٹک وصول کرنے کی حد کو توڑنے کے لئے کس طرح

مصنف:روبی, تخلیق: 2018-08-27 15:58:30, تازہ کاری:

ٹِک کیا ہے؟ مثال کے طور پر ، لین دین کے اعداد و شمار کو ایک دریا کے طور پر تصور کیا جاسکتا ہے ، اور ٹِک دریا کے ایک حصے کا ڈیٹا ہے۔ گھریلو مستقبل کی عمدہ ترین گرانولیٹی دو بار فی سیکنڈ ہے۔ دوسرے الفاظ میں ، گھریلو مستقبل 500 ملی سیکنڈ میں ایک ٹِک تک بھیجتا ہے۔

سب سے زیادہ گھریلو ((اس مضمون میں چین کا مطلب ہے) سافٹ ویئر ٹِک کیسے حاصل کرتا ہے؟

اس کے بعد اکثر 500 ملی سیکنڈ میں ایک سے زیادہ لین دین ہوتا ہے ، اور اس میں مخصوص صورتحال مکمل طور پر بلیک باکس ہوتی ہے۔ خاص طور پر خام مال کے مستقبل کی اعلی تعدد ٹریڈنگ کی حکمت عملی میں ، ٹک مارکیٹ کی وصولی کی رفتار حکمت عملی کی منافع بخش پر فیصلہ کن اثر ڈالتی ہے۔

مارکیٹ میں زیادہ تر تجارتی فریم ورک کال بیک موڈ کا استعمال کرتے ہیں ، جس کا مطلب ہے کہ مثالی صورتحال میں 500 ملی سیکنڈ میں زیادہ سے زیادہ ایک ٹِک ہوتا ہے۔ بار / آن ٹِک پر حقیقی صورتحال کے تحت ، ٹِک کو یاد نہ کرنا اچھا ہے۔ کیوں؟ کیونکہ آپ کو آن بار / آن ٹِک فنکشن میں پورے کوڈ منطق سے نمٹنا پڑتا ہے ، جس میں بہت زیادہ وقت لگتا ہے۔ چاہے آپ اسے چاہتے ہو یا نہیں ، آپ کی حکمت عملی منطق میں خلل پڑنا چاہئے ، آپ کو اس طرح کی حالت میں استعمال کرنا چاہئے:

img

زیادہ جدید طریقہ کار

ایف ایم زیڈ مقداری تجارتی پلیٹ فارم اس پسماندہ کال بیک میکانزم کو اپناتا نہیں ہے ، بلکہ اس اہم فنکشن میکانزم کو اپناتا ہے جو حکمت عملی کی منطق میں خلل نہیں ڈالتا ہے ، جس سے صارفین کو حکمت عملی کے بہاؤ کو زیادہ قدرتی طور پر کنٹرول کرنے کی اجازت ملتی ہے۔ حکمت عملی کی بنیادی سطح کے طور پر سی ++ اور گولانگ کا استعمال کرتے ہوئے ، حکمت عملی کی اوپری سطح منطقی مسائل کو سنبھالنے کے لئے جاوا اسکرپٹ / پائیٹون کا استعمال کرتی ہے۔ ایونٹ ٹرگر میکانزم کے ساتھ مل کر ، اس حکمت عملی کو پہلی بار میں تیز رفتار سے مارکیٹ پر کارروائی کرنے کے لئے بھی استعمال کیا جاسکتا ہے۔

یہ مت کہو کہ اسکرپٹ کی زبان سست ہے ، جب تک کہ آپ اسے نیورل نیٹ ورک کی تربیت کے لئے استعمال نہ کریں ، یہاں تک کہ اگر یہ تھا تو ، جٹ ہاٹ کمپلیشن شامل کرنے کے بعد اسے کسی بھی موقع پر استعمال کیا جاسکتا ہے۔ انٹری لیول کی حکمت عملی یہاں نہیں لکھی گئی ہے ، اور فیوچر کی اعلی تعدد ٹِک کی ترکیب کے بارے میں بات کریں۔ مثال کے طور پر ، اگر ہم کسی فیوچر کمپنی سے رابطہ کرتے ہیں تو ، ہم صرف اس فیوچر کمپنی کی مارکیٹ وصول کرسکتے ہیں۔ ہمارے وصول کرنے کی رفتار اور معیار ہمارے اپنے نیٹ ورک سے متعلق ہے ، اور فیوچر کمپنی کی فرنٹ اینڈ مشین کے بوجھ سے بھی متعلق ہے۔

لہذا ، ہم کس طرح زیادہ درست فیوچر ٹِک ڈیٹا کو تیزی سے حاصل کرسکتے ہیں؟ ایف ایم زیڈ کوانٹ کے اسٹریٹجک ماڈل کے تحت ، آپ آسانی سے مختلف فیوچر کمپنیوں کے اکاؤنٹس کا کام کرسکتے ہیں ، اور ان کی قیمتوں کو سب سے تیز رفتار سے احکامات پر کارروائی کرنے کے لئے جوڑ سکتے ہیں۔ عام حالات میں ، ہم فیوچر کمپنی سے فی سیکنڈ دو ٹِک حاصل کرسکتے ہیں ، لیکن مارکیٹ کو جوڑنے کی ٹیکنالوجی کے ذریعے ، مثال کے طور پر ایم اے 801 لیتے ہوئے ، ہم فی سیکنڈ چھ بار تک اور کوئی تکرار کے ساتھ ٹِک حاصل کرسکتے ہیں۔

img

کوڈ ڈیمو

یہ کوڈ صرف حقیقی مارکیٹ میں استعمال کیا جاسکتا ہے اور اس کا بیک ٹیسٹ نہیں کیا جاسکتا ہے۔ اگر آپ اسے ایف ایم زیڈ کوانٹ پلیٹ فارم پر استعمال نہیں کرتے ہیں تو ، آپ صرف اصول کا حوالہ دے سکتے ہیں۔ تبادلے کو شامل کرتے وقت ، مارکیٹ کے بیک وقت فیوژن پروسیسنگ کو انجام دینے کے لئے بہت سی فیوچر کمپنیاں شامل کی جاسکتی ہیں۔ یہاں دو تبادلے شامل کریں تاکہ بیان کیا جاسکے:

img

کوڈ مندرجہ ذیل ہے:

img

ڈیمو اثر

img

جیسا کہ اوپر دکھایا گیا ہے ، 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
        }
    }
}   



مزید