auto_trade_sys/backend/database/add_binance_sync_tables.sql
薇薇安 fc81a8d5d6 feat(data_management): 增强数据管理功能与统计分析
在后端 API 中新增 `_compute_binance_stats` 函数,用于计算交易和订单的统计数据,并更新 `query_db_trades` 函数以支持从数据库查询已同步的币安订单和成交记录。前端 `DataManagement` 组件进行了优化,新增统计数据显示功能,确保用户能够查看交易的盈亏、手续费、胜率等关键指标,提升了数据分析的可视化效果与用户体验。
2026-02-22 11:02:12 +08:00

57 lines
2.5 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 币安订单/成交同步表,供定时任务拉取后存储,数据管理从 DB 查询分析
-- 执行: mysql -u user -p db_name < add_binance_sync_tables.sql
USE `auto_trade_sys`;
-- 币安成交记录userTrades
CREATE TABLE IF NOT EXISTS `binance_trades` (
`id` BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
`account_id` INT UNSIGNED NOT NULL,
`symbol` VARCHAR(32) NOT NULL,
`trade_id` BIGINT UNSIGNED NOT NULL COMMENT '币安 trade id',
`order_id` BIGINT UNSIGNED NOT NULL,
`side` VARCHAR(10) NOT NULL,
`position_side` VARCHAR(10) DEFAULT NULL,
`price` DECIMAL(24, 8) NOT NULL,
`qty` DECIMAL(24, 8) NOT NULL,
`quote_qty` DECIMAL(24, 8) DEFAULT NULL,
`realized_pnl` DECIMAL(24, 8) DEFAULT NULL,
`commission` DECIMAL(24, 8) DEFAULT NULL,
`commission_asset` VARCHAR(20) DEFAULT NULL,
`buyer` TINYINT(1) DEFAULT NULL,
`maker` TINYINT(1) DEFAULT NULL,
`trade_time` BIGINT UNSIGNED NOT NULL COMMENT '成交时间戳毫秒',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE KEY `uk_account_trade` (`account_id`, `trade_id`),
INDEX `idx_account_time` (`account_id`, `trade_time`),
INDEX `idx_symbol_time` (`account_id`, `symbol`, `trade_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='币安成交记录(定时同步)';
-- 币安订单记录allOrders
CREATE TABLE IF NOT EXISTS `binance_orders` (
`id` BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
`account_id` INT UNSIGNED NOT NULL,
`symbol` VARCHAR(32) NOT NULL,
`order_id` BIGINT UNSIGNED NOT NULL,
`client_order_id` VARCHAR(64) DEFAULT NULL,
`side` VARCHAR(10) NOT NULL,
`type` VARCHAR(32) DEFAULT NULL,
`orig_type` VARCHAR(32) DEFAULT NULL,
`status` VARCHAR(32) NOT NULL,
`price` DECIMAL(24, 8) DEFAULT NULL,
`avg_price` DECIMAL(24, 8) DEFAULT NULL,
`orig_qty` DECIMAL(24, 8) DEFAULT NULL,
`executed_qty` DECIMAL(24, 8) DEFAULT NULL,
`cum_qty` DECIMAL(24, 8) DEFAULT NULL,
`cum_quote` DECIMAL(24, 8) DEFAULT NULL,
`stop_price` DECIMAL(24, 8) DEFAULT NULL,
`reduce_only` TINYINT(1) DEFAULT NULL,
`position_side` VARCHAR(10) DEFAULT NULL,
`order_time` BIGINT UNSIGNED NOT NULL COMMENT '下单时间戳毫秒',
`update_time` BIGINT UNSIGNED DEFAULT NULL COMMENT '更新时间戳毫秒',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE KEY `uk_account_order` (`account_id`, `order_id`),
INDEX `idx_account_time` (`account_id`, `order_time`),
INDEX `idx_symbol_time` (`account_id`, `symbol`, `order_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='币安订单记录(定时同步)';