Trading: components 161-180
This commit is contained in:
105 files changed
+6042
-1
No files matched your search
@@ -0,0 +1,52 @@
|
||||
# 165 OrderBook
|
||||
|
||||
盘口。
|
||||
|
||||
## 用途
|
||||
|
||||
按价格显示卖档(上)与买档(下),带累计深度条与价差;可按价格步长合并档位;点击档位回传价格。
|
||||
|
||||
## 最小示例
|
||||
|
||||
```go
|
||||
var state mujica.OrderBookState
|
||||
book := mujica.OrderBookData{
|
||||
Bids: []mujica.BookLevel{{Price: 100.00, Size: 5}, {Price: 99.99, Size: 3}},
|
||||
Asks: []mujica.BookLevel{{Price: 100.01, Size: 1}, {Price: 100.02, Size: 2}},
|
||||
}
|
||||
view := func(c *ui.Context) {
|
||||
mujica.Use(c, mujica.Settings{})
|
||||
if price, side, ok := mujica.OrderBook(c, &state, book, mujica.OrderBookOptions{Groups: []float64{0.01, 0.05}}).Clicked(); ok {
|
||||
fmt.Println("order at", price, side)
|
||||
}
|
||||
}
|
||||
ui.Render(view, 400, 300, 1)
|
||||
```
|
||||
|
||||
## 参数
|
||||
|
||||
| 字段 | 类型 | 默认值 | 含义 |
|
||||
| --- | --- | --- | --- |
|
||||
| `s` | `*OrderBookState` | 必填 | Group 为合并步长,0 取 Groups 第一项;不在 Groups 中 panic。 |
|
||||
| `book` | `OrderBookData` | 必填 | Bids、Asks 与 Version(原地修改时递增)。 |
|
||||
| `Decimals / SizeDecimals` | `int` | 2 / 0 | 价格与数量小数位。 |
|
||||
| `Depth` | `int` | 8 | 每侧档数。 |
|
||||
| `Groups` | `[]float64` | nil | 可选合并步长,须为价格精度的整数倍,否则 panic。 |
|
||||
| `Disabled` | `bool` | false | 禁用点击与合并选择。 |
|
||||
|
||||
## 状态
|
||||
|
||||
默认、悬停、聚焦、禁用;空盘口时只显示表头。
|
||||
|
||||
## 事件
|
||||
|
||||
`OrderBookResult.Clicked()` 返回被点击档位的价格与方向。
|
||||
|
||||
## 键盘操作
|
||||
|
||||
Tab 进入档位列表,↑/↓ 在档位间移动,Enter/Space 选中价格。
|
||||
|
||||
## 限制
|
||||
|
||||
- 合并以整数价格单位计算:买档向下取整、卖档向上取整。只在数据或步长变化时重新聚合。
|
||||
- 涨跌颜色由 `UseTrend(c, GreenUp|RedUp)` 按窗口设置,默认绿涨红跌;方向同时用箭头与正负号表达,不只靠颜色。
|
||||
Reference in new issue
Block a user