fix(coherence): Add all trading enums aligned with DDL (E-COH-002, ST1.4)

- Extended src/modules/trading/types/order.types.ts with all DDL enums
- Added OrderType with trailing_stop support
- Added PositionStatus (open, closed, liquidated)
- Added SignalType (entry_long, entry_short, exit_long, exit_short, hold)
- Added ConfidenceLevel (low, medium, high, very_high)
- Added Timeframe (1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w, 1M)
- Added BotType (paper, live, backtest)
- Added BotStatus (active, paused, stopped, error)

All types now aligned with trading.* enums from DDL schema.
Provides comprehensive type definitions for trading module.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Adrian Flores Cortes 2026-01-26 17:07:09 -06:00
parent 1be94f0c1f
commit d73253130f

View File

@ -2,21 +2,31 @@
* Order Types
* ============
* Type definitions for trading orders
* Aligned with trading.orders DDL schema
* Aligned with trading.* DDL schema (apps/database/ddl/schemas/trading/00-enums.sql)
*/
// Alineado con trading.order_type (DDL)
export type OrderType = 'market' | 'limit' | 'stop' | 'stop_limit' | 'trailing_stop';
export enum OrderTypeEnum {
MARKET = 'market',
LIMIT = 'limit',
STOP = 'stop',
STOP_LIMIT = 'stop_limit',
TRAILING_STOP = 'trailing_stop',
}
// Alineado con trading.order_side (DDL)
export type OrderSide = 'buy' | 'sell';
export enum OrderSideEnum {
BUY = 'buy',
SELL = 'sell',
}
// Alineado con trading.order_status (DDL)
export type OrderStatus = 'pending' | 'open' | 'partially_filled' | 'filled' | 'cancelled' | 'rejected' | 'expired';
export enum OrderStatusEnum {
PENDING = 'pending',
OPEN = 'open',
@ -27,6 +37,9 @@ export enum OrderStatusEnum {
EXPIRED = 'expired',
}
// Time In Force (not in DDL - application level)
export type TimeInForce = 'gtc' | 'ioc' | 'fok' | 'gtd';
export enum TimeInForceEnum {
GTC = 'gtc', // Good Till Cancelled
IOC = 'ioc', // Immediate Or Cancel
@ -34,6 +47,70 @@ export enum TimeInForceEnum {
GTD = 'gtd', // Good Till Date
}
// Alineado con trading.position_status (DDL)
export type PositionStatus = 'open' | 'closed' | 'liquidated';
export enum PositionStatusEnum {
OPEN = 'open',
CLOSED = 'closed',
LIQUIDATED = 'liquidated',
}
// Alineado con trading.signal_type (DDL)
export type SignalType = 'entry_long' | 'entry_short' | 'exit_long' | 'exit_short' | 'hold';
export enum SignalTypeEnum {
ENTRY_LONG = 'entry_long',
ENTRY_SHORT = 'entry_short',
EXIT_LONG = 'exit_long',
EXIT_SHORT = 'exit_short',
HOLD = 'hold',
}
// Alineado con trading.confidence_level (DDL)
export type ConfidenceLevel = 'low' | 'medium' | 'high' | 'very_high';
export enum ConfidenceLevelEnum {
LOW = 'low',
MEDIUM = 'medium',
HIGH = 'high',
VERY_HIGH = 'very_high',
}
// Alineado con trading.timeframe (DDL)
export type Timeframe = '1m' | '5m' | '15m' | '30m' | '1h' | '4h' | '1d' | '1w' | '1M';
export enum TimeframeEnum {
ONE_MINUTE = '1m',
FIVE_MINUTES = '5m',
FIFTEEN_MINUTES = '15m',
THIRTY_MINUTES = '30m',
ONE_HOUR = '1h',
FOUR_HOURS = '4h',
ONE_DAY = '1d',
ONE_WEEK = '1w',
ONE_MONTH = '1M',
}
// Alineado con trading.bot_type (DDL)
export type BotType = 'paper' | 'live' | 'backtest';
export enum BotTypeEnum {
PAPER = 'paper',
LIVE = 'live',
BACKTEST = 'backtest',
}
// Alineado con trading.bot_status (DDL)
export type BotStatus = 'active' | 'paused' | 'stopped' | 'error';
export enum BotStatusEnum {
ACTIVE = 'active',
PAUSED = 'paused',
STOPPED = 'stopped',
ERROR = 'error',
}
export interface Order {
id: string;
userId: string;