hedgequantx 2.9.222 → 2.9.223

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.
@@ -561,7 +561,8 @@ class HQXUltraScalpingStrategy extends EventEmitter {
561
561
  // Set last bar time to now
562
562
  this.lastBarTime.set(contractId, Date.now());
563
563
 
564
- this.emit('log', { type: 'info', message: `Preloaded ${histBars.length} bars for ${contractId}` });
564
+ // Tick-based strategy uses bars only for warmup reference data (volatility, ranges)
565
+ this.emit('log', { type: 'info', message: `Reference data loaded (${histBars.length} periods) - tick engine ready` });
565
566
  }
566
567
 
567
568
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hedgequantx",
3
- "version": "2.9.222",
3
+ "version": "2.9.223",
4
4
  "description": "HedgeQuantX - Prop Futures Trading CLI",
5
5
  "main": "src/app.js",
6
6
  "bin": {
@@ -78,7 +78,12 @@ const executeAlgo = async ({ service, account, contract, config, strategy: strat
78
78
  sessionLogger.log('CONFIG', `account=${account.accountId} rithmicId=${account.rithmicAccountId || 'N/A'}`);
79
79
 
80
80
  strategy.on('log', (log) => {
81
- const type = log.type === 'debug' ? 'debug' : log.type === 'info' ? 'analysis' : 'system';
81
+ // Debug logs only go to session file, not UI (too verbose)
82
+ if (log.type === 'debug') {
83
+ sessionLogger.log('DEBUG', log.message);
84
+ return;
85
+ }
86
+ const type = log.type === 'info' ? 'analysis' : 'system';
82
87
  ui.addLog(type, log.message);
83
88
  sessionLogger.log(type.toUpperCase(), log.message);
84
89
  });
@@ -352,12 +357,12 @@ const executeAlgo = async ({ service, account, contract, config, strategy: strat
352
357
  if (histBars && histBars.length > 0) {
353
358
  strategy.preloadBars(contractId, histBars);
354
359
  // Different message for tick-based vs bar-based strategies
355
- const isTickBased = strategyId === 'ultra-scalping';
360
+ const isTickBased = strategyId === 'ultra-scalping' || strategyId === 'hqx-scalping';
356
361
  const msg = isTickBased
357
- ? `Warmup data loaded - QUANT models initializing...`
362
+ ? `Reference data loaded - QUANT tick engine initializing...`
358
363
  : `Loaded ${histBars.length} historical bars - ready to trade!`;
359
364
  ui.addLog('system', msg);
360
- sessionLogger.log('HISTORY', `Preloaded ${histBars.length} bars for warmup`);
365
+ sessionLogger.log('WARMUP', isTickBased ? `Tick engine warmup with ${histBars.length} ref periods` : `Preloaded ${histBars.length} bars`);
361
366
  } else {
362
367
  ui.addLog('system', 'No history - warming up with live ticks...');
363
368
  }
@@ -74,13 +74,15 @@ const executeMultiSymbol = async ({ service, account, contracts, config, strateg
74
74
  // Filter logs - only show important events (swings, zones, signals)
75
75
  strategy.on('log', (log) => {
76
76
  const msg = log.message || '';
77
+ // Skip debug logs in UI (too verbose)
78
+ if (log.type === 'debug') return;
77
79
  // Skip bar close logs (too noisy with 5 symbols)
78
80
  if (msg.includes('[BAR]')) return;
79
81
  // Skip routine pivot checks
80
82
  if (msg.includes('Checking pivot')) return;
81
83
  // Show swing and zone events
82
84
  const prefix = `[${symbolCode}] `;
83
- ui.addLog(log.type === 'debug' ? 'debug' : 'analysis', prefix + msg);
85
+ ui.addLog('analysis', prefix + msg);
84
86
  });
85
87
  }
86
88