@vibek/cli 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -10
- package/config.example.toml +44 -85
- package/index.js +651 -692
- package/package.json +1 -1
- package/vibek-package.json +1 -1
package/README.md
CHANGED
|
@@ -50,20 +50,20 @@ vibek --default-config > ~/.config/vibek/config.toml
|
|
|
50
50
|
${EDITOR:-vi} ~/.config/vibek/config.toml
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
账号名由 `broker_id-user`
|
|
53
|
+
账号名由 `broker_id-user` 自动生成。配置只支持一个账号:
|
|
54
54
|
|
|
55
55
|
```toml
|
|
56
|
-
[
|
|
56
|
+
[account]
|
|
57
57
|
broker_id = "9999"
|
|
58
58
|
user = "account"
|
|
59
59
|
|
|
60
|
-
[
|
|
60
|
+
[account.ctp]
|
|
61
61
|
market_front = "tcp://行情前置地址:端口"
|
|
62
62
|
trader_front = "tcp://交易前置地址:端口"
|
|
63
63
|
app_id = "你的-app-id"
|
|
64
64
|
production_mode = true
|
|
65
65
|
|
|
66
|
-
[
|
|
66
|
+
[account.trading]
|
|
67
67
|
max_order_volume = 1
|
|
68
68
|
max_position = 2
|
|
69
69
|
max_active_orders = 2
|
|
@@ -71,14 +71,13 @@ allow_short = true
|
|
|
71
71
|
```
|
|
72
72
|
|
|
73
73
|
`production_mode` 选择 CTP API 的生产/评测模式;它不决定策略使用 Paper 还是 Live。
|
|
74
|
-
|
|
75
|
-
`active_account = "<broker_id>-<user>"`。
|
|
74
|
+
换号时修改 `[account]`,然后执行 `vibek daemon restart`。
|
|
76
75
|
|
|
77
76
|
### 2. 校验配置
|
|
78
77
|
|
|
79
78
|
```bash
|
|
80
79
|
vibek config
|
|
81
|
-
vibek
|
|
80
|
+
vibek status
|
|
82
81
|
```
|
|
83
82
|
|
|
84
83
|
配置有未知字段、类型错误、账号引用错误或风控值越界时,`vibek config` 会直接指出问题。
|
|
@@ -132,9 +131,7 @@ Web 工作台本身不会自动启动交易 daemon。需要行情、账户或策
|
|
|
132
131
|
| 命令 | 用途 |
|
|
133
132
|
| --- | --- |
|
|
134
133
|
| `vibek status` | 汇总账号、daemon、行情、交易连接和策略状态 |
|
|
135
|
-
| `vibek account
|
|
136
|
-
| `vibek account use <名称>` | 切换当前账号 |
|
|
137
|
-
| `vibek account show` | 查询当前柜台资金 |
|
|
134
|
+
| `vibek account` | 查询当前柜台资金 |
|
|
138
135
|
| `vibek positions` | 查询实时持仓 |
|
|
139
136
|
| `vibek orders` | 查询当前交易日委托 |
|
|
140
137
|
| `vibek trades` | 查询当前交易日成交 |
|
package/config.example.toml
CHANGED
|
@@ -1,91 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
[account]
|
|
2
|
+
broker_id = ""
|
|
3
|
+
user = ""
|
|
4
|
+
|
|
5
|
+
[account.ctp]
|
|
6
|
+
market_front = ""
|
|
7
|
+
trader_front = ""
|
|
8
|
+
front_candidates = []
|
|
9
|
+
app_id = ""
|
|
10
|
+
production_mode = true
|
|
11
|
+
|
|
12
|
+
[account.logging]
|
|
13
|
+
level = "info"
|
|
14
|
+
|
|
15
|
+
[account.market]
|
|
16
|
+
db_path = ""
|
|
17
|
+
record_instruments = []
|
|
18
|
+
max_future_tick_ms = 5000
|
|
19
|
+
|
|
20
|
+
[account.trading]
|
|
21
|
+
max_order_volume = 10
|
|
22
|
+
max_position = 20
|
|
23
|
+
max_active_orders = 5
|
|
24
|
+
allow_short = true
|
|
25
|
+
|
|
26
|
+
[account.schedule]
|
|
27
|
+
enabled = true
|
|
28
|
+
day_start = "08:45"
|
|
29
|
+
day_stop = "15:15"
|
|
30
|
+
night_start = "20:45"
|
|
31
|
+
night_stop = "02:35"
|
|
32
|
+
max_start_attempts = 4
|
|
33
|
+
retry_base_ms = 30000
|
|
34
|
+
tick_ms = 30000
|
|
35
|
+
|
|
36
|
+
[account.notifications]
|
|
37
|
+
bark_key = ""
|
|
38
|
+
bark_signal_keys = []
|
|
39
|
+
telegram_bot_token = ""
|
|
40
|
+
telegram_chat_id = ""
|
|
6
41
|
|
|
7
|
-
# 当前账号: 单账号自动选中;多账号时取消下一行注释,值为 broker_id-user。
|
|
8
|
-
# active_account = "9999-account"
|
|
9
|
-
|
|
10
|
-
# 本机数据根目录,保存 gateway、账号数据库、日志、策略状态和 AI 设置。
|
|
11
42
|
[storage]
|
|
12
|
-
|
|
43
|
+
data_root = "~/.vibek"
|
|
13
44
|
|
|
14
|
-
# 本机服务端口。两个端口必须不同,服务仅监听本机。
|
|
15
45
|
[server]
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
# Web 工作台端口。
|
|
19
|
-
# webui_port = 3211
|
|
46
|
+
daemon_port = 3111
|
|
47
|
+
webui_port = 3211
|
|
20
48
|
|
|
21
|
-
# 网络代理。目前只用于 Telegram 通知,不影响 CTP 行情和交易连接。
|
|
22
49
|
[network]
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
# 账号身份与 CTP 连接。使用 daemon 时必须取消以下必填行的注释并填写。
|
|
26
|
-
# broker_id 和 user 组合为账号名 broker_id-user;添加账号时复制整组账号及其子表。
|
|
27
|
-
# [[accounts]]
|
|
28
|
-
# 期货公司提供的 CTP BrokerID,不是期货公司中文名称。
|
|
29
|
-
# broker_id = "9999"
|
|
30
|
-
# CTP 用户号/投资者代码,通常是期货资金账号。
|
|
31
|
-
# user = "account"
|
|
32
|
-
|
|
33
|
-
# [accounts.ctp]
|
|
34
|
-
# 期货公司提供的行情和交易前置,格式必须是 tcp://主机:端口。
|
|
35
|
-
# market_front = "tcp://host:port"
|
|
36
|
-
# trader_front = "tcp://host:port"
|
|
37
|
-
# 可选线路,格式为 描述@IP;供 vibek front test/use 测速和切换,端口沿用上方地址。
|
|
38
|
-
# front_candidates = ["主线@1.2.3.4", "备用@1.2.3.5"]
|
|
39
|
-
# 期货公司为该 CTP 客户端分配的 AppID,不能自行编造。
|
|
40
|
-
# app_id = "client-id"
|
|
41
|
-
# 可选,默认 true;按期货公司资料选择 CTP 生产/评测模式,不决定策略使用 Paper 还是 Live。
|
|
42
|
-
# production_mode = true
|
|
43
|
-
|
|
44
|
-
# 可选日志级别: trace | debug | info | warn | error。
|
|
45
|
-
# 未设置时,CTP 生产模式默认 info,评测模式默认 debug。
|
|
46
|
-
# [accounts.logging]
|
|
47
|
-
# level = "info"
|
|
48
|
-
|
|
49
|
-
# 可选行情存储与固定录制合约。
|
|
50
|
-
# [accounts.market]
|
|
51
|
-
# 留空使用账号默认数据库: <data-root>/accounts/<account>/vibek_bars.db。
|
|
52
|
-
# db_path = ""
|
|
53
|
-
# 合约格式必须是 CODE.EXCHANGE;这里的合约会由 daemon 持续订阅并记录 1 分钟 K 线。
|
|
54
|
-
# record_instruments = ["NI2609.SHFE", "IF2609.CFFEX"]
|
|
55
|
-
# 丢弃时间戳比本机时间超前超过该毫秒数的行情。
|
|
56
|
-
# max_future_tick_ms = 5000
|
|
57
|
-
|
|
58
|
-
# Live 策略硬风控。mode=live 且显式启动后,委托仍必须通过以下限制。
|
|
59
|
-
# [accounts.trading]
|
|
60
|
-
# 单笔委托最大手数。
|
|
61
|
-
# max_order_volume = 10
|
|
62
|
-
# 单个策略、单个方向的预计持仓上限,包含未成交开仓委托。
|
|
63
|
-
# max_position = 20
|
|
64
|
-
# 单个策略允许同时存在的活动委托数。
|
|
65
|
-
# max_active_orders = 5
|
|
66
|
-
# 是否允许开空仓;false 时仍允许平已有空仓。
|
|
67
|
-
# allow_short = true
|
|
68
|
-
|
|
69
|
-
# 北京时间交易窗口调度。启用后,daemon 按窗口自动连接、启停策略、撤单和断开。
|
|
70
|
-
# [accounts.schedule]
|
|
71
|
-
# enabled = true
|
|
72
|
-
# 日盘和夜盘窗口的启动/停止锚点,格式为 HH:MM。
|
|
73
|
-
# day_start = "08:45"
|
|
74
|
-
# day_stop = "15:15"
|
|
75
|
-
# night_start = "20:45"
|
|
76
|
-
# night_stop = "02:35"
|
|
77
|
-
# 单个窗口最多启动尝试次数,以及首次重试等待毫秒数(后续指数退避)。
|
|
78
|
-
# max_start_attempts = 4
|
|
79
|
-
# retry_base_ms = 30000
|
|
80
|
-
# 调度器检查窗口状态的间隔毫秒数。
|
|
81
|
-
# tick_ms = 30000
|
|
82
|
-
|
|
83
|
-
# 可选通知。密钥会以明文保存在本文件中,不要提交到 Git 或放入共享目录。
|
|
84
|
-
# [accounts.notifications]
|
|
85
|
-
# 接收信号、调度和故障通知的 Bark key。
|
|
86
|
-
# bark_key = ""
|
|
87
|
-
# 仅额外接收交易信号的 Bark key 列表。
|
|
88
|
-
# bark_signal_keys = []
|
|
89
|
-
# Telegram 通知需同时填写 bot token 和 chat ID。
|
|
90
|
-
# telegram_bot_token = ""
|
|
91
|
-
# telegram_chat_id = ""
|
|
50
|
+
telegram_proxy = ""
|