MujicaUI

Trading · #168

DepthLadder 浅色主题渲染快照
浅色 · 渲染快照
DepthLadder 深色主题渲染快照
深色 · 渲染快照

168 DepthLadder

价格阶梯。

用途

按最小变动价位排列的价格阶梯(DOM):买量、价格、卖量三列,最新价居中并加框;点击买量或卖量单元格回调下单。

最小示例

var state finance.DepthLadderState
book := finance.OrderBookData{Bids: []finance.BookLevel{{Price: 100, Size: 5}}, Asks: []finance.BookLevel{{Price: 100.01, Size: 2}}}
view := func(c *ui.Context) {
	core.Use(c, core.Settings{})
	if price, side, ok := finance.DepthLadder(c, &state, 100, book, finance.DepthLadderOptions{TickSize: 0.01}).Clicked(); ok {
		fmt.Println("place", side, "at", price)
	}
}
ui.Render(view, 400, 300, 1)

参数

字段类型默认值含义
s*DepthLadderState必填Offset 为相对最新价滚动的档数。
lastfloat64必填最新价。
bookOrderBookData必填盘口数据。
TickSizefloat64必填最小变动价位,须为价格精度的整数倍,否则 panic。
Decimals / SizeDecimalsint2 / 0小数位。
Rowsint15显示的行数。
Disabledboolfalse禁用。

状态

默认、悬停、聚焦、最新价行(底色、框线与菱形)、已滚动(显示回到最新价按钮)、禁用。

事件

DepthLadderResult.Clicked() 返回价格与方向(买量列为买入,卖量列为卖出)。

键盘操作

Tab 进入阶梯,方向键在单元格间移动,Enter/Space 下单;PageUp/PageDown 滚动半屏;滚轮逐档滚动。

限制

  • 只构建可见行;按价位建立的数量索引只在数据变化时重建。
  • 涨跌颜色由 UseTrend(c, GreenUp|RedUp) 按窗口设置,默认绿涨红跌;方向同时用箭头与正负号表达,不只靠颜色。