订阅行情并展示
使用 TradingAIMarket 订阅实时行情,配合 SDUI 或 StatusBar 展示。
订阅与取消订阅
dart
// 订阅多个标的
await context.market.subscribe('AAPL');
await context.market.subscribe('MSFT');
// 取消订阅
await context.market.unsubscribe('AAPL');
接收实时推送
通过 onQuoteUpdate 注册回调,每次行情更新时触发:
dart
context.market.onQuoteUpdate((MarketQuote quote) {
// quote.symbol, quote.price, quote.change, quote.changePercent,
// quote.volume, quote.timestamp
print('${quote.symbol}: ${quote.price} (${quote.changePercent}%)');
});
获取快照
需要单次查询时使用 getQuote:
dart
final quote = await context.market.getQuote('GOOGL');
if (quote != null) {
await context.window.showMessage('${quote.symbol}: \$${quote.price}');
}
状态栏展示
将最新价格显示在状态栏:
dart
await context.statusBar.createItem(
id: 'my_plugin.ticker',
text: 'AAPL: $price',
tooltip: 'Last update: $timestamp',
alignment: 'right',
priority: 100
);
// 行情更新时
context.market.onQuoteUpdate((quote) {
context.statusBar.updateItem('my_plugin.ticker', text: '${quote.symbol}: \$${quote.price}');
});
参考
相关 API:TradingAIMarket、TradingAIChart
示例:extensions/market_dashboard_plugin/lib/features/market_monitor.dart,完整行情订阅、图表指标、价格提醒实现。