GetStrategyList
按范围、类型、语言、关键字等条件查询策略列表。
示例
按位置传参查询自己的前10个策略,或按参数名查询自己的全部Rust策略。
python
# api() 见「签名验证」页面的Python示例
r = api('GetStrategyList', 0, 10, -3, -1, -1, '') # 自己的前10个策略
r = api('GetStrategyList', strategyType=-3, language=7) # 自己的全部Rust策略
for s in r['data']['result']['strategies']:
print(s['id'], s['name'])返回值
| 类型 | 描述 |
object | 成功时 |
参数
| 名称 | 类型 | 必填 | 描述 |
offset | number | 是 | 分页偏移。 |
length | number | 是 | 每页数量;小于等于0时返回全部。 |
strategyType | number | 是 | 查询范围,例如 |
category | number | 是 | 策略类型: |
language | number | 是 | 策略的编程语言, |
kw | string | 是 | 按策略名称模糊匹配的关键字,多个词用空格分隔;空字符串表示不筛选。以 |
groupId | number | 否 | 策略分组: |
orderBy | string | 否 | 排序字段: |
属性
| 名称 | 类型 | 描述 |
all | number | 符合条件的策略总数。 |
strategies | array | 策略数组。 |
strategies[].id | number | 策略Id,即实盘配置中的 |
strategies[].category | number | 策略类型,取值同参数 |
strategies[].language | number | 编程语言,取值同参数 |
备注
参数中没有needArgs:按旧版文档在category之后多传一个参数,会使后面的参数错位,请按上面的顺序传参,或按参数名传值。
按位置传参时只接受0、6、7、8个参数。不传任何参数(args为[])时,服务端补上的是(-1, -1, -1, -1, 1, ""),即language为1,只返回Python策略;要查询全部语言,请传language为-1,或按参数名传值(按参数名传值时language缺省为-1)。
参数取值
strategyType(查询范围):
| 取值 | 含义 |
|---|---|
-1 | 自己的策略和租用的策略(含官方策略) |
0 | 自己的策略和租用的策略(不含官方策略) |
-3 | 只查自己的策略 |
-6 | 只查租用的策略(含已过期的) |
-4 | 官方策略 |
-2 | 策略广场中公开的策略和付费策略 |
1 | 已公开的策略 |
2 | 待审核的策略 |
category(策略类型):-1全部,0普通策略,20模板类库,21交易插件。
language(编程语言):
| 取值 | 含义 |
|---|---|
-1 | 全部语言 |
0 | JavaScript |
1 | Python |
3 | 已停用的策略类型,只会出现在存量策略中 |
4 | My语言 |
5 | PINE语言 |
6 | Workflow工作流 |
7 | Rust |
返回示例
json
{
"code": 0,
"data": {
"result": {
"all": 123,
"strategies": [{
"category": 0,
"date": "2024-11-10 20:40:04",
"description": "",
"forked": 0,
"hits": 0,
"id": 123,
"is_buy": false,
"is_owner": false,
"language": 0,
"last_modified": "2024-11-11 17:23:52",
"name": "HedgeGridStrategy",
"profile": {
"avatar": "...",
"nickname": "abc",
"uid": "4ed225440db1eda23fe05ed10184113e"
},
"public": 0,
"tags": "",
"uid": "4ed225440db1eda23fe05ed10184113e",
"username": "abc"
}]
},
"error": null
}
}