एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म पर डेवलपर्स के रूप में काम करने वाले भागीदारों की अक्सर ऐसी आवश्यकताएं हो सकती हैंः
किराए के लिए रणनीति विकसित करते समय, आप रणनीति पर अलग-अलग पूंजी प्रतिबंध, और रणनीति पट्टे पर अलग-अलग विनिमय प्रतिबंध (विनिमय जो रणनीति संचालन को प्रतिबंधित करता है), या विनिमय खाता विन्यास पर प्रतिबंध चाहते हैं जब आप रणनीति पट्टे पर लेना चाहते हैं (निर्दिष्ट करें कि यह रणनीति केवल अग्रिम में सहमत खाते का संचालन कर सकती है, और रणनीति उपयोगकर्ता अन्य खातों का उपयोग करते समय कोई व्यापार नहीं करेगा) ।
ये स्पष्ट रूप से कोड में नहीं लिखे जा सकते हैं, क्योंकि यदि वे कोड में लिखे जाते हैं, तो सभी उपयोगकर्ता इन शर्तों के अधीन होंगे, और विभिन्न उपयोगकर्ता समूहों के लिए विभिन्न उपयोग अधिकारों के साथ नियंत्रण करना संभव नहीं होगा।
उपरोक्त मांग परिदृश्य के आधार पर, एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म को एक नए कार्य के साथ बढ़ाया गया हैः रणनीति किराया पंजीकरण कोड मेटाडेटा सेटिंग्स
पंजीकरण कोड बनाते समय, आप एक मेटाडेटा निर्दिष्ट कर सकते हैंMeta
ध्यान देंः पंजीकरण कोड उत्पन्न करते समय मेटा की लंबाई 190 वर्णों से अधिक नहीं हो सकती है।
उदाहरण के लिए, अगर मैं एक रणनीति विकसित हॉटशॉट हूँ और मैं BTC_USDT के लिए एक स्पॉट ट्रेडिंग जोड़ी विकसित किया है, और यह केवल लंबे समय तक चला जाता है (केवल मूल्य निर्धारण मुद्रा हैQuoteCurrency
शुरू में, यानी, USDT; खरीदने के बाद, वहाँ व्यापार मुद्रा हैBaseCurrency
, यानी, BTC). मैं इस रणनीति किराए पर लेना चाहते हैं, जो नाम दिया गया है के रूप मेंtest1
.
यह देखा जा सकता है कि रणनीति के सीमित डिजाइन को रणनीति की विशिष्ट स्थिति के अनुसार डिजाइन करने की आवश्यकता है। उदाहरण स्पॉट रणनीति का प्रदर्शन है। क्या होगा यदि रणनीति एक वायदा रणनीति है? तब वायदा स्थिति की जानकारी को सीमित करना आवश्यक है (गेटपोसिशन द्वारा लौटाए गए स्थिति डेटा के अनुसार) । जब रणनीति पाती है कि स्थिति सीमा से अधिक है, तो यह स्थिति खोलने के तर्क को निष्पादित नहीं करेगी (अन्य तर्क को सामान्य रूप से निष्पादित करने की आवश्यकता है, जैसे स्थिति को बंद करना) ।
इसलिए, इन डिजाइनों को स्वयं रणनीति के लिए विशिष्ट होना चाहिए। यहाँ उदाहरण केवल एक सरल चित्रण है और व्यावहारिक उपयोग नहीं हो सकता है।
रणनीति स्रोत कोडः
function main() {
// The maximum asset value of the denominated currency allowed by the strategy
var maxBaseCurrency = null
//Obtain the metadata when creating the registration code
var level = GetMeta()
// Detecting the conditions corresponding to Meta
if (level == "level1") {
// -1 is not limited
maxBaseCurrency = -1
} else if (level == "level2") {
maxBaseCurrency = 10
} else if (level == "level3") {
maxBaseCurrency = 1
} else {
maxBaseCurrency = 0.5
}
while(1) {
Sleep(1000)
var ticker = exchange.GetTicker()
// Detect asset values
var acc = exchange.GetAccount()
if (maxBaseCurrency != -1 && maxBaseCurrency < acc.Stocks + acc.FrozenStocks) {
// Stop executing strategic trading logic
LogStatus(_D(), "Positions exceeding the usage limit of the registration code will no longer execute the strategy trading logic!")
continue
}
// Other trading logic
// Output the status bar information normally
LogStatus(_D(), "The strategy is running properly! ticker data:\n", ticker)
}
}
पंजीकरण कोड बनाते समय, रणनीति पुस्तकालय में रणनीति परीक्षण1 ढूंढें, दाईं ओर क्रिया आइटम पर क्लिक करें,
और फिर
पंजीकरण कोड मेटाडेटा सेट करने के लिए
फिर मेटा नियंत्रण में योग्य होने वाली जानकारी लिखें, जैसे इस उदाहरण में डिज़ाइन किए गए कई रणनीति उपयोग स्तरः
· स्तर 1: पदों की संख्या की कोई सीमा नहीं। · स्तर 2: पदों की अधिकतम संख्या को 10 सिक्कों तक सीमित करें। · स्तर3: पदों की अधिकतम संख्या को 1 सिक्के तक सीमित करें। कोई मेटा सेटिंग नहींः जब कोई मेटा सेटिंग नहीं होती है, तो डिफ़ॉल्ट अधिकतम स्थिति सीमा 0.5 सिक्के होती है।
सबसे पहले, हम सेटlevel1
मेटा नियंत्रण के लिए, ताकि बनाया पंजीकरण कोड हैlevel1
परीक्षण1 रणनीति का स्तर।
पंजीकरण कोड बनाया गया:
Purchase address: https://www.fmz.com/m/s/282900
Registration code: 7af0c24404b268812c97b55d073c1867
रणनीतिक किरायेदार रणनीतिक किरायेदार को पंजीकरण कोड भेजता है।
रणनीति किरायेदार एक असली बॉट बनाएँ, रणनीति परीक्षण1 का उपयोग करें, एक WexApp स्पॉट एक्सचेंज ऑब्जेक्ट जोड़ें (WexApp FMZ मंच का एक डेमो है), इसे चलाएं।
जब रणनीति पंजीकरण कोड का उपयोग किया गया है, तो इसे संशोधित भी किया जा सकता है यदि रणनीति डेवलपर को जारी पंजीकरण कोड के मेटा डेटा को समायोजित करने की आवश्यकता है।
मेटा डेटा को रणनीति पुस्तकालय, बिक्री रिकॉर्ड में संशोधित किया जा सकता है।
हमने पिछले पंजीकरण कोड के मेटा डेटा को बदल दियाlevel3
,
फिर रणनीति उपयोगकर्ता ने परीक्षण फिर से शुरू किया।
जब लीजिंग रणनीतियाँ विभिन्न उपयोगकर्ता समूहों और विभिन्न भुगतान स्तरों पर आधारित होती हैं, तो मेटाडेटा को विशेष रूप से पदानुक्रमित रणनीति नियंत्रण प्राप्त करने के लिए कॉन्फ़िगर किया जाता है।
बेशक, उपरोक्त केवल सबसे आम सीमा और नियंत्रण आवश्यकताओं को सूचीबद्ध करता है। विभिन्न प्रकार की समान आवश्यकताएं हैं जिन्हें इस फ़ंक्शन का उपयोग करके लागू किया जा सकता है।