संसाधन लोड हो रहा है... लोड करना...

संरचनाएं

व्यापार

बाजार लेनदेन के रिकॉर्ड की संरचना।

बाजार लेन-देन रिकॉर्ड आईडी, या यदि एक्सचेंज इंटरफ़ेस आईडी प्रदान नहीं करता है तो इसे भरने के लिए एक टाइमस्टैम्प का उपयोग करें। आईडी स्ट्रिंग मिलीसेकंड का टाइमस्टैम्प। समय संख्या लेन-देन की कीमत। मूल्य संख्या लेन-देन राशि। राशि संख्या आदेश का प्रकार, {@var/ORDER_TYPE/ORDER_TYPE_BUY ORDER_TYPE_BUY}, {@var/ORDER_TYPE/ORDER_TYPE_SELL ORDER_TYPE_SELL} पर जाएँ। प्रकार संख्या

exchange.GetTrades() फ़ंक्शन व्यापार या खाली सरणी का एक सरणी लौटाता है.

{@मज़ा/बाजार/विनिमय.GetTrades विनिमय.GetTrades}

टिकर

बाजार की संरचना।

एक्सचेंज इंटरफेस द्वारा लौटाए गए मूल डेटा, बैकटेस्टिंग के लिए ऐसी कोई विशेषता उपलब्ध नहीं है। जानकारी वस्तु दSymbolफ़ील्ड एफएमजेड प्लेटफॉर्म द्वारा परिभाषित ट्रेडिंग किस्म कोड है।

  • स्पॉट एक्सचेंज ऑब्जेक्ट के लिएSymbolफ़ील्ड मान (उदाहरण के रूप में) हैःBTC_USDT, BTC_USDT स्पॉट ट्रेडिंग जोड़ी को दर्शाता है।
  • वायदा विनिमय वस्तु के लिए,Symbolक्षेत्र मान (उदाहरण के रूप में) हैBTC_USDT.swap, जो BTC के लिए USDT स्वामित्व स्थायी अनुबंध का प्रतिनिधित्व करता है।
  • वायदा विनिमय वस्तुओं के लिए,Symbolफ़ील्ड मान है (उदाहरण के लिए):BTC_USDT.BTC-240108-40000-C, जो USDT में BTC का कॉल ऑप्शन कॉन्ट्रैक्ट है, जिसका अभ्यास तिथि 8 जनवरी 2024 है और जिसका अभ्यास मूल्य 40,000 है।

प्रतीक स्ट्रिंग उच्चतम मूल्य, या यदि विनिमय इंटरफ़ेस 24 घंटे का उच्चतम मूल्य प्रदान नहीं करता है, तो भरने के लिए एक बिक्री मूल्य का उपयोग करें। उच्च संख्या सबसे कम कीमत, या यदि विनिमय इंटरफ़ेस 24 घंटे की सबसे कम कीमत प्रदान नहीं करता है, तो भरने के लिए एक खरीद मूल्य का उपयोग करें। कम संख्या वर्तमान क्षण एक मूल्य बेचता है। बेचना संख्या वर्तमान क्षण की एक कीमत है। खरीदना संख्या नवीनतम लेनदेन मूल्य। अंतिम संख्या अवधि खुला मूल्य, यदि विनिमय इंटरफ़ेस 24 घंटे की रोलिंग अवधि खुला मूल्य प्रदान नहीं करता है, तो वर्तमान मूल्य का उपयोग भरने के लिए किया जाता है। खुला संख्या हाल के लेनदेन की राशि, सिद्धांत रूप में, स्पॉट लेनदेन की राशि आधार मुद्रा में है, और अनुबंध लेनदेन की राशि अनुबंधों की संख्या में है। यदि विनिमय इंटरफ़ेस ऐसा डेटा प्रदान नहीं करता है, तो इसे विनिमय इंटरफ़ेस में उपलब्ध डेटा के साथ भरा जाएगा, उदाहरण के लिए, लेनदेन की राशि उद्धरण मुद्रा में हो सकती है। मात्रा संख्या मिलीसेकंड स्तर का टाइमस्टैम्प। समय संख्या स्थिति, अधिकतर एक्सचेंज इंटरफेस इस डेटा को प्रदान नहीं करते हैं और जब यह डेटा समर्थित नहीं होता है तो मान 0 होता है। ओपन इंटरेस्ट संख्या

exchange.GetTicker() फ़ंक्शन एक टिकर संरचना लौटाता है. विकल्प अनुबंधों के लिए,exchange.GetTicker()फ़ंक्शन कॉल त्रुटियों के लिए प्रवण है। चूंकि विकल्प अनुबंध बाजार तरलता आमतौर पर खराब होती है, इसलिए अक्सर पहले खरीदने या पहले बेचने के लिए कोई लंबित आदेश नहीं होते हैं। इस समय जब एफएमजेड निचली परत का पता लगाता है किTickerसंरचना क्षेत्रBuyयाSellहै 0, एक त्रुटि संकेत ट्रिगर किया जाएगा.

{@मज़ा/बाजार/विनिमय.GetTicker विनिमय.GetTicker}, {@मज़ा/बाजार/विनिमय.GetTickers विनिमय.GetTickers}

रिकॉर्ड

के-लाइन बार की संरचना, मानक ओएचएलसी संरचना, का उपयोग गणना और विश्लेषण के लिए के-लाइन और संकेतकों को आकर्षित करने के लिए किया जाता है।

मिलीसेकंड स्तर का टाइमस्टैम्प, एक रिकॉर्ड संरचना के लिए जिसका टाइम एट्रिब्यूट मान इस K-लाइन बार की अवधि का प्रारंभ टाइमस्टैम्प है. समय संख्या उद्घाटन मूल्य। खुला संख्या उच्चतम मूल्य। उच्च संख्या सबसे कम कीमत. कम संख्या समापन मूल्य. बंद करना संख्या स्थिति राशि, अधिकांश विनिमय इंटरफेस यह डेटा प्रदान नहीं करते हैं, मान 0 है जब यह डेटा समर्थित नहीं है। ओपनइंटरस्ट संख्या लेन-देन की राशि। सिद्धांत रूप में, स्पॉट लेनदेन की राशि बेस करेंसी में है और अनुबंध लेनदेन की राशि अनुबंधों की संख्या में है। यदि एक्सचेंज इंटरफ़ेस ऐसा डेटा प्रदान नहीं करता है, तो इसे एक्सचेंज इंटरफ़ेस से मौजूदा डेटा के साथ भरा जाएगा, उदाहरण के लिए, बोली में लेनदेन की राशि करेंसी। मात्रा संख्या

exchange.GetRecords() फ़ंक्शन रिकॉर्ड्स या खाली सरणी की एक सरणी लौटाता है। प्रत्येक रिकॉर्ड संरचना एक K-लाइन बार का प्रतिनिधित्व करती है, अर्थात एक K-लाइन बार।

{@मज़ा/बाजार/विनिमय.GetRecordsविनिमय.GetRecords}

आदेश

आदेश की संरचना।

एक्सचेंज इंटरफेस प्रतिक्रिया के मूल डेटा, ऐसी कोई विशेषता बैकटेस्टिंग के लिए उपलब्ध नहीं है। जानकारी वस्तु दSymbolक्षेत्र एफएमजेड प्लेटफॉर्म द्वारा परिभाषित ट्रेडिंग उत्पाद कोड है और इसका प्रारूपSymbol{@struct/Ticker Ticker} संरचना का क्षेत्र।

  • स्पॉट एक्सचेंज वस्तुओं के लिए,Symbolफ़ील्ड मान है (उदाहरण के लिए):BTC_USDT, BTC_USDT स्पॉट ट्रेडिंग जोड़ी को दर्शाता है।
  • वायदा विनिमय वस्तुओं के लिए,Symbolफ़ील्ड मान है (उदाहरण के लिए):BTC_USDT.swap, जो BTC के USDT-मानक स्थायी अनुबंध का प्रतिनिधित्व करता है।

