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

इंटरएक्टिव नियंत्रण

JavaScript, Python, C++, और MyLanguage रणनीतियों को बातचीत नियंत्रणों के साथ डिज़ाइन किया जा सकता है। एक रणनीति के बातचीत नियंत्रणों का उपयोग चल रहे रणनीति कार्यक्रम को इंटरैक्टिव कमांड भेजने के लिए किया जाता है जब रणनीति लाइव ट्रेडिंग में चल रही होती है। के लिएJavaScript, Python, औरC++भाषा प्रकार रणनीतियों का उपयोग करेंGetCommand()बातचीत नियंत्रण द्वारा उत्पन्न संदेश प्राप्त करने के लिए रणनीति कोड में कार्य।

Interactive Control

इंटरैक्टिव नियंत्रणों से संदेशों को संभालने के लिए रणनीति में डिज़ाइन किए गए कोड के साथ, लाइव ट्रेडिंग के दौरान इंटरैक्टिव नियंत्रणों का उपयोग कार्यों को सक्षम कर सकता है, जैसेः

  • रणनीतिक स्थिति को मैन्युअल रूप से बंद करें.
  • रणनीति के मापदंडों को गतिशील रूप से संशोधित करें ताकि रणनीति को लाइव ट्रेडिंग में फिर से शुरू करने से बचा जा सके।
  • रणनीति के तर्क को बदलें।
  • कुछ डिबगिंग जानकारी, डेटा के प्रिंटिंग को ट्रिगर करता है, और कुछ कार्यों का परीक्षण करने के लिए प्रयोग किया जाता है.

परस्पर क्रिया नियंत्रणों के प्रकार

चर (नाम उदाहरण) विवरण प्रकार डिफ़ॉल्ट मान (वर्णन) घटक विन्यास (वर्णन) टिप्पणी
cmdNum इंटरैक्टिव नियंत्रण cmdNum का वर्णन संख्या डिफ़ॉल्ट मान वैकल्पिक है और रिक्त छोड़ दिया जा सकता है वर्तमान इंटरैक्टिव आइटम से बंधे इंटरफेस नियंत्रणों को सेट करने के लिए प्रयोग किया जाता हैः घटक प्रकार, न्यूनतम मूल्य, अधिकतम मूल्य, समूहन, आदि। इंटरैक्टिव नियंत्रण cmdNum पर टिप्पणियाँ
cmdBool इंटरैक्टिव नियंत्रण cmdBool का वर्णन बुलियन (सही/गलत) डिफ़ॉल्ट मान आवश्यक, चालू या बंद ऊपर के समान इंटरैक्टिव नियंत्रण cmdBool पर टिप्पणी
cmdStr इंटरैक्टिव नियंत्रण cmdStr का वर्णन स्ट्रिंग डिफ़ॉल्ट मान वैकल्पिक है और रिक्त छोड़ दिया जा सकता है ऊपर के समान इंटरैक्टिव कंट्रोल cmdStr पर टिप्पणी
cmdCombox इंटरैक्टिव कंट्रोल cmdCombox का वर्णन चयनित डिफ़ॉल्ट मान वैकल्पिक है और रिक्त छोड़ दिया जा सकता है ऊपर के समान इंटरैक्टिव नियंत्रण cmdCombox पर टिप्पणियाँ
cmdBtn इंटरैक्टिव कंट्रोल cmdBtn का वर्णन बटन बटन नियंत्रण इनपुट आइटम से बंधा नहीं है ऊपर के समान इंटरैक्टिव कंट्रोल cmdBtn पर टिप्पणी

