上下文
策略运行上下文Context是策略可以直接访问的唯一对象,策略所有的接口都通过Context对象调用。
输出接口
stra_log_text
输出日志
| 传入参数 | 含义 | 类型 |
|---|---|---|
| message | 日志信息 | str |
时间接口
stra_get_tdate
获取当前交易日
| 返回结果 | 类型 |
|---|---|
| 当前交易日 | int(格式如20180513) |
stra_get_date
获取当前日历日期
| 返回结果 | 类型 |
|---|---|
| 当前日历日 | int(格式如20180513) |
stra_get_time
获取当前时间,24小时制,精确到分
| 返回结果 | 类型 |
|---|---|
| 当前时间 | int(格式如1231) |
stra_get_secs
获取当前秒数,精确到毫秒
| 返回结果 | 类型 |
|---|---|
| 当前秒数 | int(格式如1231) |
账户接口
stra_get_position_avgpx
获取当前持仓均价
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| 返回结果 | 类型 |
|---|---|
| 持仓均价 | float |
stra_get_position_profit
获取持仓浮动盈亏
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| 返回结果 | 类型 |
|---|---|
| 浮动盈亏 | float |
stra_get_fund_data
获取资金数据
| 传入参数 | 含义 | 类型 |
|---|---|---|
| flag | 0-动态权益,1-总平仓盈亏,2-总浮动盈亏,3-总手续费 | int |
| 返回结果 | 类型 |
|---|---|
| 资金数据 | float |
stra_get_all_position
获取全部持仓
| 返回结果 | 类型 |
|---|---|
| 全部持仓 | dict(持仓结构) |
stra_get_position
读取当前仓位
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| bonlyvalid | 只读可用持仓,默认为False | bool |
| usertag | 入场标记 | StdCode |
| 返回结果 | 类型 |
|---|---|
| 净持仓,正为多仓,负为空仓 | int |
stra_get_detail_profit
获取指定标记的持仓的盈亏
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| usertag | 进场标记 | 进场标记 |
| flag | 盈亏记号,0-浮动盈亏,1-最大浮盈,-1-最大亏损(负数) | int |
| 返回结果 | 类型 |
|---|---|
| 盈亏 | float |
stra_get_detail_cost
获取指定标记的持仓的开仓价
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| usertag | 进场标记 | 进场标记 |
| 返回结果 | 类型 |
|---|---|
| 开仓价 | float |
stra_get_detail_entertime
获取指定标记的持仓的进场时间
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| usertag | 进场标记 | 进场标记 |
| 返回结果 | 类型 |
|---|---|
| 进场时间,格式如201907260932 | int |
数据接口
stra_get_price
获取最新价格,一般在获取了K线以后再获取该价格
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| 返回结果 | 类型 |
|---|---|
| 最新价格 | float |
stra_prepare_bars
准备历史K线,一般在on_init调用
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| period | K线周期,如m3/d7 | str |
| count | 要拉取的K线条数 | int |
| isMain | 是否为主K线,主K线将用于驱动策略回测 | bool |
stra_get_bars
获取历史K线
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| period | K线周期,如m3/d7 | str |
| count | 要拉取的K线条数 | int |
| isMain | 是否为主K线 | bool |
| 返回结果 | 类型 |
|---|---|
| K线数据 | WtBarRecords |
stra_sub_ticks
订阅实时行情
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
stra_get_ticks
获取tick数据
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| count | 要拉取的tick数量 | int |
| 返回结果 | 类型 |
|---|---|
| tick数据 | WtTickRecords |
Tip
stra_prepare_bars与stra_get_bars功能相似,都能够起到订阅K线的作用,区别在于stra_get_bars会返回获取到的历史K线。同样stra_get_ticks也能起到stra_sub_ticks订阅数据的功能,但stra_get_ticks会订阅后并返回tick数据,而stra_sub_ticks仅订阅
Tip
如果订阅了多个合约,请确保仅选择了一个作为主K线,如果设置了多个主K线,可能会导致无法触发on_bar与on_calculate
stra_get_order_queue
获取委托队列数据
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| count | 要拉取的数量 | int |
| 返回结果 | 类型 |
|---|---|
| 委托队列数据 | WtOrdQueRecords |
stra_get_transaction
获取逐笔成交数据
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| count | 要拉取的数量 | int |
| 返回结果 | 类型 |
|---|---|
| 逐笔成交数据 | WtTransRecords |
stra_get_comminfo
获取品种详情
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| 返回结果 | 类型 |
|---|---|
| 品种信息 | ProductInfo |
stra_get_sessinfo
获取交易时段详情
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| 返回结果 | 类型 |
|---|---|
| 交易时间信息 | SessionInfo |
user_save_data
保存用户数据
| 传入参数 | 含义 | 类型 |
|---|---|---|
| key | 数据id | str |
| val | 数据值 | 可以直接转换成str的数据均可 |
user_load_data
读取用户数据
| 传入参数 | 含义 | 类型 |
|---|---|---|
| key | 数据id | str |
| defVal | 默认数据,如果找不到则返回改数据,默认为None | 可以直接转换成str的数据均可 |
| vType | 数据类型,默认为float | * |
| 返回结果 | 类型 |
|---|---|
| 返回值,默认处理为float数据 | vType决定 |
交易接口
stra_buy
买入指令
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| price | 买入价格, 0为市价 | int |
| qty | 买入数量 | int |
| flag | 下单类型,0-normal, 1-fak, 2-fok | int |
stra_sell
卖出指令
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| price | 卖出价格, 0为市价 | int |
| qty | 卖出数量 | int |
| flag | 下单类型,0-normal, 1-fak, 2-fok | int |
stra_get_undone
获取当前某一合约未成的净委托量
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
stra_cancel
撤销指定订单
| 传入参数 | 含义 | 类型 |
|---|---|---|
| localid | 下单时返回的本地订单号 | int |
stra_cancel_all
撤销指定品种的全部买入订单or卖出订单
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| isBuy | 是否是买入订单 | bool |
stra_get_last_entrytime
获取当前持仓最后一次进场时间
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| 返回结果 | 类型 |
|---|---|
| 返回最后一次进场的时间,格式如201903121047 | int |
stra_get_last_exittime
获取当前持仓最后一次出场时间
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| 返回结果 | 类型 |
|---|---|
| 返回最后一次出场的时间,格式如201903121047 | int |
stra_get_first_entrytime
获取当前持仓第一次进场时间
| 传入参数 | 含义 | 类型 |
|---|---|---|
| stdCode | 标准合约代码 | StdCode |
| 返回结果 | 类型 |
|---|---|
| 返回第一次进场的时间,格式如201903121047 | int |