प्रतीक स्ट्रिंग ऑर्डर आईडी, इस विशेषता में एक्सचेंज उत्पाद कोड और एक्सचेंज मूल आदेश आईडी शामिल हैं, जिन्हें अंग्रेजी अल्पविराम से अलग किया गया है। उदाहरण के लिए, विशेषताIdस्पॉट ट्रेडिंग जोड़ी का प्रारूपETH_USDTओकेएक्स विनिमय का क्रम हैःETH-USDT,1547130415509278720. आईडी स्ट्रिंग ऑर्डर की कीमत, ध्यान दें कि यह विशेषता बाजार ऑर्डर के लिए 0 या -1 हो सकती है। मूल्य संख्या रखे गए आदेशों की संख्या, ध्यान दें कि बाजार आदेश की यह विशेषता एक राशि हो सकती है न कि मुद्रा। राशि संख्या लेन-देन की संख्या, यदि एक्सचेंज इंटरफेस यह डेटा प्रदान नहीं करता है तो संभवतः 0 के साथ पैड किया गया। सौदा राशि संख्या औसत लेनदेन मूल्य, ध्यान दें कि कुछ एक्सचेंजों में यह डेटा उपलब्ध नहीं है। यदि यह उपलब्ध नहीं है और गणना नहीं की जा सकती है तो यह विशेषता 0 पर सेट की जाती है। औसत मूल्य संख्या आदेश की स्थिति, {@var/ORDER_STATE/ORDER_STATE_PENDING ORDER_STATE_PENDING}, {@var/ORDER_STATE/ORDER_STATE_CLOSED ORDER_STATE_CLOSED}, {@var/ORDER_STATE/ORDER_STATE_CANCELED ORDER_STATE_CANCELED}, {@var/ORDER_STATE/ORDER_STATE_UNKNOWN ORDER_STATE_UNKNOWN} से संदर्भित करें। स्थिति संख्या आदेश का प्रकार, {@var/ORDER_TYPE/ORDER_TYPE_BUY ORDER_TYPE_BUY}, {@var/ORDER_TYPE/ORDER_TYPE_SELL ORDER_TYPE_SELL} पर जाएँ। प्रकार संख्या अनुबंध आदेशों के उद्घाटन और समापन की दिशा के लिए {@var/ORDER_OFFSET/ORDER_OFFSET_OPEN ORDER_OFFSET_OPEN}, {@var/ORDER_OFFSET/ORDER_OFFSET_CLOSE ORDER_OFFSET_CLOSE} देखें। ऑफसेट संख्या स्पॉट ऑर्डर में यह विशेषता है""एक अनुबंध आदेश में, यह विशेषता विशिष्ट अनुबंध कोड है। अनुबंध प्रकार स्ट्रिंग

..Orderआदेश संरचना द्वारा लौटाया जा सकता हैexchange.GetOrder()औरexchange.GetOrders()कार्य।exchange.GetOrders()फ़ंक्शन के एक सरणी देता हैOrderसंरचना या एक खाली सरणी. यदि कोई अधूरा आदेश नहीं है, यह लौटता है[], जो एक खाली सरणी है.Statusसम्पत्तिOrderआदेश संरचना की तुलना सीधे स्थिर के साथ की जा सकती है जैसेORDER_STATE_PENDINGयह निर्धारित करने के लिए कि क्या वे समान हैं और इस प्रकार आदेश की स्थिति निर्धारित करते हैं।

एकतरफा स्थिति मोड के लिए, जब यह निर्धारित करना असंभव है कि आदेश एक बंद (कम) आदेश है, तोOffsetफ़ील्ड डिफ़ॉल्ट रूप से खोलने की दिशा पर सेट है, अर्थात,ORDER_OFFSET_OPEN.

