输入/搜索内容
内置函数
结构体
Trade
Ticker
Record
Order
OrderBook
Depth
Account
Position
Market
OtherStruct
HttpQuery-options
HttpQuery-return
LogStatus-table
LogStatus-btnTypeOne
LogStatus-btnTypeTwo
Chart-options
KLineChart-options
SetData-data
EventLoop-return
DBExec-return
Thread.join-return
内置变量

该JSON结构用于配置状态栏中的按钮控件,按钮控件JSON结构可以嵌入到状态栏表格JSON结构中。这是目前最新版本的按钮JSON结构。
状态栏按钮控件构造示例(按钮触发点击后,弹出框中包含多个输入控件,通过group字段构造):

json
{ "type": "button", "cmd": "open", "name": "开仓下单", "group": [{ "type": "selected", "name": "tradeType", "label": "下单类型", "description": "市价单、限价单", "default": 0, "group": "交易设置", "settings": { "options": ["市价单", "限价单"], "required": true, } }, { "type": "selected", "name": "direction", "label": "交易方向", "description": "买入、卖出", "default": "buy", "group": "交易设置", "settings": { "render": "segment", "required": true, "options": [{"name": "买入", "value": "buy"}, {"name": "卖出", "value": "sell"}], } }, { "type": "number", "name": "price", "label": "价格", "description": "订单的价格", "group": "交易设置", "filter": "tradeType==1", "settings": { "required": true, } }, { "type": "number", "name": "amount", "label": "下单量", "description": "订单的下单量", "group": "交易设置", "settings": { "required": true, } }], }

状态栏按钮控件点击触发后弹出框中的控件通过inputgroup字段进行设置。

属性

名称类型描述

type

string

对于按钮控件,固定设置为:button

name

string

按钮控件上显示的文本,即按钮名称。

cmd

string

按钮控件被点击时,发送给策略的交互命令内容。

input

JSON

在构造状态栏按钮进行交互时支持输入数据配置,交互指令最终由GetCommand()函数捕获。在状态栏按钮控件的JSON数据结构中增加input项,用于配置按钮触发时弹出对话框中的输入控件。
相对于旧版本的input结构,新版本增加了一些字段并进行了改动:

json
{ "type": "selected", "name": "test", "label": "topic", "description": "desc", "default": 1, "filter": "a>1", "group": "group1", "settings": { ... }, // 组件配置 }

以上JSON结构中各字段的描述和说明:

  • type
    控件类型(必填字段),支持设置为:"number"数值输入框、"string"字符串输入框、"selected"下拉框、"boolean"开关控件。
  • name
    如果当前JSON结构是input字段的值,当未设置label字段时,name将作为状态栏按钮点击触发后弹出对话框中的控件标题。
    如果当前JSON结构是group字段值(数组结构)中的一个元素,name不作为控件标题使用,而是用于表示控件输入内容的字段名。例如以下group字段的示例片段:
    json
    var testBtn3 = { type: "button", name: "testBtn3", cmd: "cmdTestBtn3", group: [ {name: "comboBox1", label: "labelComboBox1", description: "下拉框1", type: "selected", defValue: 1, options: ["A", "B"]}, {name: "comboBox2", label: "labelComboBox2", description: "下拉框2", type: "selected", defValue: "A|B"}, {name: "comboBox3", label: "labelComboBox3", description: "下拉框3", type: "selected", defValue: [0, 2], multiple: true, options: ["A", "B", "C"]}, { name: "comboBox4", label: "labelComboBox4", description: "下拉框4", type: "selected", defValue: ["A", "C"], multiple: true, options: [{text: "选项A", value: "A"}, {text: "选项B", value: "B"}, {text: "选项C", value: "C"}, {text: "选项D", value: "D"}] } ] }
    根据此示例,当状态栏按钮触发交互时,将弹出包含4个下拉框控件的对话框。设置好各控件的选项并点击确定发送交互消息后,策略中的GetCommand函数将接收到cmdTestBtn3:{"comboBox1":1,"comboBox2":0,"comboBox3":[0,2],"comboBox4":["A","C"]}
    JSON结构中name的值都作为返回交互信息的字段名,例如:comboBox1、comboBox2等。
  • label
    用于设置控件的标题。
  • description
    控件的描述信息。如果当前JSON结构是group字段值(数组结构)中的一个元素,当未设置label字段时,description将作为状态栏按钮点击触发后弹出对话框中的控件标题。
  • default
    控件的默认值。
  • filter
    选择器,用于控制控件的显示与隐藏。不设置该字段表示不过滤(显示控件);设置该字段时,当表达式为真时不过滤(显示控件),当表达式为假时过滤(不显示控件)。
  • group
    用于控制控件分组,支持折叠显示。
  • settings
    组件配置,控件有多种UI样式可供选择,通过此选项进行具体设置。例如:
    json
    settings:{ multiple:true, customizable:true, options:[{name:'xxx|yyy',value:0}] }
    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时有效,表示选择器的选项数据格式:["选项1","选项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时,目前仅支持默认复选框。

group

array

input字段配置状态栏按钮触发点击后弹出的对话框中的一个控件,groupinput的区别在于其配置的是一组控件,group中的元素与input字段值的数据结构保持一致,请参考上述input字段的相关描述说明。

参考

备注

支持双语设置:

json
{ type:'selected', name:'test', label:'选项|options', description:'描述|description', default:0, // 此处default默认值设置为0,表示{name:'xxx|yyy',value:0}选项中的value值 filter:'a>1&&a<10', group:'分组|group', settings:{ multiple:true, customizable:true, options:[{name:'xxx|yyy',value:0}] } }