mirror of
https://github.com/NoFxAiOS/nofx.git
synced 2026-06-06 05:51:19 +08:00
- Resolved conflicts in README.md: Combined web-based config updates with multi-exchange support - Resolved conflicts in main.go: Fixed database initialization and default coin settings - Resolved conflicts in manager/trader_manager.go: Updated trader management for new database structure - Resolved conflicts in web/src/App.tsx: Combined UI improvements with responsive design - Resolved conflicts in web/.dockerignore: Merged dependency exclusions - Removed deprecated files: Dockerfile, config/config.go, web/Dockerfile, ComparisonChart.tsx, CompetitionPage.tsx 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: tinkle-community <tinklefund@gmail.com>
139 lines
2.7 KiB
TypeScript
139 lines
2.7 KiB
TypeScript
export interface SystemStatus {
|
|
trader_id: string;
|
|
trader_name: string;
|
|
ai_model: string;
|
|
is_running: boolean;
|
|
start_time: string;
|
|
runtime_minutes: number;
|
|
call_count: number;
|
|
initial_balance: number;
|
|
scan_interval: string;
|
|
stop_until: string;
|
|
last_reset_time: string;
|
|
ai_provider: string;
|
|
}
|
|
|
|
export interface AccountInfo {
|
|
total_equity: number;
|
|
wallet_balance: number;
|
|
unrealized_profit: number;
|
|
available_balance: number;
|
|
total_pnl: number;
|
|
total_pnl_pct: number;
|
|
total_unrealized_pnl: number;
|
|
initial_balance: number;
|
|
daily_pnl: number;
|
|
position_count: number;
|
|
margin_used: number;
|
|
margin_used_pct: number;
|
|
}
|
|
|
|
export interface Position {
|
|
symbol: string;
|
|
side: string;
|
|
entry_price: number;
|
|
mark_price: number;
|
|
quantity: number;
|
|
leverage: number;
|
|
unrealized_pnl: number;
|
|
unrealized_pnl_pct: number;
|
|
liquidation_price: number;
|
|
margin_used: number;
|
|
}
|
|
|
|
export interface DecisionAction {
|
|
action: string;
|
|
symbol: string;
|
|
quantity: number;
|
|
leverage: number;
|
|
price: number;
|
|
order_id: number;
|
|
timestamp: string;
|
|
success: boolean;
|
|
error?: string;
|
|
}
|
|
|
|
export interface AccountSnapshot {
|
|
total_balance: number;
|
|
available_balance: number;
|
|
total_unrealized_profit: number;
|
|
position_count: number;
|
|
margin_used_pct: number;
|
|
}
|
|
|
|
export interface DecisionRecord {
|
|
timestamp: string;
|
|
cycle_number: number;
|
|
input_prompt: string;
|
|
cot_trace: string;
|
|
decision_json: string;
|
|
account_state: AccountSnapshot;
|
|
positions: any[];
|
|
candidate_coins: string[];
|
|
decisions: DecisionAction[];
|
|
execution_log: string[];
|
|
success: boolean;
|
|
error_message?: string;
|
|
}
|
|
|
|
export interface Statistics {
|
|
total_cycles: number;
|
|
successful_cycles: number;
|
|
failed_cycles: number;
|
|
total_open_positions: number;
|
|
total_close_positions: number;
|
|
}
|
|
|
|
// AI Trading相关类型
|
|
export interface TraderInfo {
|
|
trader_id: string;
|
|
trader_name: string;
|
|
ai_model: string;
|
|
is_running?: boolean;
|
|
}
|
|
|
|
export interface AIModel {
|
|
id: string;
|
|
name: string;
|
|
provider: string;
|
|
enabled: boolean;
|
|
apiKey?: string;
|
|
}
|
|
|
|
export interface Exchange {
|
|
id: string;
|
|
name: string;
|
|
type: 'cex' | 'dex';
|
|
enabled: boolean;
|
|
apiKey?: string;
|
|
secretKey?: string;
|
|
testnet?: boolean;
|
|
}
|
|
|
|
export interface CreateTraderRequest {
|
|
name: string;
|
|
ai_model_id: string;
|
|
exchange_id: string;
|
|
initial_balance: number;
|
|
}
|
|
|
|
export interface UpdateModelConfigRequest {
|
|
models: {
|
|
[key: string]: {
|
|
enabled: boolean;
|
|
api_key: string;
|
|
};
|
|
};
|
|
}
|
|
|
|
export interface UpdateExchangeConfigRequest {
|
|
exchanges: {
|
|
[key: string]: {
|
|
enabled: boolean;
|
|
api_key: string;
|
|
secret_key: string;
|
|
testnet?: boolean;
|
|
};
|
|
};
|
|
}
|