JavaScript
, Python
, C++
, और MyLanguage रणनीतियों को बातचीत नियंत्रणों के साथ डिज़ाइन किया जा सकता है। एक रणनीति के बातचीत नियंत्रणों का उपयोग चल रहे रणनीति कार्यक्रम को इंटरैक्टिव कमांड भेजने के लिए किया जाता है जब रणनीति लाइव ट्रेडिंग में चल रही होती है।
के लिएJavaScript
, Python
, औरC++
भाषा प्रकार रणनीतियों का उपयोग करेंGetCommand()
बातचीत नियंत्रण द्वारा उत्पन्न संदेश प्राप्त करने के लिए रणनीति कोड में कार्य।
इंटरैक्टिव नियंत्रणों से संदेशों को संभालने के लिए रणनीति में डिज़ाइन किए गए कोड के साथ, लाइव ट्रेडिंग के दौरान इंटरैक्टिव नियंत्रणों का उपयोग कार्यों को सक्षम कर सकता है, जैसेः
चर (नाम उदाहरण) | विवरण | प्रकार | डिफ़ॉल्ट मान (वर्णन) | घटक विन्यास (वर्णन) | टिप्पणी |
---|---|---|---|---|---|
cmdNum | इंटरैक्टिव नियंत्रण cmdNum का वर्णन | संख्या | डिफ़ॉल्ट मान वैकल्पिक है और रिक्त छोड़ दिया जा सकता है | वर्तमान इंटरैक्टिव आइटम से बंधे इंटरफेस नियंत्रणों को सेट करने के लिए प्रयोग किया जाता हैः घटक प्रकार, न्यूनतम मूल्य, अधिकतम मूल्य, समूहन, आदि। | इंटरैक्टिव नियंत्रण cmdNum पर टिप्पणियाँ |
cmdBool | इंटरैक्टिव नियंत्रण cmdBool का वर्णन | बुलियन (सही/गलत) | डिफ़ॉल्ट मान आवश्यक, चालू या बंद | ऊपर के समान | इंटरैक्टिव नियंत्रण cmdBool पर टिप्पणी |
cmdStr | इंटरैक्टिव नियंत्रण cmdStr का वर्णन | स्ट्रिंग | डिफ़ॉल्ट मान वैकल्पिक है और रिक्त छोड़ दिया जा सकता है | ऊपर के समान | इंटरैक्टिव कंट्रोल cmdStr पर टिप्पणी |
cmdCombox | इंटरैक्टिव कंट्रोल cmdCombox का वर्णन | चयनित | डिफ़ॉल्ट मान वैकल्पिक है और रिक्त छोड़ दिया जा सकता है | ऊपर के समान | इंटरैक्टिव नियंत्रण cmdCombox पर टिप्पणियाँ |
cmdBtn | इंटरैक्टिव कंट्रोल cmdBtn का वर्णन | बटन | बटन नियंत्रण इनपुट आइटम से बंधा नहीं है | ऊपर के समान | इंटरैक्टिव कंट्रोल cmdBtn पर टिप्पणी |
इंटरैक्टिव कंट्रोल ट्रिगर होने के बाद रणनीति को भेजा गया संदेश (स्ट्रिंग):
इंटरैक्टिव कंट्रोल cmdNum इनपुट बॉक्स में इंटरैक्टिव डेटा GetCommand()
रणनीति कार्यक्रम में फ़ंक्शन संदेश प्राप्त करेगाःcmdBool:true
.
इंटरैक्टिव डेटा दर्ज करने के बादःabc
इंटरैक्टिव नियंत्रण cmdStr इनपुट बॉक्स में, इंटरैक्टिव नियंत्रण cmdStr बटन पर क्लिक करें.GetCommand()
रणनीति कार्यक्रम में फ़ंक्शन संदेश प्राप्त करेगाःcmdStr:abc
.
इंटरैक्टिव कंट्रोल cmdCombox के ड्रॉप-डाउन बॉक्स में दूसरा विकल्प चुनने के बाद, इंटरैक्टिव कंट्रोल cmdCombox के बटन पर क्लिक करें।GetCommand()
रणनीति कार्यक्रम में फ़ंक्शन संदेश प्राप्त करेगाःcmdCombox:1
, जहां 1 चयनित विकल्प का सूचकांक है, पहले विकल्प का सूचकांक 0 है और दूसरे विकल्प का सूचकांक 1 है।
इंटरैक्टिव नियंत्रण cmdBtn के बटन पर क्लिक करें.GetCommand()
रणनीति कार्यक्रम में फ़ंक्शन संदेश प्राप्त करेगाःcmdBtn
.
रणनीति इंटरैक्टिव कंट्रोल के
इंटरैक्टिव नियंत्रणों द्वारा समर्थित 5 प्रकार के घटक:
इंटरैक्टिव नियंत्रणों को भी समूहित किया जा सकता है, जैसे इंटरफ़ेस पैरामीटर सेटिंग्स। घटक विन्यास में समूह सेटिंग्स हैं।
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}]
}
}
रणनीति पैरामीटर
विकल्प व्यापार