[TOC]
आविष्कारक क्वांटिफाइड ट्रेडिंग प्लेटफॉर्म के विकास की रणनीति में, डिजाइन रणनीति पैरामीटर और रणनीति इंटरैक्शन से जुड़ा होना चाहिए। आविष्कारक क्वांटिफाइड ट्रेडिंग प्लेटफॉर्म सरल, आसान उपयोग करने के लिए प्रतिबद्ध है, शक्तिशाली क्वांटिफाइड ट्रेडिंग उपकरण, लगातार उत्पाद डिजाइन और कार्यक्षमता को दोहराता है। "नीति पैरामीटर" और "इंटरैक्शन कंट्रोल" को अपग्रेड करके रणनीति डिजाइन में पैरामीटर और बातचीत के लिए डिजाइन लचीलापन को और बढ़ाया गया है। रणनीति पैरामीटर और बातचीत नियंत्रण की कार्यक्षमता को बढ़ाया गया है, जिससे कुछ डिजाइन आवश्यकताओं को अधिक आसानी से पूरा किया जा सकता है। तो इस लेख में हम एक साथ रणनीतिक डिजाइन में आवश्यक दो विषयों को फिर से पहचानते हैंः "नीति पैरामीटर डिजाइन" और "नीति इंटरैक्शन डिजाइन"।
आविष्कारक परिमाण में रणनीतिक पैरामीटर प्रकार में कोई वृद्धि नहीं हुई है, जो कि हमारे लिए परिचित पांच पैरामीटर प्रकार हैं:
तो आप मुझसे पूछेंगे कि इस बार प्लेटफॉर्म में क्या अपडेट, जोड़े, अनुकूलित किए गए हैं?
इस उन्नयन में पैरामीटर बाध्यकारी नियंत्रण के "घटक विन्यास" को जोड़ा गया है, और "घटक विन्यास" और "पैरामीटर निर्भरता" दोनों कार्यक्षमताओं को "घटक विन्यास" में एकीकृत करने के लिए सरल बनाया गया है। पैरामीटर के डिफ़ॉल्ट मानों के लिए एक "विकल्प भरा" / "आवश्यक भरा" विकल्प जोड़ा गया है, जो यह निर्धारित करने के लिए उपयोग किया जाता है कि क्या नीति में चलने की शर्त है, यदि पैरामीटर "आवश्यक भरा" पर सेट है, लेकिन पैरामीटर नियंत्रण में कोई विशिष्ट पैरामीटर नहीं लिखा गया है जब नीति निष्पादित होती है, तो नीति काम नहीं कर सकती है। इस बार के अपग्रेड के बारे में जानने के लिए, हम आगे विस्तार से परीक्षण करेंगे।
पहले हमने केवल "विकल्प भरने" / "आवश्यक भरने" के बारे में बात की थी, लेकिन यह यहाँ नहीं है। निम्नलिखित मुख्य व्याख्या "घटक विन्यास" है, जिसे घटक विन्यास के रूप में समझा जा सकता हैः
सेट करें पैरामीटर के लिए नियंत्रणों के विभिन्न गुणों, प्रकारों, नियमों के लिए बाध्य; संख्यात्मक प्रकार पैरामीटर; संख्यात्मक प्रकार; संख्या) के लिए बाध्य नियंत्रणों के लिए इनपुट बॉक्स के रूप में डिफ़ॉल्ट रूप से, इनपुट बॉक्स प्राप्त करने के लिए डेटा को सीमित करने के लिए नियमों का उपयोग कर सकते हैं, उदाहरण के लिए, "न्यूनतम मूल्य" नियंत्रण और "अधिकतम मूल्य" नियंत्रण सेट।
इस बार प्लेटफॉर्म में डिफ़ॉल्ट इनपुट बॉक्स कंट्रोल के अलावा कुछ नया जोड़ा गया हैः
बुल प्रकार के पैरामीटर के लिए यह विशेष है कि इसमें केवल एक ही संबंधित नियंत्रण है, जो कि डिफ़ॉल्ट स्विच नियंत्रण है। और पैरामीटर का डिफ़ॉल्ट मान भी अनिवार्य है।
चूंकि बुल मान सही या गलत नहीं है, इसलिए यह एक द्विआधारी विकल्प है। इसलिए स्विच कंट्रोल का उपयोग करके इस प्रकार के पैरामीटर प्रकार के लिए उपयुक्त है।
प्लेटफ़ॉर्म पर सामान्य रूप से बुर प्रकार के पैरामीटर का उपयोग यह नियंत्रित करने के लिए किया जाता है कि कुछ नीतिगत सुविधाएँ चालू हैं या नहीं।
इस बार प्लेटफॉर्म में डिफ़ॉल्ट इनपुट बॉक्स कंट्रोल के अलावा कुछ नया जोड़ा गया हैः
पाठ "घटक प्रकार" में, सेट करने का चयन करेंः पाठ. वर्तमान पैरामीटर के अनुरूप नीति इंटरफ़ेस पर इनपुट बॉक्स नियंत्रण एक बड़ा पाठ बॉक्स बन जाएगा. टेक्स्ट कंट्रोल और सामान्य इनपुट बॉक्स कंट्रोल में अंतर हैः टेक्स्ट बॉक्स में इनपुट किए गए टेक्स्ट को पंक्तियों में बदल दिया जा सकता है, और टेक्स्ट बॉक्स को कंट्रोल का आकार समायोजित किया जा सकता है। इंटरफ़ेस पैरामीटर का चर मान हैः स्ट्रिंग.
समय चयनकर्ता "घटक प्रकार" में, समय चयनकर्ता के रूप में सेट करना चुनें. वर्तमान पैरामीटर के अनुरूप नीति इंटरफ़ेस पर इनपुट बॉक्स नियंत्रण समय दिनांक सेट करने के लिए नियंत्रण बन जाएगा. स्ट्रिंग प्रकार पैराग्राफ के लिए घटक प्रकार का समय चयनकर्ता और संख्यात्मक प्रकार पैराग्राफ के लिए घटक प्रकार का समय चयनकर्ता के विपरीत, स्ट्रिंग प्रकार पैराग्राफ के लिए समय चयनकर्ता एक "समय प्रारूप" विकल्प से अधिक है जो नियंत्रण के चयन प्रारूप को सेट कर सकता हैः १, दिनांकः "समय प्रारूप" को दिनांक तालिका के लिए सेट किया गया है, तो यह एक पूर्ण समय का चयन करने के लिए वर्ष, महीने, दिन, समय, मिनट और सेकंड का चयन करने के लिए एक नियंत्रण है, जो वर्तमान समय का चयन करने के लिए एक बटन का समर्थन करता है। 2, समयः "समय प्रारूप" को टाइमर टाइमर के रूप में सेट किया गया है, तो नियंत्रण एक समय का चयन करने वाला नियंत्रण है। 3, वर्ष का महीनाः जब "समय प्रारूप" को वर्ष का महीना के रूप में सेट किया जाता है, तो नियंत्रण एक वर्ष, महीने का समय चुनने का नियंत्रण है। वर्षः "समय प्रारूप" को वर्ष के लिए सेट किया गया है, तो नियंत्रण वर्ष का समय चुनने के लिए एक नियंत्रण है। इंटरफ़ेस पैरामीटर का चर मान हैः स्ट्रिंग (अनुरूप समय के रूप में स्वरूपित) ।
रंग चयनकर्ता "घटक प्रकार" में चुनें सेट करने के लिएः रंग चयनकर्ता. वर्तमान पैरामीटर के अनुरूप नीति इंटरफ़ेस पर इनपुट बॉक्स नियंत्रण रंग चयन नियंत्रण हो जाएगा. आम तौर पर रंग सेट करने के लिए डिज़ाइन किए गए पैरामीटर के लिए प्रयोग किया जाता है। इंटरफ़ेस पैरामीटर के लिए चर मानः स्ट्रिंग ((चयनित रंग के अनुरूप रंग मान, उदाहरण के लिएः #7e1717) ।
नीचे खींचने के प्रकार के पैरामीटर के लिए डिफ़ॉल्ट रूप से संबंधित नियंत्रण ड्रॉपबॉक्स है, लेकिन इस बार पहले के सरल एकल चयन ड्रॉपबॉक्स के लिए कई उन्नयन किए गए हैंः
इस प्लेटफॉर्म में डिफ़ॉल्ट ड्रॉपबॉक्स कंट्रोल के अलावा कुछ नया भी है:
एन्क्रिप्टेड स्ट्रिंग प्रकार के पैरामीटर भी विशेष हैं, जिसमें केवल एक ही संबंधित नियंत्रण होता है; यह डिफ़ॉल्ट एन्क्रिप्टेड इनपुट बॉक्स नियंत्रण है।
प्लेटफ़ॉर्म पर एन्क्रिप्टेड स्ट्रिंग प्रकार के नियंत्रणों का उपयोग आमतौर पर कुछ संवेदनशील जानकारी सेट करने के लिए किया जाता है, जैसे कि गुप्त कुंजी, पासवर्ड आदि। इन इनपुटों के पैरामीटर मान स्थानीय रूप से एन्क्रिप्टेड होने के बाद प्रसारित किए जाते हैं।
इंटरफ़ेस पैरामीटर का चर मान हैः स्ट्रिंग.
उपरोक्त सभी प्रकार के नीति इंटरफ़ेस पैरामीटर के लिए, इस उन्नयन ने पहले के "पैरामीटर समूह" और "पैरामीटर निर्भरता" कार्यक्षमता को "घटक विन्यास" में एकीकृत किया है। सभी इंटरफ़ेस पैरामीटर के घटक विन्यास में "घटक" और "फ़िल्टर" सेटिंग्स हैं।
过滤器格式: a>b , a==1 , a , !a , a>=1&&a<=10 , a>b
यहाँ a, b, और b, दोनों एक रणनीति इंटरफ़ेस पैरामीटर के लिए एक चर है।यदि उपरोक्त बयान के बारे में कुछ भी समझ में नहीं आता है, तो इसका सबसे अच्छा तरीका यह है कि इसे व्यावहारिक रूप से उपयोग करें और इन पैरामीटर कार्यों का परीक्षण करेंः
उदाहरण के लिए जावास्क्रिप्ट भाषा की नीतिः
function main() {
Log("---------------------------开始测试数字类型参数---------------------------")
Log("变量pNum1:", pNum1, ", 变量值类型:", typeof(pNum1))
Log("变量pNum2:", pNum2, ", 变量值类型:", typeof(pNum2))
Log("变量pNum3:", pNum3, ", 变量值类型:", typeof(pNum3))
Log("变量pNum4:", pNum4, ", 变量值类型:", typeof(pNum4))
Log("---------------------------开始测试布尔类型参数---------------------------")
Log("变量pBool1:", pBool1, ", 变量值类型:", typeof(pBool1))
Log("变量pBool2:", pBool2, ", 变量值类型:", typeof(pBool2))
Log("---------------------------开始测试字符串类型参数---------------------------")
Log("变量pStr1:", pStr1, ", 变量值类型:", typeof(pStr1))
Log("变量pStr2:", pStr2, ", 变量值类型:", typeof(pStr2))
Log("变量pStr3:", pStr3, ", 变量值类型:", typeof(pStr3))
Log("变量pStr4:", pStr4, ", 变量值类型:", typeof(pStr4))
Log("---------------------------开始测试下拉框类型参数---------------------------")
Log("变量pCombox1:", pCombox1, ", 变量值类型:", typeof(pCombox1))
Log("变量pCombox2:", pCombox2, ", 变量值类型:", typeof(pCombox2))
Log("变量pCombox3:", pCombox3, ", 变量值类型:", typeof(pCombox3))
Log("---------------------------开始测试加密串类型参数---------------------------")
Log("变量pSecretStr1:", pSecretStr1, ", 变量值类型:", typeof(pSecretStr1))
}
पूरी पैरामीटर परीक्षण रणनीतिःhttps://www.fmz.com/strategy/455212
उपरोक्त पैरामीटर में एक पैरामीटर निर्भरता डिज़ाइन छिपा हुआ है, कई रणनीतियों में एक पैरामीटर के आधार पर सेटिंग्स की एक श्रृंखला खोलने की आवश्यकता होती है, जिसे इस तरह के पैरामीटर निर्भरता के साथ लागू किया जा सकता है।
आविष्कारकों ने क्वांटिफाइड ट्रेडिंग प्लेटफॉर्म के लिए पांच रणनीतिक इंटरैक्शन कंट्रोल भी बनाए हैं, जिन्हें इस बार अनुकूलित और उन्नत किया गया है।
इंटरएक्टिव कंट्रोल पॉलिसी इंटरफ़ेस पैरामीटर के "कंपोनेंट कॉन्फ़िगरेशन" के साथ मूल रूप से मेल खाता है, जिसमें घटक प्रकारों को डिफ़ॉल्ट इनपुट बॉक्स कंट्रोल के अलावा समर्थन में जोड़ा गया हैः
उपयोग की विधि नीति इंटरफ़ेस पैरामीटर के विभिन्न घटक प्रकारों के अनुरूप है, और यह अधिक नहीं है।
इंटरएक्टिव कंट्रोल और रणनीतिक इंटरफ़ेस पैरामीटर के "घटक विन्यास" में काफी समानता है।
घटक प्रकार, इनपुट बॉक्स नियंत्रण के अलावा, निम्न प्रकार का समर्थन करता हैः
इंटरैक्टिव कंट्रोल के ड्रॉपबॉक्स को भी अपग्रेड किया गया हैः "बहुविकल्पीय समर्थन", "अनुकूलित डिफ़ॉल्ट मान", विशिष्ट डेटा को बाध्य करने के विकल्प आदि।
डिफ़ॉल्ट ड्रॉपबॉक्स घटक के अलावा, निम्नलिखित जोड़े गए हैंः
बटन प्रकार के इंटरैक्टिव कंट्रोल में कोई इनपुट नहीं होता है और ट्रिगर होने पर भेजे जाने वाले इंटरैक्टिव कमांड में केवल बटन कंट्रोल का नाम होता है।
मैनुअल परीक्षण एक बार फिर से समझने का सबसे अच्छा तरीका है, यहां एक परीक्षण रणनीति भी तैयार की गई है।
यह ध्यान रखना महत्वपूर्ण है कि इंटरैक्टिव कंट्रोल को रीट्रेसिंग सिस्टम में परीक्षण नहीं किया जा सकता है, केवल वास्तविक डिस्क परीक्षण बनाया जा सकता है।
function main() {
var lastCmd = ""
while (true) {
var cmd = GetCommand() // 接收交互控件产生的消息
if (cmd) {
Log(cmd)
lastCmd = cmd
}
LogStatus(_D(), lastCmd)
Sleep(500)
}
}
यादृच्छिक रूप से कुछ जानकारी दर्ज करें, कुछ विकल्प सेट करें, और फिर इंटरैक्टिव कंट्रोल बटन पर क्लिक करें ताकि एक इंटरैक्टिव संदेश उत्पन्न हो सके, जिसे नीति संदेश को पकड़ने के बाद प्रिंट कर सकती है।
इंटरएक्टिव कंट्रोलर परीक्षण रणनीति पूरी की गईःhttps://www.fmz.com/strategy/455231
1. प्लेटफॉर्म ने इंटरफेस पैरामीटर और इंटरैक्टिव कंट्रोल के लिए स्ट्रिंग प्रकार, ड्रॉपडाउन प्रकार को अपडेट किया; दो नए कंट्रोल के लिए समर्थन जोड़ा गयाः
2, रणनीति इंटरफ़ेस पैरामीटर में मुद्रा नियंत्रण, लेन-देन कोड (ट्रांजेक्शन जोड़ी) का उपयोग करके पैरामीटर परीक्षण सेट करें
function main() {
Log("参数test1使用币种控件选择后,test1的值为:", test1)
Log("参数test2使用交易代码控件选择后,test2的值为:", test2)
}
1। मुद्रा
参数test1使用币种控件选择后,test1的值为: BTC
2, लेनदेन कोड (ट्रांजेक्शन जोड़ी)
参数test2使用交易代码控件选择后,test2的值为: ETH_USDT.next_quarter
3। रणनीति इंटरैक्शन कंट्रोल में मुद्रा नियंत्रण, लेनदेन कोड (ट्रांजेक्शन जोड़ी) का उपयोग करके नियंत्रण के इंटरैक्शन परीक्षण को सेट करेंः
function main() {
while (true) {
var cmd = GetCommand()
if (cmd) {
Log(cmd)
}
Sleep(2000)
}
}
1। मुद्रा
test1:SOL
2, लेनदेन कोड (ट्रांजेक्शन जोड़ी)
test2:XRP_USDT.swap