资源加载中... loading...

策略参数

策略界面上设置的策略参数,在策略代码中是以全局变量形式体现的。JavaScript语言、C++语言、My语言策略代码中可以直接访问策略界面上设置的参数数值或者修改参数, Python策略的函数中修改全局变量、策略界面参数时需要使用global关键字。PINE语言使用input()函数创建界面参数。Blockly可视化方式设计的策略没有界面参数。 策略参数设置界面

界面参数种类

变量(命名举例) 描述 类型 默认值(说明) 组件配置(说明) 备注
pNum 参数pNum的描述 数字型(number) 举例设置默认值为:100,C++策略中为浮点型 用于设置当前参数绑定的界面控件的:组件类型、最小值、最大值、分组、过滤器等 参数pNum的备注,pNum的值为数值类型
pBool 参数pBool的描述 布尔型(true/false) 使用开关控件设置默认值,不具备选填控件 同上 参数pBool的备注,pBool的值为布尔类型
pStr 参数pStr的描述 字符串(string) 举例设置默认值为:abc 同上 参数pStr的备注,pStr的值为字符串类型
pCombox 参数pCombox的描述 下拉框(selected) 设置选项中的某一个选项或多个选项 同上 参数pCombox的备注,pCombox的值可能有多种形式
pSecretStr 参数pSecretStr的描述 加密串(string) 举例设置默认值为:xyz 同上 参数pSecretStr的备注,pSecretStr的值为字符串类型

界面参数,在策略编辑页面代码编辑区下方策略参数区设置,需要注意: 1、参数设置的默认值选项中「选填」控件默认为选填状态,可以改变该控件的状态,设置当前参数为必填。设置参数默认值为必填后,如果策略在回测/实盘时没有设置该参数则无法进行回测/启动实盘。 2、界面参数在策略代码中的变量名不要设置为当前编程语言的保留字(关键字)。 3、在回测/实盘界面鼠标放在参数绑定的控件上时,会显示设置的参数备注信息。 4、参数的「描述」即参数绑定的控件的显示名称。 5、参数的「变量」即以上表格中的:pNumpBoolpStrpComboxpSecretStr。在策略代码中是以全局变量形式存在的,也就是说可以在代码中修改策略参数。 6、对于「加密串」和「字符串」类型的参数,默认值输入时不需要加引号,输入均作为字符串处理。「加密串」参数的使用与「字符串」参数相同,加密字符串会被加密发送,不会明文传输。 7、「字符串」类型的参数如果设置为「选填」,当参数绑定的控件中不填写参数时,参数变量的值为空字符串; 同理,如果是「数字型」的参数,参数变量的值为空值。 同理,如果是「下拉框」的参数,参数变量的值为空值。 同理,如果是「加密串」的参数,参数变量的值为空值。 8、对于下拉框类型的界面参数,例如变量名为pCombox。在「组件配置」中没有开启「支持多选」时,pCombox的值为当前选中的选项索引或具体数据(给选项绑定数据时)。 如果开启了「支持多选」时,pCombox的值为一个数组,数组包含所有当前选中的选项的索引或具体数据(给选项绑定数据时)。

组件配置

策略界面参数的「组件配置」选项用于设置平台上5种参数类型对应的控件,增强功能,简化设计。

5种界面参数支持的组件类型:

  • 数字型(number)参数 支持的组件类型:输入框控件(默认)、时间选择器控件、滑动输入条控件。
  • 布尔型(true/false)参数 仅支持开关控件(默认)。
  • 字符串(string)参数 支持的组件类型:输入框控件(默认)、文本框控件、时间选择器控件、颜色选择器控件、交易代码。
  • 下拉框(selected)参数 支持的组件类型:下拉框控件(默认)、分段控制器控件、交易代码。
  • 加密串(string)参数 仅支持加密输入框控件(默认)。

除了设置界面参数对应的控件类型,还可以设置界面参数的分组、过滤。

  • 分组 在组件配置的「分组」输入框中,可以输入命名一个标签,把若干个策略界面参数划分到一个分组标签中(代替平台旧功能「策略分组」)。
  • 过滤器 在组件配置的「过滤器」输入框中,可以输入过滤判定的表达式,控制界面参数是否生效使用(代替平台旧功能「参数依赖」)。

保存参数设置

  • 回测系统中的参数保存 在回测时如果希望将策略参数保存,可以在策略参数修改后点击「保存回测设置」按钮,参考回测系统「保存回测设置」

    变量 描述 类型 默认值
    number 数值类型 数字型(number) 1
    string 字符串 字符串(string) Hello youquant
    combox 下拉框 下拉框(selected) 1|2|3
    bool 布尔值 布尔型(true/false) true
    numberA@isShowA 数值A 数字型(number) 2
    isShowA 是否显示numberA参数 布尔型(true/false) false

    设置后的策略参数以代码形式保存在策略中,例如:

    /*backtest
    start: 2020-02-29 00:00:00
    end: 2020-03-29 00:00:00
    period: 1d
    args: [["number",2],["string","Hello youquant"],["combox",2],["bool",false],["numberA@isShowA",666],["isShowA",true]]
    */
    
    '''backtest
    start: 2020-02-29 00:00:00
    end: 2020-03-29 00:00:00
    period: 1d
    args: [["number",2],["string","Hello youquant"],["combox",2],["bool",false],["numberA@isShowA",666],["isShowA",true]]
    '''
    
    /*backtest
    start: 2020-02-29 00:00:00
    end: 2020-03-29 00:00:00
    period: 1d
    args: [["number",2],["string","Hello youquant"],["combox",2],["bool",false],["numberA@isShowA",666],["isShowA",true]]
    */
    
  • 实盘参数导入导出 运行实盘时需要保存实盘配置的参数数据,可以点击策略实盘页面中「参数设置」选项,再点击「导出参数」按钮,导出的策略参数将以json文件保存。 导出的策略参数配置也可以再次导入实盘,点击「导入参数」按钮即可把保存的策略实盘参数导入到当前实盘,导入后点击「更新参数」按钮保存生效。

模板类库 交互控件