# 动态参数

动态参数仅在仿真交易和实盘交易下生效, 可在终端设置和修改。

动态参数通过策略调用接口实现策略和掘金界面参数交互, 在不停止策略运行的情况下,界面修改参数(移开光标,修改就会生效)会对策略里的指定变量做修改

动态参数

# add_parameter - 增加动态参数

函数原型:

add_parameter(key, value, min=0, max=0, name='', intro='', group='', readonly=False)

参数:

参数名 类型 说明
key str 参数的键
value double 参数的值
min double 最小值
max double 最大值
name str 参数名称
intro str 参数说明
group str 参数的组
readonly bool 是否为只读参数

返回值:

None

示例:

context.k_value = 80
add_parameter(key='k_value', value=context.k_value, min=0, max=100, name='k值阀值', intro='调整k值', group='1', readonly=False)

# set_parameter - 修改已经添加过的动态参数

**注意:**需要保持 key 键名和添加过的动态参数的 key 一致,否则不生效,无报错

函数原型:

set_parameter(key, value, min=0, max=0, name='', intro='', group='', readonly=False)

参数:

参数名 类型 说明
key str 参数的键
value double 参数的值
min double 最小值
max double 最大值
name str 参数名称
intro str 参数说明
group str 参数的组
readonly bool 是否为只读参数

返回值:

None

示例:

context.k_xl = 0.3
set_parameter(key='k_value', value=context.k_xl, min=0, max=1, name='k值斜率', intro='调整k值斜率', group='1', readonly=False)

# on_parameter - 动态参数修改事件推送

函数原型:

on_parameter(context, parameter)

参数:

参数名 类型 说明
context context 上下文
parameter dict 当前被推送的动态参数对象

示例:

def on_parameter(context, parameter):
    print(parameter)

输出:

{'key': 'k_value', 'value': 80.0, 'max': 100.0, 'name': 'k值阀值', 'intro': '调整k值', 'group': '1', 'min': 0.0, 'readonly': False}

# context.parameters - 获取所有动态参数

返回数据类型为字典, key 为动态参数的 key, 值为动态参数对象

示例:

print(context.parameters)

输出:

{'k_value': {'key': 'k_value', 'value': 80.0, 'max': 100.0, 'name': 'k值阀值', 'intro': 'k值阀值', 'group': '1', 'min': 0.0, 'readonly': False}, 'd_value': {'key': 'd_value', 'value': 20.0, 'max': 100.0, 'name': 'd值阀值', 'intro': 'd值阀值', 'group': '1', 'min': 0.0, 'readonly': False}}


上次更新: 1/8/2024, 4:08:51 PM