इंटरैक्टिव कंट्रोल ट्रिगर होने के बाद रणनीति को भेजा गया संदेश (स्ट्रिंग): इंटरैक्टिव कंट्रोल cmdNum इनपुट बॉक्स में इंटरैक्टिव डेटा 123 दर्ज करने के बाद, इंटरैक्टिव कंट्रोल cmdNum बटन पर क्लिक करें। रणनीति कार्यक्रम में GetCommand() फ़ंक्शन संदेश cmdNum:123 प्राप्त करेगा. पर इंटरैक्टिव नियंत्रण cmdBool के स्विच नियंत्रण सेट करें, और इंटरैक्टिव नियंत्रण cmdBool के बटन पर क्लिक करें.GetCommand()रणनीति कार्यक्रम में फ़ंक्शन संदेश प्राप्त करेगाःcmdBool:true. इंटरैक्टिव डेटा दर्ज करने के बादःabcइंटरैक्टिव नियंत्रण cmdStr इनपुट बॉक्स में, इंटरैक्टिव नियंत्रण cmdStr बटन पर क्लिक करें.GetCommand()रणनीति कार्यक्रम में फ़ंक्शन संदेश प्राप्त करेगाःcmdStr:abc. इंटरैक्टिव कंट्रोल cmdCombox के ड्रॉप-डाउन बॉक्स में दूसरा विकल्प चुनने के बाद, इंटरैक्टिव कंट्रोल cmdCombox के बटन पर क्लिक करें।GetCommand()रणनीति कार्यक्रम में फ़ंक्शन संदेश प्राप्त करेगाःcmdCombox:1, जहां 1 चयनित विकल्प का सूचकांक है, पहले विकल्प का सूचकांक 0 है और दूसरे विकल्प का सूचकांक 1 है। इंटरैक्टिव नियंत्रण cmdBtn के बटन पर क्लिक करें.GetCommand()रणनीति कार्यक्रम में फ़ंक्शन संदेश प्राप्त करेगाःcmdBtn.

घटक विन्यास

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

इंटरैक्टिव नियंत्रणों द्वारा समर्थित 5 प्रकार के घटक:

  • संख्यात्मक अन्तरक्रियात्मक नियंत्रण समर्थित घटक प्रकारः इनपुट बॉक्स नियंत्रण (डिफ़ॉल्ट), समय चयनक नियंत्रण और स्लाइडिंग इनपुट बार नियंत्रण।
  • बुलियन (सही/गलत) इंटरैक्टिव कंट्रोल केवल स्विच नियंत्रण समर्थित हैं (डिफ़ॉल्ट) ।
  • स्ट्रिंग इंटरैक्टिव नियंत्रण समर्थित घटक प्रकारः इनपुट बॉक्स नियंत्रण (डिफ़ॉल्ट), टेक्स्ट बॉक्स नियंत्रण, समय चयनकर्ता नियंत्रण, रंग चयनकर्ता नियंत्रण, मुद्रा और ट्रेडिंग कोड।
  • चयनित इंटरैक्टिव नियंत्रण समर्थित घटक प्रकारः ड्रॉप-डाउन बॉक्स नियंत्रण (डिफ़ॉल्ट), सेगमेंट नियंत्रक नियंत्रण, मुद्रा और ट्रेडिंग कोड।
  • बटन इंटरैक्टिव नियंत्रण केवल एक बटन नियंत्रण (डिफ़ॉल्ट) है और कोई इनपुट नियंत्रण नहीं है।

इंटरैक्टिव नियंत्रणों को भी समूहित किया जा सकता है, जैसे इंटरफ़ेस पैरामीटर सेटिंग्स। घटक विन्यास में समूह सेटिंग्स हैं।

  • समूह घटक विन्यास के Group इनपुट बॉक्स में, आप एक लेबल के लिए एक नाम दर्ज कर सकते हैं ताकि कई रणनीति इंटरैक्शन कंट्रोल को एक समूह लेबल में समूहीकृत किया जा सके (प्लेटफ़ॉर्म के पुराने फ़ंक्शन Interaction Control Grouping को बदलकर) ।

स्थिति पट्टी में अन्तरक्रियात्मक नियंत्रण

