CREATE TABLE account_wallet (
    id INT PRIMARY KEY AUTO_INCREMENT,
    initial_capital DECIMAL(18,2) NOT NULL DEFAULT 100000000.00,
    cash_balance DECIMAL(18,2) NOT NULL DEFAULT 100000000.00,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

INSERT INTO account_wallet (initial_capital, cash_balance) VALUES (100000000.00, 100000000.00);

CREATE TABLE watchlist (
    id INT PRIMARY KEY AUTO_INCREMENT,
    ticker VARCHAR(15) NOT NULL UNIQUE,
    is_active TINYINT(1) NOT NULL DEFAULT 1
);

INSERT INTO watchlist (ticker, is_active) VALUES
('BBCA.JK', 1),
('BBRI.JK', 1),
('BMRI.JK', 1),
('TLKM.JK', 1),
('ASII.JK', 1),
('ADRO.JK', 1);

CREATE TABLE portfolio (
    ticker VARCHAR(15) PRIMARY KEY,
    total_lot INT NOT NULL DEFAULT 0,
    avg_price DECIMAL(12,2) NOT NULL DEFAULT 0.00,
    stop_loss DECIMAL(12,2) NOT NULL DEFAULT 0.00,
    take_profit DECIMAL(12,2) NOT NULL DEFAULT 0.00,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

CREATE TABLE trade_logs (
    id INT PRIMARY KEY AUTO_INCREMENT,
    ticker VARCHAR(15) NOT NULL,
    action ENUM('BUY', 'SELL', 'HOLD', 'AUTO_SL', 'AUTO_TP') NOT NULL,
    confidence INT NOT NULL DEFAULT 0,
    lot INT NOT NULL DEFAULT 0,
    price DECIMAL(12,2) NOT NULL DEFAULT 0.00,
    fee DECIMAL(14,2) NOT NULL DEFAULT 0.00,
    realized_pnl DECIMAL(16,2) DEFAULT NULL,
    reasoning TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);