{@fun/Trade/exchange.GetOrder exchange.GetOrder}, {@fun/Trade/exchange.GetOrders exchange.GetOrders}, {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}, {@fun/Trade/exchange.GetHistoryOrders exchange.GetOrder}, {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}, {@fun/Trade/exchange.GetHistoryOrders exchange.GetOrder}, {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}, {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}, {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}, {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}, {@fun/Trade/exchange.GetHist

आदेश पुस्तिका

बाजार की गहराई में ऑर्डर संरचना।

कीमत। मूल्य संख्या राशि। राशि संख्या

GetDepth() फ़ंक्शन एक डेटा संरचना देता है जिसमें बोली, पूछता है के गुण मान ऑर्डरबुक सरणी हैं.

{@fun/Market/exchange.GetDepth exchange.GetDepth}, {@struct/Depth Depth}

गहराई

बाजार की गहराई का ढांचा।

बेचने के आदेश सरणी, यानी OrderBook सरणी, सबसे कम से उच्चतम मूल्य के अनुसार क्रमबद्ध है, और सरणी में पहले OrderBook संरचना में सबसे कम मूल्य है। पूछता सरणी खरीद ऑर्डर सरणी, यानी ऑर्डरबुक सरणी, उच्चतम से निम्नतम तक मूल्य द्वारा क्रमबद्ध की जाती है, और सरणी में पहले ऑर्डरबुक संरचना में उच्चतम मूल्य होता है। बोली सरणी मिलीसेकंड स्तर का टाइमस्टैम्प। समय संख्या

exchange.GetDepth() फ़ंक्शन एक Depth संरचना लौटाता है.

{@fun/Market/exchange.GetDepth exchange.GetDepth}, {@struct/OrderBook OrderBook}, {@struct/OrderBook OrderBook}, {@struct/OrderBook OrderBook}, {@struct/OrderBook OrderBook}, {@struct/OrderBook OrderBook}, {@struct/OrderBook OrderBook}, {@struct/OrderBook OrderBook}, {@struct/OrderBook OrderBook}, {@struct/OrderBook OrderBook}, {@struct/OrderBook OrderBook}, {@struct/OrderBook OrderBook}, {@struct/OrderBook OrderBook}, {@struct/OrderBook OrderBook}, {@struct/OrderBook OrderBook}, {@struct/OrderBook}, {@struct/OrderBook}, {@struct/OrderBook}, {@struct/OrderBook}, {@struct/OrderBook}

खाता

खाते की जानकारी की संरचना।

एक्सचेंज इंटरफेस द्वारा लौटाए गए मूल डेटा, बैकटेस्टिंग के लिए ऐसी कोई विशेषता उपलब्ध नहीं है। जानकारी वस्तु उपलब्ध मुद्राओं की संख्या, स्पॉट में, यदि ट्रेडिंग जोड़ी BTC_USDT है, तो शेष वर्तमान में उपलब्ध USDT की संख्या को संदर्भित करता है। यू-मानक अनुबंध में, शेष उपलब्ध मार्जिन की राशि (USDT, उद्धरण मुद्रा) को संदर्भित करता है। शेष राशि संख्या जब आदेश को पूरा नहीं किया जाता है तो जमे हुए परिसंपत्तियों का मूल्य। जमे हुए संख्या उपलब्ध ट्रेडिंग मुद्राओं की संख्या, स्पॉट में, यदि ट्रेडिंग जोड़ी BTC_USDT है, तो स्टॉक वर्तमान में उपलब्ध BTC की संख्या को संदर्भित करता है। स्टॉक मुद्रा-आधारित अनुबंध में उपलब्ध मार्जिन (मुद्रा, आधार मुद्रा) की संख्या को संदर्भित करता है। स्टॉक संख्या जब आदेश को पूरा नहीं किया जाता है तो जमे हुए परिसंपत्तियों का मूल्य। जमे हुए स्टॉक संख्या केवल वायदा विनिमय वस्तुएं इस क्षेत्र का समर्थन करती हैं।Equityक्षेत्र वर्तमान अनुबंध सेटिंग के तहत वायदा खाते के मार्जिन का कुल स्वामित्व है। यदि विनिमय इंटरफ़ेस प्रासंगिक डेटा प्रदान नहीं करता है, तो यह क्षेत्र 0 है।

इक्विटी संख्या यह फ़ील्ड केवल वायदा विनिमय वस्तुओं द्वारा समर्थित है।UPnLक्षेत्र का योग हैअव्यवस्थित लाभ और हानिवर्तमान अनुबंध सेटिंग्स के तहत वायदा खाते के मार्जिन द्वारा खोले गए सभी पदों का।

यूपीएनएल संख्या

exchange.GetAccount() फ़ंक्शन एक खाता संरचना लौटाता है। लौटाई गई संरचना में डेटा वर्तमान में सेट ट्रेडिंग जोड़ी, अनुबंध कोड पर निर्भर करता है.

{@मज़ा/खाता/विनिमय.GetAccountविनिमय.GetAccount}

परिसंपत्ति

विशिष्ट मुद्रा परिसंपत्ति की जानकारी की संरचना।

क्रिप्टोक्यूरेंसी परिसंपत्तियों के लिए एक्सचेंज-परिभाषित नाम, जो एक ही क्रिप्टोक्यूरेंसी के लिए एक्सचेंज से एक्सचेंज में भिन्न हो सकते हैं, जैसेBTCकहा जा सकता हैXBTकुछ एक्सचेंजों पर। मुद्रा स्ट्रिंग मुद्रा परिसंपत्तियों का उपलब्ध शेष। राशि संख्या मुद्रा में जमे हुए परिसंपत्तियों की संख्या। जमे हुए राशि संख्या

..FrozenAmountमुद्रा परिसंपत्तियों में अनपूर्ति किए गए आदेशों के लिए लॉक की गई परिसंपत्तियां और वायदा पदों के लिए लॉक की गई मार्जिन भाग शामिल हो सकते हैं।

{@मज़ा/खाता/विनिमय.GetAssets विनिमय.GetAssets}

स्थिति

अनुबंध स्थिति की जानकारी की संरचना।

एक्सचेंज इंटरफेस द्वारा लौटाए गए मूल डेटा, बैकटेस्टिंग के लिए ऐसी कोई विशेषता उपलब्ध नहीं है। जानकारी वस्तु दSymbolक्षेत्र एफएमजेड प्लेटफॉर्म द्वारा परिभाषित ट्रेडिंग उत्पाद कोड है और इसका प्रारूपSymbol{@struct/Ticker Ticker} संरचना का क्षेत्र।

  • स्पॉट एक्सचेंज वस्तुओं के लिए,Symbolफ़ील्ड मान है (उदाहरण के लिए):BTC_USDT, BTC_USDT स्पॉट ट्रेडिंग जोड़ी को दर्शाता है।
  • वायदा विनिमय वस्तुओं के लिए,Symbolफ़ील्ड मान है (उदाहरण के लिए):BTC_USDT.swap, जो BTC के USDT-मानक स्थायी अनुबंध का प्रतिनिधित्व करता है।

प्रतीक स्ट्रिंग स्थिति पट्टी का आकार, गणना द्वारा भरा जाता है यदि विनिमय इंटरफ़ेस यह डेटा प्रदान नहीं करता है, तो यह गलत हो सकता है। मार्जिन लेवल संख्या स्थिति का आकार, जो आमतौर पर एक धनात्मक पूर्णांक होता है (अनुबंध संख्याओं की संख्या) । ध्यान दें कि अनुबंध विनिर्देश जैसे अनुबंध गुणक, मूल्य आदि एक विनिमय से दूसरे में भिन्न हो सकते हैं। राशि संख्या बंद आदेश को पूरा नहीं होने पर अस्थायी रूप से बंद किए गए पदों की संख्या। जमे हुए राशि संख्या स्थिति का औसत मूल्य, जो सिद्धांत रूप में स्थिति की औसत कीमत है (निर्वहन में भाग नहीं लेता है) । यदि डेटा एक्सचेंज इंटरफेस द्वारा प्रदान नहीं किया जाता है, तो इसे एक्सचेंज इंटरफेस (निर्वहन में भाग लेने) पर उपलब्ध पदों के औसत मूल्य से भरा जाता है। मूल्य संख्या स्थिति का फ्लोटिंग लाभ/हानि सिद्धांत रूप में स्थिति का अव्यवस्थित लाभ/हानि है, यदि डेटा एक्सचेंज इंटरफेस द्वारा प्रदान नहीं किया जाता है, तो इसे एक्सचेंज इंटरफेस के अन्य लाभ/हानि डेटा से भरा जाएगा। लाभ और हानि मूल्य की इकाई वर्तमान अनुबंध मार्जिन की इकाई के समान है। लाभ संख्या स्थिति प्रकार, {@var/POSITION_DIRECTION/PD_LONG PD_LONG}, {@var/POSITION_DIRECTION/PD_SHORT PD_SHORT} का संदर्भ लें। प्रकार संख्या अनुबंध कोड, विवरण के लिए {@fun/Futures/exchange.SetContractType exchange.SetContractType} फ़ंक्शन का विवरण देखें। अनुबंध प्रकार स्ट्रिंग स्थिति द्वारा कब्जा किया गया मार्जिन, यदि एक्सचेंज इंटरफेस इस डेटा को प्रदान नहीं करता है तो 0 से भरा। मार्जिन संख्या

exchange.GetPositions() फ़ंक्शन स्थिति या खाली सरणी की एक सरणी लौटाता है. क्रिप्टोक्यूरेंसी वायदा के लिए, यह ध्यान रखना महत्वपूर्ण है कि एक्सचेंज द्वारा लौटाया गया स्थिति संरचना सरणी.GetPositions() फ़ंक्शन। स्थिति डेटा संरचना में FrozenAmount, लाभ और मार्जिन विशेषताओं के लिए, क्योंकि एक्सचेंज द्वारा प्रदान किए गए डेटा समान नहीं हैं, GetPositions() इंटरफ़ेस, एक्सचेंज ऑब्जेक्ट द्वारा लौटाए गए डेटा की परिभाषा अलग हो सकती है। उदाहरण के लिए, कुछ एक्सचेंजों में स्थिति डेटा में कोई स्थिति फ्रीज डेटा नहीं है, इसलिए FrozenAmount 0 है। यदि आपको कुछ डेटा की गणना करने की आवश्यकता है, तो आप गणना और विश्लेषण के लिए Info विशेषता में मूल डेटा का उपयोग कर सकते हैं।

{@मज़ा/फ्यूचर्स/विनिमय.GetPositionsविनिमय.GetPositions}

बाजार

कारोबार की जाने वाली किस्मों पर बाजार की जानकारी की संरचना।

जैसे मानों को लेना"btcusdt",Symbolइस फ़ील्ड में एक्सचेंज पर कारोबार की जाने वाली किस्म का मूल नाम दर्ज किया जाता है। ध्यान दें कि इस विशेषता का स्वरूप और परिभाषाSymbol{@struct/Ticker Ticker} संरचना का क्षेत्र। प्रतीक स्ट्रिंग जैसे मानों को लेना"BTC",BaseAssetक्षेत्र में कारोबार की जाने वाली मुद्रा का नाम दर्ज किया जाता है (यानीः baseCurrency), जो समान रूप से बड़े अक्षरों में है। आधार संपत्ति स्ट्रिंग जैसे मानों को लेना"USDT",QuoteAssetक्षेत्र में मुद्रा का नाम दर्ज किया जाता है (यानीः quoteCurrency), जो समान रूप से बड़े अक्षरों में है। उद्धरण परिसंपत्ति स्ट्रिंग जैसे मानों को लेना0.01,TickSizeक्षेत्र में एक्सचेंज पर कारोबार की जाने वाली वस्तु की कीमत में सबसे छोटे परिवर्तन का मूल्य दर्ज किया जाता है। TickSize संख्या जैसे मानों को लेना0.01,AmountSizeक्षेत्र उस व्यापार के लिए एक्सचेंज पर रखे गए आदेशों की मात्रा में न्यूनतम परिवर्तन का मूल्य दर्ज करता है। मात्राआकार संख्या जैसे मानों को लेना2,PricePrecisionइस क्षेत्र में एक्सचेंज पर कारोबार की जाने वाली वस्तु की कीमत की सटीकता दर्ज की जाती है, जिससे पता चलता है कि कीमत दो दशमलव स्थान तक सटीक है। प्राइस प्रेसिजन संख्या जैसे मानों को लेना3,AmountPrecisionइस क्षेत्र में कारोबार की जाने वाली किस्म के लिए एक्सचेंज पर रखे गए आदेशों की सटीकता दर्ज की जाती है, यह दर्शाता है कि आदेश 3 दशमलव स्थान तक सटीक हैं। राशिसटीकता संख्या जैसे मानों को लेना0.001,MinQtyक्षेत्र उस व्यापार के लिए विनिमय पर न्यूनतम आदेश आकार दर्ज करता है। न्यूनतम संख्या जैसे मानों को लेना1000,MaxQtyक्षेत्र उस प्रकार के व्यापार के लिए एक्सचेंज पर रखे जा सकने वाले आदेशों की अधिकतम संख्या दर्ज करता है। अधिकतम मात्रा संख्या जैसे मानों को लेना5,MinNotionalक्षेत्र उस प्रकार के व्यापार के लिए एक्सचेंज पर रखे गए आदेश की न्यूनतम राशि दर्ज करता है। न्यूनतम संख्या जैसे मानों को लेना9999999,MaxNotionalक्षेत्र उस प्रकार के व्यापार के लिए एक्सचेंज पर रखे गए आदेशों की अधिकतम राशि दर्ज करता है। MaxNotional संख्या क्षेत्रCtValएक्सचेंज पर व्यापार उत्पाद के एक अनुबंध का मूल्य, मुद्रा में दर्ज किया जाता हैCtValCcyउदाहरण के लिए:CtVal0.01 है,CtValCcyहै"BTC", जिसका अर्थ है कि एक अनुबंध की कीमत 0.01 BTC है। CtVal संख्या क्षेत्रCtValCcyकिसी अनुबंध की मूल्य इकाई दर्ज करता है।BTC, USD, ETHआदि। CtValCcy संख्या क्षेत्रInfoएक्सचेंज के बाजार सूचना इंटरफेस द्वारा लौटाई गई प्रजातियों के लिए कच्चे डेटा को रिकॉर्ड करता है। जानकारी वस्तु

exchange.GetMarkets() फ़ंक्शन इस शब्दकोश को लौटाता हैMarketसंरचना। प्रत्येक एक्सचेंज द्वारा बाजार सूचना डेटा के लिए समर्थन के अलग-अलग स्तर के कारण, एक्सचेंज द्वारा समर्थित नहीं किए गए क्षेत्रों को अनदेखा किया जाएगा। उपरोक्त क्षेत्रों के मान एक्सचेंज इंटरफ़ेस के कच्चे डेटा से लिए गए हैं, आप सामग्री की जांच भी कर सकते हैंInfo field.

{@मज़ा/बाजार/विनिमय.GetMarketsविनिमय.GetMarkets}

वित्तपोषण

ट्रेडिंग उत्पाद की वित्तपोषण दर की संरचना। केवल क्रिप्टोक्यूरेंसी स्थायी अनुबंध वित्तपोषण दरों का समर्थन करते हैं।

जब क्रिप्टोक्यूरेंसी वायदा विनिमय वित्त पोषण दर इंटरफ़ेस बुलाया जाता है कच्चे डेटा लौटाया। जानकारी वस्तु दSymbolयह फ़ील्ड एफएमजेड प्लेटफॉर्म द्वारा परिभाषित ट्रेडिंग उत्पाद कोड है। प्रतीक स्ट्रिंग वित्तपोषण दर अंतराल, मिलीसेकंड में।28800000मतलब 8 घंटे का अंतराल। अंतर संख्या अगले वित्तपोषण दर अवधि के आरंभ समय का टाइमस्टैम्प (इस अवधि का निपटान समय), मिलीसेकंड में। समय संख्या इस अवधि के लिए उपयोग की जाने वाली वित्तपोषण दर। दर संख्या

विभिन्न फ्यूचर्स एक्सचेंजों की स्थायी अनुबंध वित्तपोषण दरों की गणना के अलग-अलग तरीके और तंत्र हैं, और निपटान चक्र 1 घंटे, 4 घंटे, 8 घंटे और एक दिन के होते हैं। फ्यूचर्स एक्सचेंजों पर स्थायी अनुबंधों की वर्तमान वित्तपोषण दर का एक निश्चित मूल्य और वास्तविक समय में गणना की जाने वाली एक परिवर्तनीय मूल्य है। दRateक्षेत्र बिना वित्तपोषण दर का मूल्य है%. यदि आप इसे मान में परिवर्तित करना चाहते हैं%, आप इसे 100 से गुणा कर सकते हैं और जोड़ सकते हैं%अंत में।

{@मज़ा/फ्यूचर्स/विनिमय.GetFundings विनिमय.GetFundings}

अन्य संरचना

HttpQuery विकल्प

इस JSON संरचना का उपयोग HttpQuery फ़ंक्शन के पैरामीटर और HttpQuery_Go फ़ंक्शन को Http अनुरोध भेजने के लिए कॉन्फ़िगर करने के लिए किया जाता है.

अनुरोध विधि, उदाहरण के लिएःGET, POSTआदि। विधि स्ट्रिंग अनुरोध शरीर. उदाहरण के लिए, एक POST अनुरोध में, शरीर में फॉर्म डेटा, JSON, पाठ आदि हो सकते हैं. शरीर स्ट्रिंग उदाहरण के लिए, शरीर में पाठ डेटा का एन्कोडिंग निर्दिष्ट करेंः"UTF-8". चार्सेट स्ट्रिंग कुकी एक क्लाइंट (आमतौर पर ब्राउज़र) और सर्वर के बीच स्थिति की जानकारी को संग्रहीत करने और विनिमय करने के लिए उपयोग किए जाने वाले डेटा का एक छोटा सा टुकड़ा है। कुकी स्ट्रिंग ब्राउज़र के फिंगरप्रिंट का अनुकरण करने के लिए प्रयोग किया जाता है। प्रोफ़ाइल स्ट्रिंग जब सही पर सेट किया जाता है, तो HttpQuery फ़ंक्शन कॉल पूर्ण प्रतिक्रिया संदेश लौटाता है. जब गलत पर सेट किया जाता है, तो केवल प्रतिक्रिया संदेश शरीर में डेटा लौटाया जाता है. डिबग बोल अनुरोध हेडर की जानकारी कुंजी-मूल्य जोड़े (जेएसओएन संरचना) के रूप में मौजूद है और इसका उपयोग विभिन्न जानकारी, जैसे कि सामग्री प्रकार, प्रमाणीकरण जानकारी, कैश नियंत्रण आदि को प्रसारित करने के लिए किया जाता है। हेडर JSON टाइमआउट सेटिंग. 1000 सेट करने का अर्थ है 1 सेकंड का टाइमआउट. टाइमआउट संख्या

उपयोग का उदाहरण:

function main() {
    var options = {
        method: "POST",
        body: "a=10&b=20&c=30",
        charset: "UTF-8",
        cookie: "session_id=12345; lang=en",
        profile: "chrome_103",
        debug: false,
        headers: {"TEST-HTTP-QUERY": "123"},
        timeout: 1000
    }
    var ret = HttpQuery("http://127.0.0.1:8080", options)
    Log(ret)
}

उपरोक्त कोड निष्पादित होने पर भेजा गया http संदेशः

POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Cookie: session_id=12345; lang=en
Host: 127.0.0.1:8080
Test-Http-Query: 123
Transfer-Encoding: chunked
User-Agent: Mozilla/5.0 (Macintosh; ...
Accept-Encoding: gzip, deflate, br

e
a=10&b=20&c=30
0

{@fun/Global/HttpQuery HttpQuery}, {@fun/Global/HttpQuery_Go HttpQuery_Go}

HttpQuery-return

यह JSON संरचना डिबग मोड में HttpQuery फ़ंक्शन द्वारा लौटाई गई डेटा संरचना है जब डिबग फ़ील्डoptionsसंरचना पैरामीटर सच है।

http स्थिति कोड स्थितिकोड संख्या हेडर जानकारी का अनुरोध करें. हेडर JSON कुकीज़ की जानकारी। कुकीज़ सरणी अनुरोध की पूर्ण पथ जानकारी। ट्रेस JSON संदेश की लंबाई लम्बाई संख्या संदेश सामग्री। शरीर स्ट्रिंग

लौटाए गए JSON डेटा संरचना का एक उदाहरण हैः

{
    "StatusCode": 302,
    "Header": {
        "Content-Type": ["text/html"],
        // ...
    },
    "Cookies": [{
        // ...
    }],
    "Trace": {},
    "Length": 154,
    "Body": "..."
}

{@fun/Global/HttpQuery HttpQuery}, {@fun/Global/HttpQuery_Go HttpQuery_Go}

लॉगस्टेटस-तालिका

इस JSON संरचना का उपयोग रणनीति स्थिति पट्टी में प्रदर्शित तालिका सामग्री को कॉन्फ़िगर करने के लिए किया जाता है.

यूआई और नियंत्रणों के प्रकार को सेट करने के लिए प्रयोग किया जाता है जिसे पार्स और प्रदर्शित किया जाना है। स्थिति पट्टी तालिका के लिए यह निश्चित रूप से सेट किया गया हैःtable. प्रकार स्ट्रिंग स्थिति पट्टी तालिका का शीर्षक सेट करने के लिए प्रयोग किया जाता है. शीर्षक स्ट्रिंग स्थिति पट्टी तालिका के स्तंभ शीर्षक सेट करने के लिए प्रयोग किया जाता है. सरणी का पहला तत्व पहले स्तंभ का शीर्षक है, और इसी तरह. कूलर सरणी स्थिति पट्टी तालिका के पंक्ति डेटा सेट करने के लिए प्रयोग किया जाता है। पंक्तियों सरणी (दो आयामी सरणी) का पहला तत्व भी एक सरणी संरचना है। इस सरणी संरचना की लंबाई तालिका स्तंभों की संख्या के अनुरूप होनी चाहिए (सरणी संरचना में तत्व तालिका स्तंभ नामों के अनुरूप हैं), अर्थात, तालिका में डेटा की पहली पंक्ति। पंक्तियाँ सरणी

function main() {
    var tbl = {
        type: "table", 
        title: "title", 
        cols: ["Column 1", "Column 2", "Column 3"], 
        rows: [
            ["Row 1 Column 1", "Row 1 Column 2", "Row 1 Column 3"],
            ["Row 2 Column 1", "Row 2 Column 2", "Row 2 Column 3"],
            ["Row 3 Column 1", "Row 3 Column 2", "Row 3 Column 3"],
        ]
    }
    LogStatus("`" + JSON.stringify(tbl) + "`")
}

{@fun/Log/LogStatus लॉगस्टेटस}

लॉगस्टेटस-btnTypeOne

इस JSON संरचना का उपयोग स्थिति पट्टी में बटन नियंत्रण को कॉन्फ़िगर करने के लिए किया जाता है। बटन नियंत्रण JSON संरचना को स्थिति पट्टी तालिका JSON संरचना में एम्बेड किया जा सकता है। यह संरचना एक पुराने संस्करण संरचना है, और मंच अभी भी संगत है। बटन JSON संरचना के नवीनतम संस्करण का उपयोग करने की सिफारिश की जाती है। स्थिति पट्टी बटन नियंत्रण का निर्माण करने का उदाहरण (बटन को ट्रिगर करने और क्लिक करने के बाद, पॉप-अप बॉक्स में एक एकल इनपुट नियंत्रण होता है, जिसे इनपुट फ़ील्ड के माध्यम से बनाया जाता है):

{
    "type": "button", 
    "cmd": "open", 
    "name": "opening a position", 
    "input": {
        "name": "number of opening positions", 
        "type": "number", 
        "defValue": 1
    }
}

पॉप-अप बॉक्स में नियंत्रण स्थिति पट्टी बटन पर क्लिक करके ट्रिगर किया जाता है नियंत्रण के माध्यम से सेट कर रहे हैंinputयाgroup.

बटन नियंत्रणों के लिए, फिक्स्ड सेटिंग हैःbutton. प्रकार स्ट्रिंग बटन प्रकार सेटिंग्स वर्ग स्ट्रिंग बटन नियंत्रण पर पाठ, यानी बटन का नाम। नाम स्ट्रिंग इंटरैक्टिव कमांड सामग्री जब बटन नियंत्रण क्लिक ऑपरेशन को ट्रिगर करता है, तो रणनीति को भेजी जाती है. सीएमडी स्ट्रिंग बटन नियंत्रण का वर्णन. विवरण तब प्रदर्शित होता है जब माउस स्थिति पट्टी में बटन पर रखा जाता है. वर्णन स्ट्रिंग बटन को अक्षम (सही) / सक्षम (गलत) पर सेट करें. विकलांग बोल बातचीत के लिए एक स्थिति पट्टी बटन का निर्माण करते समय, डेटा इनपुट भी समर्थित है। अंततः बातचीत कमांड द्वारा कैप्चर किया जाता हैGetCommand()कार्य जोड़ेंinputस्थिति पट्टी में बटन नियंत्रण के JSON डेटा संरचना के लिए आइटम बटन ट्रिगर होने पर प्रदर्शित पॉप-अप बॉक्स में इनपुट नियंत्रण को कॉन्फ़िगर करने के लिए. उदाहरण के लिए, मूल्य निर्धारित करने के लिएinputफ़ील्डः

{
    "name": "Number of opening positions", 
    "type": "number", 
    "defValue": 1,
    "description": "test",                  
}

उपरोक्त JSON संरचना में प्रत्येक क्षेत्र का विवरणः

  • नाम स्थिति पट्टी बटन के बाद पॉप-अप बॉक्स में नियंत्रण का शीर्षक क्लिक ऑपरेशन को ट्रिगर करता है.
  • वर्णन पॉप-अप बॉक्स में नियंत्रण का वर्णन जो स्थिति पट्टी बटन के क्लिक ऑपरेशन को ट्रिगर करने के बाद पॉप अप होता है.
  • प्रकार स्थिति पट्टी बटन के बाद पॉप-अप बॉक्स में नियंत्रण का प्रकार क्लिक ऑपरेशन को ट्रिगर करता है. प्रकार क्षेत्र के संभावित मान निम्नानुसार हैं:
    1. "number"संख्यात्मक इनपुट नियंत्रण।
    2. "string": स्ट्रिंग इनपुट नियंत्रण.
    3. "selected"ड्रॉप-डाउन बॉक्स नियंत्रण।
    4. "boolean"स्विच नियंत्रण।
  • defValue स्थिति पट्टी बटन के बाद पॉप-अप बॉक्स में नियंत्रण का डिफ़ॉल्ट मान क्लिक ऑपरेशन को ट्रिगर करता है. यदि यह एक ड्रॉप-डाउन बॉक्स प्रकार नियंत्रण है (चयनित), defValue फ़ील्ड का उपयोग ड्रॉप-डाउन बॉक्स विकल्पों को सेट करने के लिए किया जाता है. उदाहरण के लिएः"input": {"name": "Opening quantity", "type": "selected", "defValue": "A|B|C"}, ड्रॉप-डाउन बॉक्स विकल्पों का टेक्स्ट विवरण A, B, C पर सेट किया गया है.

ड्रॉप-डाउन बॉक्स प्रकार नियंत्रण द्वारा विस्तारित क्षेत्रों के लिएः

  • विकल्प स्थिति पट्टी बटन नियंत्रण द्वारा ट्रिगर किए गए पृष्ठ में ड्रॉप-डाउन बॉक्स नियंत्रण विकल्पों को सेट करने के लिए विकल्प क्षेत्र का उपयोग कर सकते हैं. विकल्प क्षेत्र में विकल्प न केवल स्ट्रिंग का समर्थन करते हैं, बल्कि{text: "description", value: "value"}डिफ़ॉल्ट विकल्प सेट करने के लिए defValue फ़ील्ड का उपयोग करें, जो कई चयन हो सकते हैं.
  • अनेक जब यह फ़ील्ड true पर सेट किया जाता है, तो ड्रॉप-डाउन बॉक्स में कई चयन समर्थित होते हैं.

इनपुट JSON दinputफ़ील्ड पॉप-अप बॉक्स में एक नियंत्रण को कॉन्फ़िगर करता है जो स्थिति पट्टी बटन पर क्लिक करके ट्रिगर होने के बाद पॉप अप होता है।groupऔरinputहै कि यह नियंत्रणों के एक समूह को कॉन्फ़िगर करता है।groupके समान डेटा संरचना हैinputफ़ील्ड मान. कृपया संबंधित विवरण देखेंinput field.

समूह सरणी

एक उदाहरणclassस्थिति पट्टी में एक बटन की JSON संरचना का मानः

function main() {
    var table = {
        type: "table",
        title: "Status bar button style",
        cols: ["Default", "Original", "Success", "Information", "Warning", "Danger"], 
        rows: [
            [
                {"type":"button", "class": "btn btn-xs btn-default", "name": "Default"},
                {"type":"button", "class": "btn btn-xs btn-primary", "name": "Original"},
                {"type":"button", "class": "btn btn-xs btn-success", "name": "Success"},
                {"type":"button", "class": "btn btn-xs btn-info", "name": "Information"},
                {"type":"button", "class": "btn btn-xs btn-warning", "name": "Warning"},
                {"type":"button", "class": "btn btn-xs btn-danger", "name": "Danger"}
            ]
        ]
    }
    LogStatus("`" + JSON.stringify(table) + "`")
}

उदाहरण का उपयोगgroupक्षेत्र के साथinputफ़ील्डः

function main() {
    // The drop-down box control in the page triggered by the testBtn1 button uses the options field to set options and the defValue field to set the default options. This is different from other examples in this chapter that directly use defValue to set options.
    var testBtn1 = {
        type: "button",
        name: "testBtn1",
        cmd: "cmdTestBtn1",
        input: {name: "testBtn1ComboBox", type: "selected", options: ["A", "B"], defValue: 1}
    }
  
    /* 
      Status bar button control (set input field implementation) testBtn2 button triggered by the page in the drop-down box control using the options field to set the options, options field in the options field not only supports the string,
      it also supports the use of ```{text: "description", value: "value"}``` structure. Use the defValue field to set the default option. The default option can be multiple selection (multiple selection is achieved through an array structure). Multiple selection requires setting the additional field multiple to true.
    */
    var testBtn2 = {
        type: "button", 
        name: "testBtn2",
        cmd: "cmdTestBtn2",
        input: {
            name: "testBtn2MultiComboBox", 
            type: "selected", 
            description: "Implementing multiple selection in drop-down box", 
            options: [{text: "Option A", value: "A"}, {text: "Option B", value: "B"}, {text: "Option C", value: "C"}],
            defValue: ["A", "C"],
            multiple: true
        }
    }
  
    // Status bar grouping button control (set group field implementation) testBtn3 button triggered by the page in the drop-down box control using the options field to set options, also supports the direct use of defValue set options.
    var testBtn3 = {
        type: "button",                     
        name: "testBtn3",
        cmd: "cmdTestBtn3", 
        group: [
            {name: "comboBox1", label: "labelComboBox1", description: "Drop-down box 1", type: "selected", defValue: 1, options: ["A", "B"]}, 
            {name: "comboBox2", label: "labelComboBox2", description: "Drop-down box 2", type: "selected", defValue: "A|B"}, 
            {name: "comboBox3", label: "labelComboBox3", description: "Drop-down box 3", type: "selected", defValue: [0, 2], multiple: true, options: ["A", "B", "C"]}, 
            {
                name: "comboBox4", 
                label: "labelComboBox4", 
                description: "Drop-down box 4", 
                type: "selected", 
                defValue: ["A", "C"], 
                multiple: true, 
                options: [{text: "Option A", value: "A"}, {text: "Option B", value: "B"}, {text: "Option C", value: "C"}, {text: "Option D", value: "D"}]
            }
        ]
    }
    while (true) {
        LogStatus("`" + JSON.stringify(testBtn1) + "`\n", "`" + JSON.stringify(testBtn2) + "`\n", "`" + JSON.stringify(testBtn3) + "`\n")
        var cmd = GetCommand()
        if (cmd) {
            Log(cmd)
        }
        Sleep(5000)
    }
}

{@fun/Log/LogStatus लॉगस्टेटस}

लॉगस्टेटस-btnTypeTwo

इस JSON संरचना का उपयोग स्थिति पट्टी में बटन नियंत्रण को कॉन्फ़िगर करने के लिए किया जाता है। बटन नियंत्रण JSON संरचना को स्थिति पट्टी तालिका JSON संरचना में एम्बेड किया जा सकता है। बटन JSON संरचना का नवीनतम संस्करण। स्थिति पट्टी बटन नियंत्रण के निर्माण का उदाहरण (बटन को ट्रिगर करने और क्लिक करने के बाद, पॉप-अप बॉक्स में कई इनपुट नियंत्रण होते हैं, जो समूह क्षेत्र के माध्यम से निर्मित होते हैं):

{
    "type": "button",
    "cmd": "open",
    "name": "Open a position and place an order",
    "group": [{
        "type": "selected",
        "name": "tradeType",
        "label": "order type",
        "description": "market order, limit order",
        "default": 0,
        "group": "trading setup",
        "settings": {
            "options": ["market order", "limit order"],
            "required": true,
        }
    }, {
        "type": "selected",
        "name": "direction",
        "label": "trading direction",
        "description": "buy, sell",
        "default": "buy",
        "group": "trading setup",
        "settings": {
            "render": "segment",
            "required": true,
            "options": [{"name": "buy", "value": "buy"}, {"name": "sell", "value": "sell"}],
        }
    }, {
        "type": "number",
        "name": "price",
        "label": "price",
        "description": "order price",
        "group": "trading setup",
        "filter": "tradeType==1",
        "settings": {
            "required": true,
        }
    }, {
        "type": "number",
        "name": "amount",
        "label": "order quantity",
        "description": "order quantity",
        "group": "trading setup",
        "settings": {
            "required": true,
        }
    }],
}

पॉप-अप बॉक्स में नियंत्रण स्थिति पट्टी बटन पर क्लिक करके ट्रिगर किया जाता है नियंत्रण के माध्यम से सेट कर रहे हैंinputयाgroup.

बटन नियंत्रणों के लिए, फिक्स्ड सेटिंग हैःbutton. प्रकार स्ट्रिंग बटन नियंत्रण पर पाठ, यानी बटन का नाम। नाम स्ट्रिंग इंटरैक्टिव कमांड सामग्री जब बटन नियंत्रण क्लिक ऑपरेशन को ट्रिगर करता है, तो रणनीति को भेजी जाती है. सीएमडी स्ट्रिंग बातचीत के लिए एक स्थिति पट्टी बटन का निर्माण करते समय, डेटा इनपुट भी समर्थित है। अंततः बातचीत कमांड द्वारा कैप्चर किया जाता हैGetCommand()कार्य जोड़ेंinputस्थिति पट्टी में बटन नियंत्रण के JSON डेटा संरचना के लिए आइटम बटन ट्रिगर होने पर प्रदर्शित पॉप-अप बॉक्स में इनपुट नियंत्रण को कॉन्फ़िगर करने के लिए. इनपुट संरचना के पुराने संस्करण की तुलना में, नए संस्करण में कुछ नए क्षेत्र और परिवर्तन हैंः

{
    "type": "selected",
    "name": "test",         
    "label": "topic",       
    "description": "desc",  
    "default": 1,
    "filter": "a>1",
    "group": "group1",
    "settings": { ... },    // Component configuration
}

उपर्युक्त JSON संरचना में प्रत्येक क्षेत्र का विवरण और स्पष्टीकरणः

  • प्रकार नियंत्रण प्रकार (आवश्यक क्षेत्र), निम्नलिखित सेटिंग्स का समर्थन करता हैः"number"संख्यात्मक इनपुट बॉक्स,"string"स्ट्रिंग इनपुट बॉक्स,"selected"ड्रॉप-डाउन बॉक्स,"boolean"नियंत्रण स्विच करें.

  • नाम यदि वर्तमान JSON संरचना इनपुट फ़ील्ड का फ़ील्ड मान है, जब लेबल फ़ील्ड सेट नहीं है, तो नाम पॉप-अप बॉक्स में नियंत्रण शीर्षक है जो स्थिति पट्टी बटन पर क्लिक करने के बाद पॉप अप होता है. यदि वर्तमान JSON संरचना समूह फ़ील्ड के फ़ील्ड मान (सरणी संरचना) में एक तत्व है, तो नाम का उपयोग नियंत्रण शीर्षक के रूप में नहीं किया जाता है। नाम फ़ील्ड का उपयोग नियंत्रण इनपुट सामग्री के फ़ील्ड नाम को इंगित करने के लिए किया जाता है। उदाहरण के लिए, समूह फ़ील्ड का एक अंश एक उदाहरण के रूप में उपयोग किया जाता हैः

    var testBtn3 = {
        type: "button",                     
        name: "testBtn3",
        cmd: "cmdTestBtn3", 
        group: [
            {name: "comboBox1", label: "labelComboBox1", description: "Drop-down box 1", type: "selected", defValue: 1, options: ["A", "B"]}, 
            {name: "comboBox2", label: "labelComboBox2", description: "Drop-down box 2", type: "selected", defValue: "A|B"}, 
            {name: "comboBox3", label: "labelComboBox3", description: "Drop-down box 3", type: "selected", defValue: [0, 2], multiple: true, options: ["A", "B", "C"]}, 
            {
                name: "comboBox4", 
                label: "labelComboBox4", 
                description: "Drop-down box 4", 
                type: "selected", 
                defValue: ["A", "C"], 
                multiple: true, 
                options: [{text: "Option A", value: "A"}, {text: "Option B", value: "B"}, {text: "Option C", value: "C"}, {text: "Option D", value: "D"}]
            }
        ]
    }
    

    इस स्निपेट के अनुसार, यदि स्थिति पट्टी बटन एक बातचीत को ट्रिगर करता है, तो एक पॉप-अप बॉक्स 4 नियंत्रणों के साथ पॉप अप होगा, जिनमें से सभी ड्रॉप-डाउन बॉक्स नियंत्रण हैं। प्रत्येक नियंत्रण के लिए विकल्प सेट करने और बातचीत संदेश भेजने के लिए ठीक क्लिक करने के बाद, रणनीति में GetCommand फ़ंक्शन प्राप्त करेगाcmdTestBtn3:{"comboBox1":1,"comboBox2":0,"comboBox3":[0,2],"comboBox4":["A","C"]}. जेएसओएन संरचना में नाम का मूल्य लौटी इंटरैक्टिव जानकारी के क्षेत्र नाम के रूप में प्रयोग किया जाता है, उदाहरण के लिएः comboBox1, comboBox2, आदि

  • लेबल नियंत्रण के शीर्षक को सेट करने के लिए प्रयोग किया जाता है.

  • वर्णन नियंत्रण का वर्णन. यदि वर्तमान JSON संरचना समूह क्षेत्र के क्षेत्र मूल्य (सरणी संरचना) में एक तत्व है, और लेबल क्षेत्र सेट नहीं है, तो विवरण पॉप-अप बॉक्स में नियंत्रण शीर्षक है जो स्थिति पट्टी बटन पर क्लिक करने के बाद पॉप अप होता है.

  • डिफ़ॉल्ट नियंत्रण का डिफ़ॉल्ट मान.

  • फ़िल्टर चयनकर्ता, नियंत्रणों को छिपाने के लिए प्रयोग किया जाता है. इस फ़ील्ड को सेट न करने का अर्थ है कोई फ़िल्टरिंग (प्रदर्शन नियंत्रण); जब यह फ़ील्ड सेट किया जाता है, तो कोई फ़िल्टरिंग (प्रदर्शन नियंत्रण) नहीं होती है जब अभिव्यक्ति सच होती है. जब अभिव्यक्ति गलत होती है, तो फ़िल्टरिंग होती है (कोई प्रदर्शन नियंत्रण नहीं)

  • समूह नियंत्रणों के समूह को नियंत्रित करने के लिए प्रयोग किया जाता है, जिन्हें तह किया जा सकता है।

  • सेटिंग्स घटक विन्यास, नियंत्रण में विभिन्न यूआई विकल्प हैं, विशिष्ट सेटिंग्स बनाने के लिए इस विकल्प का उपयोग करें। उदाहरण के लिएः

    settings:{
        multiple:true,
        customizable:true,
        options:[{name:'xxx|yyy',value:0}]
    }
    

    सेटिंग्सः settings.required: यह आवश्यक है या नहीं। settings.disabled: अक्षम करना है या नहीं. settings.min: जब type=number मान्य हो, तो स्ट्रिंग का न्यूनतम मान या न्यूनतम लंबाई दर्शाता है. settings.max: जब type=number, अधिकतम मान या स्ट्रिंग की अधिकतम लंबाई का संकेत देता है तो वैध है. settings.step: type=number और render=slider के लिए मान्य, चरण की लंबाई दर्शाता है. settings.multiple: type= चयनित होने पर मान्य, यह दर्शाता है कि कई चयन समर्थित हैं. settings.customizable: यह वैध है जब type= चयनित है, यह दर्शाता है कि अनुकूलन समर्थित है; उपयोगकर्ता सीधे ड्रॉप-डाउन बॉक्स नियंत्रण में नए विकल्पों को संपादित और जोड़ सकते हैं. यदि नया संपादित विकल्प चयनित है, तो विकल्प का नाम विकल्प द्वारा प्रतिनिधित्व मूल्य के बजाय उपयोग किया जाता है जब बातचीत ट्रिगर की जाती है. settings.options: type=selected होने पर मान्य, चयनकर्ता विकल्प डेटा प्रारूप का संकेतः [option 1, option 2], [{name:xxx,value:0}, {name:xxx,value:1}]. settings.render: रेंडरिंग घटक प्रकार. जब type=number, settings.render सेट नहीं है (डिफ़ॉल्ट नंबर इनपुट बॉक्स), वैकल्पिकः स्लाइडर (स्लाइडर बार), दिनांक (समय चयनकर्ता टाइमस्टैम्प लौटाता है). जब type=string, settings.render सेट नहीं है (डिफ़ॉल्ट सिंगल-लाइन इनपुट बॉक्स), वैकल्पिकः textarea (मल्टी-लाइन इनपुट), तारीख (समय चयनकर्ता yyyy-MM-dd hh:mm:ss लौटाता है), रंग (रंग चयनकर्ता #FF00FF लौटाता है). जब type= चयनित है, settings.render सेट नहीं है (डिफ़ॉल्ट ड्रॉप-डाउन बॉक्स), वैकल्पिकः सेगमेंट (सेगमेंट चयनकर्ता) जब type=boolean, वर्तमान में केवल एक डिफ़ॉल्ट चेकबॉक्स है.

इनपुट JSON दinputफ़ील्ड पॉप-अप बॉक्स में एक नियंत्रण को कॉन्फ़िगर करता है जो स्थिति पट्टी बटन पर क्लिक करके ट्रिगर होने के बाद पॉप अप होता है।groupऔरinputहै कि यह नियंत्रणों के एक समूह को कॉन्फ़िगर करता है।groupके समान डेटा संरचना हैinputफ़ील्ड मान. कृपया उपरोक्त विवरण का संदर्भ लेंinput field.

समूह सरणी

द्विभाषी सेटिंग्स का समर्थन करेंः

{
    type:'selected',
    name:'test',
    label:'选项|options',
    description:'描述|description',
    default:0,                            // Here, the default value is set to 0, which means the value in the option {name:'xxx|yyy',value:0}
    filter:'a>1&&a<10',
    group:'分组|group',
    settings:{
        multiple:true,
        customizable:true,
        options:[{name:'xxx|yyy',value:0}]
    }
}

{@fun/Log/LogStatus लॉगस्टेटस}

चार्ट विकल्प

इस JSON का उपयोग कस्टम ड्राइंग फ़ंक्शन की चार्ट विन्यास जानकारी सेट करने के लिए किया जाता हैChart(). इस्तेमाल किया गया चार्ट लाइब्रेरी है Highcharts. केवल कुछ बुनियादी विन्यास क्षेत्रों को यहाँ सूचीबद्ध किया गया है.

प्लेटफ़ॉर्म विस्तार फ़ील्ड. हाईस्टॉक्स चार्ट का उपयोग करने के लिए सच पर सेट करें; हाईचार्ट चार्ट का उपयोग करने के लिए गलत पर सेट करें.

__isस्टॉक स्ट्रिंग

{
    layout: 'single', // Not participating in grouping, displayed separately, default is group 'group'
    height: 300,      // Specify height
}

विस्तार JSON चार्ट का शीर्षक शीर्षक स्ट्रिंग एक्स अक्ष विन्यास. xअक्ष JSON वाई-अक्ष विन्यास। yअक्ष JSON चार्ट डेटा श्रृंखला। सीरीज JSON

एक सरल चित्रण उदाहरणः

// This chart is an object in JavaScript language. Before using the Chart function, we need to declare an object variable chart to configure the chart.
var chart = {                                           
    // This field marks whether the chart is a general chart. If you are interested, you can change it to false and run it.
    __isStock: true,                                    
    // Zoom tool
    tooltip: {xDateFormat: '%Y-%m-%d %H:%M:%S, %A'},    
    // title
    title : { text : 'Price difference analysis chart'},                       
    // Select range
    rangeSelector: {                                    
        buttons:  [{type: 'hour',count: 1, text: '1h'}, {type: 'hour',count: 3, text: '3h'}, {type: 'hour', count: 8, text: '8h'}, {type: 'all',text: 'All'}],
        selected: 0,
        inputEnabled: false
    },
    // The horizontal axis of the coordinate axis is: x-axis, and the current setting type is: time
    xAxis: { type: 'datetime'},                         
    // The vertical axis of the coordinate axis is: the y-axis, the default value is adjusted according to the data size
    yAxis : {                                           
        // title
        title: {text: 'Price difference'},                           
        // Whether to enable the right vertical axis
        opposite: false                                 
    },
    // Data series, this property saves each data series (line, K-line chart, label, etc.)
    series : [                                          
        // The index is 0, and the data array stores the data of the index series.
        {name : "line1", id : "line 1,buy1Price", data : []},                          
        // The index is 1, dashStyle:'shortdash' is set, that is, a dashed line is set
        {name : "line2", id : "line 2,lastPrice", dashStyle : 'shortdash', data : []}  
    ]
}
function main(){
    // Call the Chart function to initialize the chart
    var ObjChart = Chart(chart)         
    // Clear
    ObjChart.reset()                      
    while(true){
        // Get the timestamp of this poll, which is a millisecond timestamp. Used to determine the position of the X-axis written to the chart
        var nowTime = new Date().getTime()
        // Get market data
        var ticker = _C(exchange.GetTicker)
        // Get the buy price from the return value of the market data
        var buy1Price = ticker.Buy    
        // Get the last transaction price. In order to prevent the two lines from overlapping, we add 1.
        var lastPrice = ticker.Last + 1
        // Use the timestamp as the X value and the buy price as the Y value to pass into the data sequence of index 0
        ObjChart.add(0, [nowTime, buy1Price])
        // Same as above
        ObjChart.add(1, [nowTime, lastPrice])
        Sleep(2000)
    }
}

{@मज़ा/लॉग/चार्ट चार्ट}

KLineChart-विकल्प

इस JSON का उपयोग कस्टम ड्राइंग फ़ंक्शन की चार्ट विन्यास जानकारी सेट करने के लिए किया जाता हैKLineChart. केवल कुछ बुनियादी विन्यास क्षेत्रों को यहाँ सूचीबद्ध किया गया है.

क्या मुख्य चार्ट पर आकर्षित करने के लिए। ओवरले बोल एक्स अक्ष विन्यास. xअक्ष JSON वाई-अक्ष विन्यास। yअक्ष JSON कैंडलस्टिक चार्ट विन्यास मोमबत्ती JSON

कृपया देखेंKLineChart फ़ंक्शन का उपयोग करके चार्ट खींचने पर विशेष लेख.

{@मज़ा/लॉग/KLineChart KLineChart}

SetData-डेटा

JSON का उपयोग डेटा को लोड करने के लिए सेट करने के लिए किया जाता हैexchange.SetData()JSON डेटा एक सरणी संरचना है, जिसमें प्रत्येक तत्व भी एक सरणी है, अर्थात्[time, data].

डेटा का समय-स्टैम्प, इन डेटा के समय को चिह्नित करता है। समय संख्या डेटा डेटा के एक टुकड़े से मेल खाता है एक निश्चित समय में डेटा द्वारा लोड कियाexchange.SetData()जब रणनीति चल रही है,exchange.GetData()फ़ंक्शन वर्तमान समय के अनुसार संबंधित टाइमस्टैम्प के साथ डेटा प्राप्त करता है।

आंकड़ा string, number, bool, object, array आदि

बैकटेस्टिंग प्रणाली में डेटा लोड करने और रणनीति बैकटेस्ट चल रहा है जब डेटा पुनर्प्राप्त करने का एक उदाहरणः

/*backtest
start: 2020-01-21 00:00:00
end: 2020-02-12 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Bitfinex","currency":"BTC_USD"}]
*/
function main() {
    exchange.SetData("test", [[1579536000000, _D(1579536000000)], [1579622400000, _D(1579622400000)], [1579708800000, _D(1579708800000)]])
    while(true) {
        Log(exchange.GetData("test"))
        Sleep(1000 * 60 * 60 * 24)
    }
}

{@मज़ा सेटडाटा}, {@मज़ा प्राप्तडाटा}

इवेंटलूप-वापसी

यह जेएसओएन डेटा संरचना है जोEventLoop()कार्य।EventLoop()फ़ंक्शन मॉनिटरः 1. कोई भी वेबसॉकेट पठनीय डेटा घटना; 2. कार्य पूरा होने की घटनाएं एक्सचेंज.गो ((() और HttpQuery_Go (()) कार्यों के साथ समवर्ती; 3. संदेश घटनाओं द्वारा बनाए गए धागे में भेजे गएthreading.Thread()जावास्क्रिप्ट भाषा की रणनीति में कार्य।

घटना अनुक्रम संख्या। अनुसूची संख्या घटना का नाम। घटना स्ट्रिंग घटना थ्रेड आईडी. थ्रेड संख्या घटना सूचकांक सूचकांक संख्या नैनो टाइमस्टैम्प. नैनो संख्या

उपयोग करेंexchange.Go()समारोह समवर्ती अनुरोध करने के लिए और घटना डेटा संरचना द्वारा लौटायाEventLoop() function.

{
    "Seq":1,
    "Event":"Exchange_GetTrades",
    "ThreadId":0,
    "Index":3,
    "Nano":1682068771309583400
}

जावास्क्रिप्ट भाषा रणनीति के समवर्ती निष्पादित धागे में (निर्माण द्वारा बनाई गई)threading.Thread()कार्य), जबpostMessage()सूत्र ऑब्जेक्ट के कार्य का उपयोग एक संदेश भेजने के लिए किया जाता है,EventLoop()संदेश प्राप्त करने वाले थ्रेड में फ़ंक्शन निम्नलिखित घटना डेटा संरचना की निगरानी करेगा:

{
    "Seq":4,
    "Event":"thread",
    "ThreadId":1,
    "Index":0,
    "Nano":1727592066508674000
}

{@fun/Global/EventLoop इवेंटलूप}

DBExec-वापसी

यह जेएसओएन डेटा संरचना है जोDBExec()function; यह भी SQL कथन का उपयोग कर निष्पादित करते समय लौटाया जाता हैexec()द्वारा बनाई गई वस्तु की विधिDial() function.

क्वेरी किए जाने वाले डेटा के स्तंभ नाम, एक स्ट्रिंग सरणी। स्तंभ सरणी प्रश्न करने के लिए विशिष्ट डेटा, जहां डेटा का प्रत्येक टुकड़ा एक कॉलम नाम के अनुरूप है। मान फ़ील्ड का मान एक दो आयामी सरणी है, जहां प्रत्येक तत्व एक सरणी और एक डेटा रिकॉर्ड है। मूल्य सरणी

डेटाबेस में डेटा क्वेरी करने का उदाहरणः

{
    "columns":["TS","HIGH","OPEN","LOW","CLOSE","VOLUME"],
    "values":[
        [1518970320000,100,99.1,90,100,12345.6],
        [1518960320000,100,99.1,90,100,12345.6]
    ]
}

{@fun/Global/DBExec DBExec}, {@fun/Global/Dial Dial}

Thread.join-return

यह JSON सदस्य फ़ंक्शन द्वारा लौटाया गया डेटा संरचना हैjoin()केThreadऑब्जेक्ट, जो समवर्ती धागे के बारे में कुछ जानकारी बचाता हैJavaScriptभाषा रणनीतिThreadवस्तु थ्रेड ऑब्जेक्ट को संदर्भित करता है, जो द्वारा बनाया जाता हैthreading.Thread().

थ्रेड आईडी. आईडी संख्या क्या धागा समाप्त होने के लिए मजबूर है। समाप्त बोल नैनोसेकंड में धागे का चलने का समय। बीत गया संख्या थ्रेड फ़ंक्शन का रिटर्न मान. रिट संख्या

निम्नलिखित कोड समय सीमा तंत्र का परीक्षण करता हैjoin()कार्यThreadऑब्जेक्ट और मुद्रित करता हैjoin() function.

function testFunc() {
    for (var i = 0; i < 5; i++) {
        Log(i)
        Sleep(300)
    }
}

function main() {
    var t1 = threading.Thread(testFunc)
    Log(t1.join(1000))  // undefined
    Log(t1.join())      // {"id":1,"terminated":false,"elapsed":1506864000}
} ```


{@fun/Threads/Thread/join join}
अंतर्निहित कार्य अंतर्निहित चर