Strategy Interaction कॉलम में इंटरैक्टिव कंट्रोल डिजाइन करने के अलावा, Strategy Status कॉलम में भी इंटरैक्टिव कंट्रोल डिजाइन करना संभव है। वर्तमान में केवल इंटरैक्टिव कंट्रोल प्रकार बटन प्रकार समर्थित है, जिसे खोज में पाया जा सकता हैLogStatusसिंटैक्स गाइड का फ़ंक्शन अनुभाग. स्थिति पट्टी में बटन नियंत्रणों को वर्गीकृत किया जा सकता हैः

  • सामान्य बटन नियंत्रण डेटा संरचना का एक उदाहरण हैः

    {"type": "button", "name": "button1", "cmd": "button1", "description": "This is the first button."}
    
  • डेटा इनपुट के साथ बटन नियंत्रण उपयोग करेंinputइनपुट नियंत्रण विकल्पों को सेट करने के लिए गुण, एक उदाहरण डेटा संरचना के साथः

    {"type": "button", "name": "button2", "cmd": "button2", "description": "This is the second button.", "input": {"name": "number of open positions", "type": "number", "defValue": 1}}
    
    {
        "type": "button",
        "cmd": "test1",
        "name": "test1",
        "input": {
            "type": "selected",
            "name": "selected",
            "label": "drop-down box",
            "description": "description",
            "default": 100,
            "settings": {
                "multiple": true,
                "customizable": true,
                "options":[{"name": "A", "value": 100}, {"name": "B", "value": 200}]
            }
        },
    }
    
  • इनपुट डेटा के सेट के साथ बटन नियंत्रण उपयोग करेंgroupइनपुट नियंत्रणों के समूह के लिए विकल्पों को सेट करने के लिए गुण, एक उदाहरण डेटा संरचना के साथः

    {
        "type": "button",
        "cmd": "open",
        "name": "open positions",
        "group": [
            {"name": "orderType", "description": "下单方式|order type", "type": "selected", "defValue": "market order|pending order"},
            {"name": "tradePrice@orderType==1", "description": "交易价格|trade price", "type": "number", "defValue": 100},
            {"name": "orderAmount", "description": "委托数量|order amount", "type": "string", "defValue": 100},
            {"name": "boolean", "description": "yes/no|boolean", "type": "boolean", "defValue": True}
        ]
    }
    
    {
        "type": "button",
        "cmd": "test2",
        "name": "test2",
        "group": [{
            "type": "selected",
            "name": "selected",
            "label": "drop-down box",
            "description": "description",
            "default": 200,
            "group": "group1",
            "settings": {
                "multiple": true,
                "options":[{"name": "A", "value": 100}, {"name": "B", "value": 200}]
            }
        }, {
            "type": "string",
            "name": "string",
            "label": "input box",
            "description": "description",
            "default": "ABC",
            "group": "group1"
        }],
    }
    

इन बटन नियंत्रण JSON डेटा को एक JSON स्ट्रिंग में एन्कोड करें, फिर इसे के साथ लपेटें`उदाहरण के लिए जावास्क्रिप्ट भाषा को लें:

function main() {
    var btn = {"type": "button", "name": "button1", "cmd": "button1", "description": "This is the first button."}
    LogStatus("`" + JSON.stringify(btn) + "`")
}

ये बटन नियंत्रण भी स्थिति पट्टी रूपों के लिए लिखा जा सकता है, कृपया देखेंसिंटैक्स गाइडविस्तृत उदाहरणों के लिए।

संघ की संरचनाinputक्षेत्र में एक एकल नियंत्रण की संरचना के अनुरूप हैgroupनीचे एक विस्तृत विवरण दिया गया हैः

{
    "type": "selected",     // Control type (required field), supports the following settings: number, string, selected, boolean
    "name": "test",         // Name (required when used in group)
    "label": "topic",       // Title (required field)
    "description": "desc",  // Component tips
    "default": 1,           // Default value; if the settings field is not set in the current JSON structure, defValue is compatible and can be used instead of default
    "filter": "a>1",        // Selector. If this field is not set, no filtering (controls are displayed). If this field is set, no filtering (controls are displayed) occurs when the expression is true. Filtering occurs when the expression is false (controls are not displayed)
                            // For the selector, take the expression a>1 in the current example as an example, a refers to the value of the control with name a under the group field in the structure of type=button. This value is used to determine whether to filter.
    "group": "group1",      // Grouping
    "settings": { ... },    // Component configuration
}

घटक विन्यासsettingsप्रत्येक फ़ील्ड का विस्तार से वर्णन किया गया हैः

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

द्विभाषी सेटिंग्स का समर्थन करता है, उदाहरण के लिएः'选项 | options'वर्तमान भाषा परिवेश के अनुसार अनुकूलित किया जाएगा।groupएक उदाहरण के रूप में क्षेत्र, पूर्ण उदाहरण हैः

{
    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}]
    }
}
रणनीति पैरामीटर विकल्प व्यापार