Spaces:
Running
Running
| export interface MungerStock { | |
| symbol: string; | |
| price: number; | |
| wma200: number; | |
| roe: number; | |
| debtToEquity: number; | |
| isQuality: boolean; | |
| lastCandleColor: 'GREEN' | 'RED'; | |
| touchedWMA: boolean; | |
| signal: 'BUY_TRIGGER' | 'WATCHLIST' | 'IGNORE' | 'WAIT' | 'PORTFOLIO'; | |
| details: string; | |
| sector?: string; | |
| marketCap?: number; | |
| mungerScore?: number; | |
| lastUpdated: string; | |
| tradePlan?: TradePlan; | |
| } | |
| export interface TradeOrder { | |
| role: 'ENTRY' | 'PROTECTIVE_STOP' | 'TAKE_PROFIT' | 'EXIT' | 'EXIT_AFTER_FILL'; | |
| type: 'MARKET' | 'LIMIT' | 'STOP' | 'STOP_LIMIT' | 'OCO'; | |
| side: 'BUY' | 'SELL'; | |
| limitPrice?: number; | |
| stopPrice?: number; | |
| takeProfitLimit?: number; | |
| stopLossStop?: number; | |
| timeInForce?: 'GTC' | 'DAY'; | |
| qty?: number; | |
| expireAfterDays?: number; | |
| } | |
| export interface TradePlan { | |
| symbol: string; | |
| recommendation: 'BUY' | 'SELL' | 'NO_TRADE'; | |
| playbook: string; | |
| riskModel?: { | |
| atrPeriod: number; | |
| atr: number; | |
| kAtr: number; | |
| rr: number; | |
| }; | |
| levels?: { | |
| entry: number; | |
| entryLimit?: number; | |
| stopLoss: number; | |
| takeProfit: number; | |
| }; | |
| sizing?: { | |
| equity: number; | |
| buyingPower: number; | |
| riskPct: number; | |
| riskBudget: number; | |
| riskPerShare: number; | |
| qty: number; | |
| caps: { | |
| maxPositionPct: number; | |
| qtyByRisk: number; | |
| qtyByNotional: number; | |
| qtyByBuyingPower: number; | |
| }; | |
| }; | |
| orders: TradeOrder[]; | |
| followUp: string[]; | |
| reasons: string[]; | |
| } | |
| export interface EngineStatus { | |
| status: 'IDLE' | 'SCANNING' | 'SYNCING' | 'ERROR'; | |
| lastSyncTimestamp: string; | |
| apiLatencyMs: number; | |
| totalAssets: number; | |
| assetsAnalyzed: number; | |
| buyTriggers: number; | |
| errors: string[]; | |
| } | |
| export interface SyncPayload { | |
| force?: boolean; | |
| segments?: ('mega' | 'large')[]; | |
| symbols?: string[]; | |
| } | |
| export interface AlpacaOrder { | |
| id: string; | |
| symbol: string; | |
| side: 'buy' | 'sell'; | |
| type: string; | |
| qty: string; | |
| status: string; | |
| limitPrice?: string; | |
| stopPrice?: string; | |
| filledQty?: string; | |
| filledAvgPrice?: string; // Average fill price | |
| submittedAt: string; | |
| orderClass?: string; | |
| legs?: any[]; | |
| } | |