变量(命名举例) | 描述 | 类型 | 默认值(说明) | 组件配置(说明) | 备注 |
---|---|---|---|---|---|
cmdNum | 交互控件cmdNum的描述 | 数字型(number) | 默认值选填,可留空 | 用于设置当前交互项绑定的界面控件的:组件类型、最小值、最大值、分组等 | 交互控件cmdNum的备注 |
cmdBool | 交互控件cmdBool的描述 | 布尔型(true/false) | 默认值必选,开启或关闭 | 同上 | 交互控件cmdBool的备注 |
cmdStr | 交互控件cmdStr的描述 | 字符串(string) | 默认值选填,可留空 | 同上 | 交互控件cmdStr的备注 |
cmdCombox | 交互控件cmdCombox的描述 | 下拉框(selected) | 默认值选填,可留空 | 同上 | 交互控件cmdCombox的备注 |
cmdBtn | 交互控件cmdBtn的描述 | 按钮(button) | 按钮控件不绑定输入项 | 同上 | 交互控件cmdBtn的备注 |
交互控件触发后发送给策略的消息(字符串):
- 数字型
在交互控件cmdNum
的输入框中输入交互数据:123
后,点击交互控件cmdNum的按钮。策略程序中的GetCommand()
函数会收到消息:cmdNum:123
。
- 布尔型
在交互控件cmdBool
的开关控件上设置为打开,点击交互控件cmdBool的按钮。策略程序中的GetCommand()
函数会收到消息:cmdBool:true
。
- 字符串
在交互控件cmdStr
的输入框中输入交互数据:abc
后,点击交互控件cmdStr的按钮。策略程序中的GetCommand()
函数会收到消息:cmdStr:abc
。
- 下拉框
在交互控件cmdCombox
的下拉框中选中第二个选项后,点击交互控件cmdCombox的按钮。策略程序中的GetCommand()
函数会收到消息:cmdCombox:1
,1表示选中的选项的索引,第一个选项索引为0,第二个选项索引为1。
- 按钮
点击交互控件cmdBtn
的按钮。策略程序中的GetCommand()
函数会收到消息:cmdBtn
。
交互控件的应用:动态修改策略参数 例如,策略有一个参数为symbol,在策略界面上添加的策略参数也是全局变量,所以这里就使用代码里的全局变量作为演示。
// 策略参数
var symbol = "BTC_USDT"
function main() {
while (true) {
var cmd = GetCommand()
if (cmd) {
var arr = cmd.split(":")
if (arr.length == 2 && arr[0] == "changeSymbol") {
// 检测到 changeSymbol 控件触发,就会执行参数更新操作
Log("修改symbol参数为:", arr[1])
symbol = arr[1]
}
}
LogStatus(_D(), ",当前的symbol参数值为:", symbol)
Sleep(3000)
}
}
设置交互控件:
策略参数 组件配置