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

किराये की रणनीति के लिए डेटा के विभिन्न संस्करणों को उसके किराये कोड मेटाडेटा द्वारा कैसे निर्दिष्ट करें

लेखक:निनाबादास, बनाया गयाः 2022-03-23 08:54:31, अद्यतन किया गयाः 2022-04-14 09:10:37

रणनीति का अनुप्रयोग किराया कोड मेटाडेटा

एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म पर विकास करने वाले दोस्तों की अक्सर ऐसी जरूरतें हो सकती हैंः

जब आप किराए के लिए एक रणनीति विकसित करते हैं, तो आप रणनीति पर धन की अलग-अलग सीमाएं चाहते हैं, और विभिन्न प्लेटफार्म सीमाएं (रणनीति द्वारा संचालित प्लेटफार्मों को सीमित करें), या आप प्लेटफॉर्म खाता विन्यास को सीमित करना चाहते हैं (निर्दिष्ट करें कि रणनीति केवल पूर्व-समझौता किए गए खातों पर काम कर सकती है; जब रणनीति उपयोगकर्ता अन्य खातों का उपयोग करता है, तो रणनीति संकेत देती है और अब व्यापार और अन्य संचालन नहीं करेगी) ।

ये स्पष्ट रूप से हार्ड-कोडेड नहीं हो सकते हैं, क्योंकि यदि वे हार्ड-कोडेड हैं, तो सभी उपयोगकर्ता इन सीमाओं के अधीन होंगे, और वे विभिन्न उपयोगकर्ता समूहों के लिए विभिन्न उपयोग विशेषाधिकारों को नियंत्रित नहीं कर सकते हैं।

उपरोक्त मांग परिदृश्यों के आधार पर, एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म ने एक नए कार्य का विस्तार किया हैःरणनीति किराया रजिस्टर कोड मेटाडेटा सेटिंग्स.

रजिस्टर कोड बनाते समय, आप एक मेटाडेटा निर्दिष्ट कर सकते हैंMetaनोटः मेटा की लंबाई 190 वर्णों से अधिक नहीं हो सकती है जब यह रजिस्टर कोड उत्पन्न करता है.

  • रणनीतियों को सीमित करने के लिए FMZ रजिस्टर कोड मेटाडेटा का उपयोग करें

    उदाहरण के लिए, मैं रणनीति विकास का एक निर्यातक हूं, और मैंने BTC_USDT के स्पॉट ट्रेडिंग जोड़े के साथ एक रणनीति विकसित की है। रणनीति केवल लंबी स्थिति बनाती है (शुरू में, इसमें केवल उद्धरण मुद्रा हैQuoteCurrency, अर्थात् USDT; खरीद लेने के बाद, यहBaseCurrency, अर्थात् बीटीसी). अगर मैं इस रणनीति को किराए पर देना चाहते हैं, रणनीति नाम हैtest1.

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

    इसलिए, इन सीमाओं के डिजाइन को स्वयं रणनीति के साथ जोड़ा जाना चाहिए; उदाहरण केवल एक सरल निर्देश है, बिना वास्तविक उपयोग मूल्य के।

    रणनीति स्रोत कोडः

    function main() {
        // The maximum asset value of the quote currency allowed by the strategy
        var maxBaseCurrency = null
        
        // Obtain the metadata when the register code is created 
        var level = GetMeta()
        
        // Detect the corresponding conditions of Meta
        if (level == "level1") {
            // -1 means no limit 
            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 the assets amount 
            var acc = exchange.GetAccount()
            if (maxBaseCurrency != -1 && maxBaseCurrency < acc.Stocks + acc.FrozenStocks) {
                // Stop executing the strategy trading logic
                LogStatus(_D(), "If the position exceeds the usage limits of  register code, the strategy trading logic will no longer be executed!")
                continue
            }
            
            // Other trading logic
            
            // Normally export the information of status bar 
            LogStatus(_D(), "The strategy is operating normally!ticker data:\n", ticker)
        }
    }
    

    रजिस्टर कोड बनाते समय, Strategy पृष्ठ में रणनीति परीक्षण1 ढूंढें और दाईं ओर क्लिक करेंकार्यवाहीबटन, और फिर क्लिक करेंकिराया.

img

क्लिक करेंआंतरिक बिक्री.

img

छोटे wrench आइकन पर क्लिक करें, और पंजीकरण कोड का मेटाडेटा सेट करें.

img

फिर, आप में सीमा जानकारी लिखने की जरूरत हैमेटानियंत्रण, जैसे इस उदाहरण में डिजाइन की गई रणनीति के कई उपयोग स्तरः

  • स्तर 1: स्थिति राशि की कोई सीमा नहीं;
  • स्तर 2: अधिकतम स्थिति राशि के लिए 10 सिक्कों की सीमा;
  • स्तर 3: अधिकतम स्थिति राशि के लिए 1 सिक्का की सीमा;
  • सेट नहीं किया गया मेटाः जब सेट नहीं किया जाता है, तो अधिकतम स्थिति राशि के लिए डिफ़ॉल्ट सीमा 0.5 सिक्का है।

img

सबसे पहले, हम सेटlevel1मेटा नियंत्रण में, और बनाए गए रजिस्टर कोड कोlevel1परीक्षण1 का रजिस्टर कोड बनाने के बाद, रणनीति विक्रेता रजिस्टर कोड को रणनीति खरीदार को भेजेगा।

उदाहरण के लिए, यदि मैं अपने किसी अन्य खाते (खरीदार के खाते के रूप में) पर रजिस्टर कोड का उपयोग करता हूं, तो मुझे रणनीति परीक्षण1 का उपयोग करने का अधिकार होगा।

img

  • रणनीति खरीदार रणनीति का उपयोग कैसे करता है

    एक रणनीति खरीदार के रूप में, आपको सबसे पहले एक बॉट जोड़ने की आवश्यकता है, रणनीति के रूप में परीक्षण1 चुनें, और एक WexApp स्पॉट एक्सचेंज ऑब्जेक्ट जोड़ें (WexApp FMZ का अनुकरणीय बॉट है), और फिर बॉट चलाएं।

img

जब आप देख सकते हैं कि रणनीति ठीक से चल रही है, तो इसका मतलब हैlevel1स्थिति राशि (स्पॉट खाते में रखे गए सिक्के की राशि) के लिए कोई सीमा नहीं है।

  • मेटाडेटा संशोधित करें

    जब रणनीति रजिस्टर कोड का उपयोग किया जाता है, यदि रणनीति डेवलपर को भेजे जाने वाले रजिस्टर कोड के मेटाडेटा को समायोजित करने की आवश्यकता होती है, तो वह इसे पूरी तरह से संशोधित कर सकता है।

    रणनीति पृष्ठ पर, यह बिक्री के रिकॉर्ड में है।

    img

    मेटाडेटा को संशोधित किया जा सकता है।

    img

    हमने पुराने रजिस्टर कोड के मेटाडेटा को बदलकरlevel3, और रणनीति उपयोगकर्ता परीक्षण करने के लिए बॉट को पुनरारंभ करने की जरूरत है. यह ट्रिगर कियाlevel3अधिकतम स्थिति राशि को 1 सिक्के तक सीमित करने के लिए।

  • निष्कर्ष

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

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


अधिक