示例扩展索引

官方示例扩展的功能说明、对应 API 及关键代码位置。

market_dashboard_plugin

类型:Dart / Stdio · 路径extensions/market_dashboard_plugin/

综合演示全部 16 类 tradingai_api 能力:侧边栏视图、SDUI 面板、命令、状态栏、工具栏、行情、图表、警报、组合、文件系统、HTTP、Shell、Window、终端、输出通道、编辑器与工作区。

API 演示清单

API演示内容关键文件
View RegistrationActivity Bar 按钮 + Sidebar SDUI 视图bin/main.dart
SDUI Panel底部面板实时行情仪表盘lib/features/dashboard_panel.dart
Commands4 个命令面板入口bin/main.dart
Status Bar实时价格 Ticker + 警报计数bin/main.dart
Toolbar快速操作菜单按钮bin/main.dart
Market行情订阅 + 快照查询lib/features/market_monitor.dart
ChartSMA / Bollinger 指标 + 价格线lib/features/market_monitor.dart
Alerts价格警报创建 / 触发回调lib/features/market_monitor.dart
Portfolio持仓 + 余额查询lib/features/market_monitor.dart
File System交易日志 JSON/CSV 保存lib/features/trade_journal.dart
HTTP日志远程同步 (POST)lib/features/trade_journal.dart
Shell系统命令 (date, echo)lib/features/trade_journal.dart
WindowshowMessage / QuickPick / InputBox多处
Terminal交互式终端lib/features/trade_journal.dart
Output Channel结构化日志lib/features/trade_journal.dart
Workspace + Editor配置监听 / 文档事件 / 选区bin/main.dart

完整 API 说明见 API 参考

关键代码片段

dart
// 入口 (bin/main.dart)
void main() => MarketDashboardPlugin().run();

// 创建 SDUI 面板 (dashboard_panel.dart)
_panelId = await context.sduiPanel.createPanel(
  id: 'market_dashboard.panel',
  title: 'Market Dashboard',
  tree: _buildDashboardTree(),
  location: 'panel',
);

// 订阅行情 (market_monitor.dart)
await context.market.subscribe(symbol);
context.market.onQuoteUpdate((quote) => onQuoteUpdate?.call(quote));

目录结构

market_dashboard_plugin/
├── plugin.yaml
├── pubspec.yaml
├── bin/main.dart
└── lib/features/
    ├── dashboard_panel.dart
    ├── market_monitor.dart
    └── trade_journal.dart

ta_calculator_plugin

类型:Rust / WASM · 路径extensions/ta_calculator_plugin/

技术分析计算器,演示 SMA、EMA、RSI、MACD、Bollinger、ATR、Fibonacci 及风险管理函数。使用 C-ABI 导出,价格与百分比需定点编码(×10000)。完整 C-ABI 函数列表见 WASM SDK 参考

导出函数

类别函数说明
生命周期plugin_activate, plugin_deactivate由 export_plugin! 宏生成
技术指标calculate_sma, calculate_ema_*, calculate_rsi, calculate_macd_signal, calculate_bollinger_width, calculate_atr, fibonacci_level参数与返回值均 ×10000
风险管理calculate_position_size, calculate_risk_reward, calculate_max_drawdown, calculate_pnl同上

编译与安装

bash
rustup target add wasm32-unknown-unknown
cargo build --target wasm32-unknown-unknown --release

宿主调用示例

dart
// 计算 SMA(3) for [100, 102, 104]
// sum = 306 × 10000 = 3_060_000
final sma = await wasmLoader.callPluginFunction(
  'com.tradingai.ta_calculator', 'calculate_sma', [3060000, 3]
);
// sma = 1_020_000 → 102.00