no idea- added loki and other stuff to market-data-gateway, also added config lib
This commit is contained in:
parent
b957fb99aa
commit
1b71fc87ab
72 changed files with 6178 additions and 153 deletions
73
libs/config/src/example.ts
Normal file
73
libs/config/src/example.ts
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
/**
|
||||
* Example usage of the @stock-bot/config library
|
||||
*/
|
||||
import {
|
||||
databaseConfig,
|
||||
dataProviderConfigs,
|
||||
riskConfig,
|
||||
Environment,
|
||||
getEnvironment,
|
||||
marketDataGatewayConfig,
|
||||
riskGuardianConfig,
|
||||
ConfigurationError,
|
||||
validateConfig
|
||||
} from './index';
|
||||
|
||||
/**
|
||||
* Display current configuration values
|
||||
*/
|
||||
export function printCurrentConfig(): void {
|
||||
console.log('\n=== Stock Bot Configuration ===');
|
||||
|
||||
console.log('\nEnvironment:', getEnvironment());
|
||||
|
||||
console.log('\n--- Database Config ---');
|
||||
console.log('Dragonfly Host:', databaseConfig.dragonfly.host);
|
||||
console.log('Dragonfly Port:', databaseConfig.dragonfly.port);
|
||||
console.log('TimescaleDB Host:', databaseConfig.timescaleDB.host);
|
||||
console.log('TimescaleDB Database:', databaseConfig.timescaleDB.database);
|
||||
|
||||
console.log('\n--- Data Provider Config ---');
|
||||
console.log('Default Provider:', dataProviderConfigs.defaultProvider);
|
||||
console.log('Providers:');
|
||||
dataProviderConfigs.providers.forEach(provider => {
|
||||
console.log(` - ${provider.name} (${provider.type})`);
|
||||
if (provider.baseUrl) console.log(` URL: ${provider.baseUrl}`);
|
||||
if (provider.wsUrl) console.log(` WebSocket: ${provider.wsUrl}`);
|
||||
});
|
||||
|
||||
console.log('\n--- Risk Config ---');
|
||||
console.log('Max Drawdown:', riskConfig.maxDrawdown * 100, '%');
|
||||
console.log('Max Position Size:', riskConfig.maxPositionSize * 100, '%');
|
||||
console.log('Max Leverage:', riskConfig.maxLeverage, 'x');
|
||||
console.log('Default Stop Loss:', riskConfig.stopLossDefault * 100, '%');
|
||||
console.log('Default Take Profit:', riskConfig.takeProfitDefault * 100, '%');
|
||||
|
||||
console.log('\n--- Market Data Gateway Config ---');
|
||||
console.log('Service Port:', marketDataGatewayConfig.service.port);
|
||||
console.log('WebSocket Enabled:', marketDataGatewayConfig.websocket.enabled);
|
||||
console.log('WebSocket Path:', marketDataGatewayConfig.websocket.path);
|
||||
console.log('Caching Enabled:', marketDataGatewayConfig.caching.enabled);
|
||||
console.log('Caching TTL:', marketDataGatewayConfig.caching.ttlSeconds, 'seconds');
|
||||
|
||||
console.log('\n--- Risk Guardian Config ---');
|
||||
console.log('Service Port:', riskGuardianConfig.service.port);
|
||||
console.log('Pre-Trade Validation:', riskGuardianConfig.riskChecks.preTradeValidation);
|
||||
console.log('Portfolio Validation:', riskGuardianConfig.riskChecks.portfolioValidation);
|
||||
console.log('Alerting Enabled:', riskGuardianConfig.alerting.enabled);
|
||||
console.log('Critical Threshold:', riskGuardianConfig.alerting.criticalThreshold * 100, '%');
|
||||
}
|
||||
|
||||
// Execute example if this file is run directly
|
||||
if (require.main === module) {
|
||||
try {
|
||||
printCurrentConfig();
|
||||
} catch (error) {
|
||||
if (error instanceof ConfigurationError) {
|
||||
console.error('Configuration Error:', error.message);
|
||||
} else {
|
||||
console.error('Error:', error);
|
||||
}
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue