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
|
-
|
|
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
|
@@ -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
|
-
|
|
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
|
-
? `
|
|
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('
|
|
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(
|
|
85
|
+
ui.addLog('analysis', prefix + msg);
|
|
84
86
|
});
|
|
85
87
|
}
|
|
86
88
|
|