## 提示

- `live-or-trading-module-only`


## 原型

```python
set_parameters(**kwargs)
```

## 释义

set_parameters 是 PTrade 中用于设置策略配置参数的接口。

研究：不支持；回测：不支持；模拟：官方目录未明确；实盘：支持。

## 参数

| 参数 | 是否必填 | 官方原始定义 |
|---|---:|---|
| `**kwargs` | 是 | **kwargs |

## 返回值

None

## 示例

```python
def initialize(context):

# 初始化策略

g.security = "600570.SS"

set_universe(g.security)

# 设置非交易日不执行before_trading_start

# 设置tick_data中data不包含order和transaction

# 设置接收非本交易产生的主推

# 设置接收撤单委托产生的主推

# 设置交易时间段服务器重启不再拉起本交易

# 设置服务器重启重拉交易时不再执行before_trading_start函数

set_parameters(holiday_not_do_before="1", tick_data_no_l2="1", receive_other_response="1",

receive_cancel_response="1", not_restart_trade="1", server_restart_not_do_before="1")

# 取消交易时间段服务器重启不再拉起本交易设置

# 取消服务器重启重拉交易时不再执行before_trading_start函数设置

set_parameters(not_restart_trade="0", server_restart_not_do_before="0")

def before_trading_start(context, data):

log.info("do before_trading_start")

# 取消非交易日不执行before_trading_start设置

# 取消tick_data中data不包含order和transaction设置

# 取消接收非本交易产生的主推设置

# 取消接收撤单委托产生的主推设置

set_parameters(holiday_not_do_before="0", tick_data_no_l2="0", receive_other_response="0",

receive_cancel_response="0")

def on_order_response(context, order_list):

log.info("委托主推：%s" % order_list)

def on_trade_response(context, trade_list):

log.info("成交主推：%s" % trade_list)

def handle_data(context, data):

pass
```

## 详细说明

set_parameters(**kwargs)

### 使用场景

该函数仅在交易模块可用

### 接口说明

该函数用于设置策略中的配置参数。

### 注意事项

该函数入参格式必须为a=b样式。

not_restart_trade、server_restart_not_do_before两个入参必须在initialize模块中设置。

not_restart_trade入参配置说明(交易场景务必了解)：

服务器环境重启拉起交易时，initialize和before_trading_start函数会被重复调用，请务必检查策略编写逻辑：

避免在这两个函数中设置无法被系统持久化保存的变量，变量一旦被初始化会导致策略逻辑异常。

避免在这两个函数中调用委托接口，造成重复委托。

您可将not_restart_trade入参设置为1，在交易时间段避免重复执行的问题，交易时间段默认为09:00-11:30、13:00-15:30，实际以券商的配置为准。

server_restart_not_do_before入参配置说明(交易场景务必了解)：

服务器环境重启拉起交易时，before_trading_start函数默认会被调用，为了避免重复调用带来的一系列问题(同上)，您可将server_restart_not_do_before入参设置为"1"，即一个交易日内before_trading_start函数仅调用一次。

如果想要取消已经设置的配置参数，需要再次调用该接口并传入xxx(具体配置项)="0"。

支持的参数

holiday_not_do_before：交易中节假日是否执行before_trading_start。0，执行(缺省)；1，不执行。

tick_data_no_l2：tick_data中data是否包含order和transaction。0，包含(缺省)；1，不包含。

receive_other_response：策略中是否接收非本交易产生的主推。0，不接收(缺省)；1，接收。

receive_cancel_response：策略中是否接收撤单委托产生的主推。0，不接收(缺省)；1，接收。

not_restart_trade：交易时间段若服务器重启，是否自动执行重新拉起本交易。0，执行(缺省)；1，不执行。

server_restart_not_do_before：若服务器重启导致重拉交易，是否重复执行before_trading_start函数。0，执行(缺省)；1，不执行。

### 返回值

None
