ऑर्डर प्रबंधन, क्या आप ऑर्डर संरचना में एक ऑर्डर समय जोड़ सकते हैं?

लेखक:सियानशुआन, बनाया गयाः 2016-05-02 18:39:20, अद्यतन किया गयाः

Order ऑर्डर संरचना, GetOrder फ़ंक्शन द्वारा लौटाई गई { Id: लेन-देन के लिए अद्वितीय पहचानकर्ता Price: नीचे की कीमत Amount: आदेश की मात्रा DealAmount: लेनदेन की मात्रा Status: ऑर्डर की स्थिति, संदर्भ स्थिर में ऑर्डर की स्थिति Type: ऑर्डर का प्रकार, संदर्भ स्थिर में ऑर्डर का प्रकार } इस संरचना में एक और अनुसूची समय है। जब बहुत सारे लंबित आदेशों पर कोई लेन-देन नहीं होता है, तो प्रत्येक लंबित आदेश का समय प्रभावी होना महत्वपूर्ण है।

उदाहरण के लिएः एक निश्चित समय से अधिक के लिए एक पोस्ट को हटाने के लिए कोडः function DelPendingOrderstime ((time) { के लिए प्रतीक्षा कर रहा है while (true) { var orders = GetRecords ((); if (!orders) { Sleep ((2000); Continue; } var counter = 0; for (var i = 0; i < orders.length; i++) { if (new Date().getTime() -orders[i].Time >= time) { exchange.CancelOrder ((orders[i].Id); counter++; Sleep ((2000); } } if (counter === 0) { ब्रेक; } } } यदि यह संभव है, तो ORDER संरचना में time की विशेषता होनी चाहिए; orders.time mql4 भाषा में, ऑर्डर करने वाले फ़ंक्शन के लिए एक विशेष ऑर्डर अवधि पैरामीटर होता है। मैं उम्मीद करता हूं कि बॉस इस समय को ऑर्डर संरचना में शामिल कर सकते हैं।


अधिक

शून्यठीक है, मैं जोड़ूंगा, यह अद्यतन करने से पहले ठीक हो जाएगा। एक विश्वव्यापी शब्दकोश बनाएँ और orderId को अगले आदेश के समय से मेल खाता है। समय प्राप्त करते समय, तालिका खोजें

छोटे सपने#### एक फ़ंक्शन के साथ वस्तुओं को वापस करने के लिए लिपटे हुए हैं. function createNewOrder ((order) { के लिए var opTime = new Date ((); return { आईडीः order.Id, // लेन-देन के लिए अद्वितीय आईडी Price: order.Price, // ऑर्डर की कीमत Amount: order.Amount, // आदेश की मात्रा DealAmount: order.DealAmount, // लेनदेन की संख्या Status: order.Status, // आदेश की स्थिति, संदर्भ में आदेश की स्थिति प्रकार time: opTime // नया जोड़ा गया गुण, इस फ़ंक्शन के लिए कॉल करने के लिए समय, जो आदेश संरचना प्राप्त करने के लिए GetOrder ((ID) फ़ंक्शन का उपयोग करता है }; } function main (() { var id = exchange.Buy ((-1,1); var order = exchange.GetOrder ((id); var newOrder = createNewOrder ((order); लॉग (("the newOrder `s time:",newOrder.time); लॉग (("the newOrder is:",newOrder); लॉग (("ORDER_STATE_PENDING:",ORDER_STATE_PENDING);//ORDER_STATE_PENDING : अभी तक पूरा नहीं हुआ लॉग (("ORDER_STATE_CLOSED:",ORDER_STATE_CLOSED);//ORDER_STATE_CLOSED : बंद कर दिया गया है लॉग (("ORDER_STATE_CANCELED", ORDER_STATE_CANCELED);//ORDER_STATE_CANCELED) } https://dn-filebox.qbox.me/0a03aebe3da604456adfc4f97dea02d5f8a74309.png क्या यह काम करता है? मैं भी कोशिश कर रहा हूँ.

सियानशुआनठीक है, उच्च स्तर पर शब्दकोश नहीं खेल सकते हैं, बस अपने मालिकों को अद्यतन करने के लिए इंतजार कर सकते हैं