hedgequantx 1.2.68 → 1.2.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/pages/algo.js +23 -20
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hedgequantx",
3
- "version": "1.2.68",
3
+ "version": "1.2.69",
4
4
  "description": "Prop Futures Algo Trading CLI - Connect to Topstep, Alpha Futures, and other prop firms",
5
5
  "main": "src/app.js",
6
6
  "bin": {
package/src/pages/algo.js CHANGED
@@ -388,38 +388,41 @@ const launchAlgo = async (service, account, contract, numContracts, dailyTarget,
388
388
  const latencyColor = latency < 100 ? chalk.green : (latency < 300 ? chalk.yellow : chalk.red);
389
389
  const serverStatus = hqxConnected ? chalk.green('ON') : chalk.red('OFF');
390
390
 
391
+ // Current date
392
+ const now = new Date();
393
+ const dateStr = now.toLocaleDateString('en-US', { weekday: 'short', month: 'short', day: 'numeric', year: 'numeric' });
394
+
391
395
  // Full header with logo inside box
392
396
  console.log();
393
- console.log(chalk.cyan('╔════════════════════════════════════════════════════════════════════════════════════════════════╗'));
394
- console.log(chalk.cyan('') + chalk.cyan(' ██╗ ██╗███████╗██████╗ ██████╗ ███████╗ ██████╗ ██╗ ██╗ █████╗ ███╗ ██╗████████╗██╗ ██╗ ') + chalk.cyan(''));
395
- console.log(chalk.cyan('') + chalk.cyan(' ██║ ██║██╔════╝██╔══██╗██╔════╝ ██╔════╝██╔═══██╗██║ ██║██╔══██╗████╗ ██║╚══██╔══╝╚██╗██╔╝ ') + chalk.cyan(''));
396
- console.log(chalk.cyan('') + chalk.cyan(' ███████║█████╗ ██║ ██║██║ ███╗█████╗ ██║ ██║██║ ██║███████║██╔██╗ ██║ ██║ ╚███╔╝ ') + chalk.cyan(''));
397
- console.log(chalk.cyan('') + chalk.cyan(' ██╔══██║██╔══╝ ██║ ██║██║ ██║██╔══╝ ██║▄▄ ██║██║ ██║██╔══██║██║╚██╗██║ ██║ ██╔██╗ ') + chalk.cyan(''));
398
- console.log(chalk.cyan('') + chalk.cyan(' ██║ ██║███████╗██████╔╝╚██████╔╝███████╗╚██████╔╝╚██████╔╝██║ ██║██║ ╚████║ ██║ ██╔╝ ██╗ ') + chalk.cyan(''));
399
- console.log(chalk.cyan('') + chalk.cyan(' ╚═╝ ╚═╝╚══════╝╚═════╝ ╚═════╝ ╚══════╝ ╚══▀▀═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝ ') + chalk.cyan('║'));
400
- console.log(chalk.cyan('╠════════════════════════════════════════════════════════════════════════════════════════════════╣'));
401
- console.log(chalk.cyan('') + chalk.white(' HQX Ultra-Scalping Algorithm ') + chalk.cyan('║'));
402
- console.log(chalk.cyan('╠════════════════════════════════════════════════════════════════════════════════════════════════╣'));
403
- console.log(chalk.cyan('') + chalk.white(` Account: ${chalk.cyan(accountName.padEnd(28))} Symbol: ${chalk.yellow(symbolName.padEnd(12))} Qty: ${chalk.cyan(numContracts.toString().padEnd(4))} Server: ${serverStatus} ${latencyColor(latencyStr.padEnd(7))}`) + chalk.cyan(''));
404
- console.log(chalk.cyan('') + chalk.white(` Target: ${chalk.green(('$' + dailyTarget.toFixed(2)).padEnd(12))} Risk: ${chalk.red(('$' + maxRisk.toFixed(2)).padEnd(12))} P&L: ${pnlColor(pnlStr.padEnd(12))} Trades: ${chalk.cyan(stats.trades.toString())} W:${chalk.green(stats.wins.toString())} L:${chalk.red(stats.losses.toString())} `) + chalk.cyan('║'));
405
- console.log(chalk.cyan('╠════════════════════════════════════════════════════════════════════════════════════════════════╣'));
406
- console.log(chalk.cyan('') + chalk.white(' Activity Log ') + chalk.yellow('Press X to stop') + chalk.cyan(' ║'));
407
- console.log(chalk.cyan('╠════════════════════════════════════════════════════════════════════════════════════════════════╣'));
397
+ console.log(chalk.cyan('+=================================================================================================================+'));
398
+ console.log(chalk.cyan('|') + chalk.cyan(' ## ## ###### ##### #### ###### #### ## ## #### ## ## ###### ## ## ') + chalk.cyan('|'));
399
+ console.log(chalk.cyan('|') + chalk.cyan(' ## ## ## ## ## ## ## ## ## ## ## ## ## ### ## ## #### ') + chalk.cyan('|'));
400
+ console.log(chalk.cyan('|') + chalk.cyan(' ###### #### ## ## ## ### #### ## ## ## ## ###### ## ### ## ## ') + chalk.cyan('|'));
401
+ console.log(chalk.cyan('|') + chalk.cyan(' ## ## ## ## ## ## ## ## ## ### ## ## ## ## ## ## ## #### ') + chalk.cyan('|'));
402
+ console.log(chalk.cyan('|') + chalk.cyan(' ## ## ###### ##### #### ###### #### ## #### ## ## ## ## ## ## ## ') + chalk.cyan('|'));
403
+ console.log(chalk.cyan('+=================================================================================================================+'));
404
+ console.log(chalk.cyan('|') + chalk.white(' HQX Ultra-Scalping Algorithm ') + chalk.cyan('|'));
405
+ console.log(chalk.cyan('+=================================================================================================================+'));
406
+ console.log(chalk.cyan('|') + chalk.white(` Account: ${chalk.cyan(accountName.padEnd(28))} Symbol: ${chalk.yellow(symbolName.padEnd(12))} Qty: ${chalk.cyan(numContracts.toString().padEnd(4))} Server: ${serverStatus} ${latencyColor(latencyStr.padEnd(8))}`) + chalk.cyan('|'));
407
+ console.log(chalk.cyan('|') + chalk.white(` Target: ${chalk.green(('$' + dailyTarget.toFixed(2)).padEnd(12))} Risk: ${chalk.red(('$' + maxRisk.toFixed(2)).padEnd(12))} P&L: ${pnlColor(pnlStr.padEnd(12))} Trades: ${chalk.cyan(stats.trades.toString())} W:${chalk.green(stats.wins.toString())} L:${chalk.red(stats.losses.toString())} `) + chalk.cyan('|'));
408
+ console.log(chalk.cyan('+=================================================================================================================+'));
409
+ console.log(chalk.cyan('|') + chalk.white(` Activity Log - ${chalk.gray(dateStr)} `) + chalk.yellow('Press X to stop') + chalk.cyan(' |'));
410
+ console.log(chalk.cyan('+=================================================================================================================+'));
408
411
 
409
- // Logs
412
+ // Logs (without date, just time)
410
413
  if (logs.length === 0) {
411
- console.log(chalk.cyan('') + chalk.gray(' Waiting for activity...'.padEnd(96)) + chalk.cyan(''));
414
+ console.log(chalk.cyan('|') + chalk.gray(' Waiting for activity...'.padEnd(111)) + chalk.cyan('|'));
412
415
  } else {
413
416
  logs.forEach(log => {
414
417
  const color = typeColors[log.type] || chalk.white;
415
418
  const icon = getIcon(log.type);
416
419
  const logLine = `[${log.timestamp}] ${icon} ${log.message}`;
417
- const truncated = logLine.length > 94 ? logLine.substring(0, 91) + '...' : logLine;
418
- console.log(chalk.cyan('') + ' ' + color(truncated.padEnd(95)) + chalk.cyan(''));
420
+ const truncated = logLine.length > 109 ? logLine.substring(0, 106) + '...' : logLine;
421
+ console.log(chalk.cyan('|') + ' ' + color(truncated.padEnd(110)) + chalk.cyan('|'));
419
422
  });
420
423
  }
421
424
 
422
- console.log(chalk.cyan('╚════════════════════════════════════════════════════════════════════════════════════════════════╝'));
425
+ console.log(chalk.cyan('+=================================================================================================================+'));
423
426
  };
424
427
 
425
428
  // Connect to HQX Server