hedgequantx 1.2.140 → 1.2.142

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hedgequantx",
3
- "version": "1.2.140",
3
+ "version": "1.2.142",
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/app.js CHANGED
@@ -665,20 +665,18 @@ const dashboardMenu = async (service) => {
665
665
  // Dashboard box header
666
666
  console.log();
667
667
  console.log(chalk.cyan('╔' + '═'.repeat(W) + '╗'));
668
- console.log(chalk.cyan('║') + chalk.white.bold(centerLine('DASHBOARD', W)) + chalk.cyan('║'));
668
+ console.log(chalk.cyan('║') + chalk.yellow.bold(centerLine('Welcome, HQX Trader!', W)) + chalk.cyan('║'));
669
669
  console.log(chalk.cyan('╠' + '═'.repeat(W) + '╣'));
670
670
 
671
671
  // Connection info - show all active connections
672
672
  const allConns = connections.getAll();
673
673
  if (allConns.length > 0) {
674
- const connNames = allConns.map(c => c.propfirm || c.type).join(', ');
675
- const connText = `Connected to ${connNames}`;
676
- console.log(chalk.cyan('║') + chalk.green(padLine(connText, W)) + chalk.cyan('║'));
674
+ allConns.forEach(c => {
675
+ const connText = c.propfirm || c.type || 'Connected';
676
+ console.log(chalk.cyan('║') + chalk.green(padLine(` ${connText}`, W)) + chalk.cyan('║'));
677
+ });
677
678
  }
678
679
 
679
- const userText = 'Welcome, HQX Trader!';
680
- console.log(chalk.cyan('║') + chalk.white(padLine(userText, W)) + chalk.cyan('║'));
681
-
682
680
  console.log(chalk.cyan('╠' + '═'.repeat(W) + '╣'));
683
681
 
684
682
  // Menu options in 2 columns
package/src/pages/algo.js CHANGED
@@ -1335,18 +1335,16 @@ const copyTradingMenu = async () => {
1335
1335
 
1336
1336
  const { leadContracts } = await inquirer.prompt([
1337
1337
  {
1338
- type: 'input',
1338
+ type: 'number',
1339
1339
  name: 'leadContracts',
1340
1340
  message: chalk.white.bold('Lead Number of Contracts:'),
1341
- default: '1',
1341
+ default: 1,
1342
1342
  validate: (input) => {
1343
- const num = parseInt(input);
1344
- if (isNaN(num) || num <= 0 || num > 100) {
1343
+ if (isNaN(input) || input <= 0 || input > 100) {
1345
1344
  return 'Please enter a valid number between 1 and 100';
1346
1345
  }
1347
1346
  return true;
1348
- },
1349
- filter: (input) => parseInt(input)
1347
+ }
1350
1348
  }
1351
1349
  ]);
1352
1350
 
@@ -1371,18 +1369,16 @@ const copyTradingMenu = async () => {
1371
1369
 
1372
1370
  const { followerContracts } = await inquirer.prompt([
1373
1371
  {
1374
- type: 'input',
1372
+ type: 'number',
1375
1373
  name: 'followerContracts',
1376
1374
  message: chalk.white.bold('Follower Number of Contracts:'),
1377
- default: '1',
1375
+ default: 1,
1378
1376
  validate: (input) => {
1379
- const num = parseInt(input);
1380
- if (isNaN(num) || num <= 0 || num > 100) {
1377
+ if (isNaN(input) || input <= 0 || input > 100) {
1381
1378
  return 'Please enter a valid number between 1 and 100';
1382
1379
  }
1383
1380
  return true;
1384
- },
1385
- filter: (input) => parseInt(input)
1381
+ }
1386
1382
  }
1387
1383
  ]);
1388
1384
 
@@ -1397,15 +1393,15 @@ const copyTradingMenu = async () => {
1397
1393
  console.log(chalk.white(` Max Risk: ${chalk.red('$' + maxRisk.toFixed(2))}`));
1398
1394
  console.log();
1399
1395
  console.log(chalk.white(' LEAD ACCOUNT'));
1400
- console.log(chalk.white(` Account: ${chalk.cyan(leadAccount.accountName || leadAccount.name)}`));
1401
- console.log(chalk.white(` PropFirm: ${chalk.magenta(leadAccount.propfirm)}`));
1402
- console.log(chalk.white(` Symbol: ${chalk.cyan(leadSymbol.name)}`));
1396
+ console.log(chalk.white(` Account: ${chalk.cyan(leadAccount.accountName || leadAccount.name || 'N/A')}`));
1397
+ console.log(chalk.white(` PropFirm: ${chalk.magenta(leadAccount.propfirm || 'N/A')}`));
1398
+ console.log(chalk.white(` Symbol: ${chalk.cyan(leadSymbol.name || 'N/A')}`));
1403
1399
  console.log(chalk.white(` Contracts: ${chalk.cyan(leadContracts)}`));
1404
1400
  console.log();
1405
1401
  console.log(chalk.white(' FOLLOWER ACCOUNT'));
1406
- console.log(chalk.white(` Account: ${chalk.cyan(followerAccount.accountName || followerAccount.name)}`));
1407
- console.log(chalk.white(` PropFirm: ${chalk.magenta(followerAccount.propfirm)}`));
1408
- console.log(chalk.white(` Symbol: ${chalk.cyan(followerSymbol.name)}`));
1402
+ console.log(chalk.white(` Account: ${chalk.cyan(followerAccount.accountName || followerAccount.name || 'N/A')}`));
1403
+ console.log(chalk.white(` PropFirm: ${chalk.magenta(followerAccount.propfirm || 'N/A')}`));
1404
+ console.log(chalk.white(` Symbol: ${chalk.cyan(followerSymbol.name || 'N/A')}`));
1409
1405
  console.log(chalk.white(` Contracts: ${chalk.cyan(followerContracts)}`));
1410
1406
  console.log();
1411
1407
  console.log(chalk.gray(getSeparator()));