41 lines
1.2 KiB
Markdown
41 lines
1.2 KiB
Markdown
# 181 OptionChain
|
||
|
||
## 用途
|
||
|
||
期权链。
|
||
|
||
## 最小示例
|
||
|
||
```go
|
||
var state mujica.OptionChainState
|
||
rows := []mujica.OptionStrike{{Strike: 100, Call: mujica.OptionQuote{Bid: 3, Ask: 3.2, Last: 3.1}, Put: mujica.OptionQuote{Bid: 2, Ask: 2.2, Last: 2.1}}}
|
||
view := func(c *ui.Context) {
|
||
mujica.Use(c, mujica.Settings{})
|
||
r := mujica.OptionChain(c, &state, []string{"Oct 17", "Nov 21"}, rows, mujica.OptionChainOptions{Spot: 100.4})
|
||
if r.Changed || r.Submitted || r.ExpiryChanged {
|
||
fmt.Println(state.Expiry, state.Strike, state.Side)
|
||
}
|
||
}
|
||
ui.Render(view, 960, 440, 1)
|
||
```
|
||
|
||
## 参数
|
||
|
||
`s` 保存到期日和合约;`expiries` 至少一个;`strikes` 升序。`Spot` 默认 0 隐藏现价;`Decimals` 默认 2;`Disabled` 默认 false。
|
||
|
||
## 状态
|
||
|
||
默认;交互区域支持聚焦与选中,Disabled 参数控制禁用。
|
||
|
||
## 事件
|
||
|
||
if r.Changed || r.Submitted || r.ExpiryChanged { 调用方回调(state.Expiry, state.Strike, state.Side) }
|
||
|
||
## 键盘操作
|
||
|
||
Tab 切换到期日或列表;上下、Home/End 选择行;左右切换认购认沽;Enter 确认。
|
||
|
||
## 限制
|
||
|
||
到期日切换后,由调用方更换对应报价;排序与稳定合约标识由调用方保证。
|