hedgequantx 2.9.157 → 2.9.159
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/dist/lib/m/hqx-2b.js +18 -0
- package/package.json +1 -1
- package/src/lib/smart-logs-hqx2b.js +52 -52
- package/src/lib/smart-logs-quant.js +52 -51
package/dist/lib/m/hqx-2b.js
CHANGED
|
@@ -531,8 +531,17 @@ var require_core = __commonJS({
|
|
|
531
531
|
const { contractId, price, volume, timestamp } = tick;
|
|
532
532
|
const ts = timestamp || Date.now();
|
|
533
533
|
const vol = volume || 1;
|
|
534
|
+
if (!this._tickCount) this._tickCount = /* @__PURE__ */ new Map();
|
|
535
|
+
const count = (this._tickCount.get(contractId) || 0) + 1;
|
|
536
|
+
this._tickCount.set(contractId, count);
|
|
534
537
|
let bar = this.currentBar.get(contractId);
|
|
535
538
|
const barStartTime = Math.floor(ts / this.barIntervalMs) * this.barIntervalMs;
|
|
539
|
+
if (count === 1) {
|
|
540
|
+
this.emit("log", {
|
|
541
|
+
type: "debug",
|
|
542
|
+
message: `[2B] First tick ${contractId}: price=${price}, ts=${ts}, barStart=${barStartTime}`
|
|
543
|
+
});
|
|
544
|
+
}
|
|
536
545
|
if (!bar || bar.startTime !== barStartTime) {
|
|
537
546
|
if (bar) {
|
|
538
547
|
const closedBar = {
|
|
@@ -543,6 +552,11 @@ var require_core = __commonJS({
|
|
|
543
552
|
close: bar.close,
|
|
544
553
|
volume: bar.volume
|
|
545
554
|
};
|
|
555
|
+
const bars = this.barHistory.get(contractId) || [];
|
|
556
|
+
this.emit("log", {
|
|
557
|
+
type: "debug",
|
|
558
|
+
message: `[2B] BAR CLOSE ${contractId} #${bars.length + 1}: O=${closedBar.open.toFixed(2)} H=${closedBar.high.toFixed(2)} L=${closedBar.low.toFixed(2)} C=${closedBar.close.toFixed(2)} V=${closedBar.volume}`
|
|
559
|
+
});
|
|
546
560
|
const signal = this.processBar(contractId, closedBar);
|
|
547
561
|
this.currentBar.set(contractId, {
|
|
548
562
|
startTime: barStartTime,
|
|
@@ -554,6 +568,10 @@ var require_core = __commonJS({
|
|
|
554
568
|
});
|
|
555
569
|
return signal;
|
|
556
570
|
} else {
|
|
571
|
+
this.emit("log", {
|
|
572
|
+
type: "debug",
|
|
573
|
+
message: `[2B] First bar start ${contractId} @ ${new Date(barStartTime).toISOString()}`
|
|
574
|
+
});
|
|
557
575
|
this.currentBar.set(contractId, {
|
|
558
576
|
startTime: barStartTime,
|
|
559
577
|
open: price,
|
package/package.json
CHANGED
|
@@ -276,59 +276,59 @@ module.exports = {
|
|
|
276
276
|
]),
|
|
277
277
|
|
|
278
278
|
ready: (d) => {
|
|
279
|
-
const
|
|
280
|
-
const
|
|
279
|
+
const bias = d.delta > 0 ? 'bullish' : d.delta < 0 ? 'bearish' : 'neutral';
|
|
280
|
+
const biasColor = d.delta > 0 ? chalk.green : d.delta < 0 ? chalk.red : chalk.gray;
|
|
281
281
|
return pick([
|
|
282
|
-
chalk.
|
|
283
|
-
chalk.
|
|
284
|
-
chalk.
|
|
285
|
-
chalk.
|
|
286
|
-
chalk.
|
|
287
|
-
chalk.
|
|
288
|
-
chalk.
|
|
289
|
-
chalk.
|
|
290
|
-
chalk.
|
|
291
|
-
chalk.
|
|
292
|
-
chalk.
|
|
293
|
-
chalk.
|
|
294
|
-
chalk.
|
|
295
|
-
chalk.
|
|
296
|
-
chalk.
|
|
297
|
-
chalk.
|
|
298
|
-
chalk.
|
|
299
|
-
chalk.
|
|
300
|
-
chalk.
|
|
301
|
-
chalk.
|
|
302
|
-
chalk.
|
|
303
|
-
chalk.
|
|
304
|
-
chalk.
|
|
305
|
-
chalk.
|
|
306
|
-
chalk.
|
|
307
|
-
chalk.
|
|
308
|
-
chalk.
|
|
309
|
-
chalk.
|
|
310
|
-
chalk.
|
|
311
|
-
chalk.
|
|
312
|
-
chalk.
|
|
313
|
-
chalk.
|
|
314
|
-
chalk.
|
|
315
|
-
chalk.
|
|
316
|
-
chalk.
|
|
317
|
-
chalk.
|
|
318
|
-
chalk.
|
|
319
|
-
chalk.
|
|
320
|
-
chalk.
|
|
321
|
-
chalk.
|
|
322
|
-
chalk.
|
|
323
|
-
chalk.
|
|
324
|
-
chalk.
|
|
325
|
-
chalk.
|
|
326
|
-
chalk.
|
|
327
|
-
chalk.
|
|
328
|
-
chalk.
|
|
329
|
-
chalk.
|
|
330
|
-
chalk.
|
|
331
|
-
chalk.
|
|
282
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${chalk.yellow(d.zones + ' zones')} | ${biasColor(bias)} bias`,
|
|
283
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Watching @ ${chalk.white(d.price)} | ${chalk.yellow(d.swings + ' swings')} mapped`,
|
|
284
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | Delta: ${chalk.white(d.delta)} | Sweep watch`,
|
|
285
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Zones active | ${chalk.white(d.price)} | OFI: ${chalk.white(d.delta)}`,
|
|
286
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${chalk.yellow(d.zones + ' levels')} | Awaiting sweep`,
|
|
287
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Liquidity mapped | ${chalk.white(d.price)} | ${biasColor(bias)}`,
|
|
288
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${chalk.yellow(d.swings)} pivots | Delta: ${chalk.white(d.delta)}`,
|
|
289
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Monitoring @ ${chalk.white(d.price)} | ${chalk.yellow(d.zones + ' zones')}`,
|
|
290
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | OFI: ${chalk.white(d.delta)} | Zones ready`,
|
|
291
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Structure set | ${chalk.white(d.price)} | ${chalk.yellow(d.swings + ' swings')}`,
|
|
292
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${biasColor(bias)} flow | ${chalk.yellow(d.zones)} zones`,
|
|
293
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Sweep zones mapped | ${chalk.white(d.price)} | Delta: ${chalk.white(d.delta)}`,
|
|
294
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${chalk.yellow(d.zones + ' targets')} | ${biasColor(bias)}`,
|
|
295
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Watching levels | ${chalk.white(d.price)} | OFI: ${chalk.white(d.delta)}`,
|
|
296
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | Liquidity hunt active | ${chalk.yellow(d.zones)} zones`,
|
|
297
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Zones locked | ${chalk.white(d.price)} | ${biasColor(bias)} bias`,
|
|
298
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${chalk.yellow(d.swings + ' pivots')} | Sweep imminent`,
|
|
299
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Hunting liquidity | ${chalk.white(d.price)} | Delta: ${chalk.white(d.delta)}`,
|
|
300
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${chalk.yellow(d.zones)} zones | Primed`,
|
|
301
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} 2B setup forming | ${chalk.white(d.price)} | ${biasColor(bias)}`,
|
|
302
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | Stop hunt watch | ${chalk.yellow(d.zones + ' levels')}`,
|
|
303
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Armed @ ${chalk.white(d.price)} | ${chalk.yellow(d.swings)} swings | ${biasColor(bias)}`,
|
|
304
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | Delta: ${chalk.white(d.delta)} | Zones primed`,
|
|
305
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Liquidity levels set | ${chalk.white(d.price)} | ${chalk.yellow(d.zones)} zones`,
|
|
306
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${biasColor(bias)} | Awaiting trigger`,
|
|
307
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Pattern forming | ${chalk.white(d.price)} | OFI: ${chalk.white(d.delta)}`,
|
|
308
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${chalk.yellow(d.zones + ' zones')} | Sweep watch`,
|
|
309
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Targets locked | ${chalk.white(d.price)} | ${biasColor(bias)} flow`,
|
|
310
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${chalk.yellow(d.swings)} pivots | Delta: ${chalk.white(d.delta)}`,
|
|
311
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Monitoring zones | ${chalk.white(d.price)} | ${biasColor(bias)}`,
|
|
312
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${chalk.yellow(d.zones + ' levels')} | Armed`,
|
|
313
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Ready state | ${chalk.white(d.price)} | OFI: ${chalk.white(d.delta)}`,
|
|
314
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | Sweep zones active | ${biasColor(bias)}`,
|
|
315
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Watching @ ${chalk.white(d.price)} | ${chalk.yellow(d.zones)} zones ready`,
|
|
316
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | Delta: ${chalk.white(d.delta)} | Primed`,
|
|
317
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Structure ready | ${chalk.white(d.price)} | ${chalk.yellow(d.swings + ' swings')}`,
|
|
318
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${biasColor(bias)} bias | ${chalk.yellow(d.zones)} zones`,
|
|
319
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Levels mapped | ${chalk.white(d.price)} | OFI: ${chalk.white(d.delta)}`,
|
|
320
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${chalk.yellow(d.zones + ' targets')} | Watching`,
|
|
321
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Zones active | ${chalk.white(d.price)} | ${biasColor(bias)} flow`,
|
|
322
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${chalk.yellow(d.swings)} pivots | Sweep watch`,
|
|
323
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Liquidity hunt | ${chalk.white(d.price)} | Delta: ${chalk.white(d.delta)}`,
|
|
324
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${chalk.yellow(d.zones)} zones | Armed`,
|
|
325
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Awaiting sweep | ${chalk.white(d.price)} | ${biasColor(bias)}`,
|
|
326
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | OFI: ${chalk.white(d.delta)} | ${chalk.yellow(d.zones + ' levels')}`,
|
|
327
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Pattern watch | ${chalk.white(d.price)} | ${biasColor(bias)} flow`,
|
|
328
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${chalk.yellow(d.swings + ' swings')} | Primed`,
|
|
329
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Stop hunt mode | ${chalk.white(d.price)} | Delta: ${chalk.white(d.delta)}`,
|
|
330
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${chalk.yellow(d.zones)} zones | ${biasColor(bias)}`,
|
|
331
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Sweep ready | ${chalk.white(d.price)} | OFI: ${chalk.white(d.delta)}`,
|
|
332
332
|
]);
|
|
333
333
|
},
|
|
334
334
|
};
|
|
@@ -276,59 +276,60 @@ module.exports = {
|
|
|
276
276
|
]),
|
|
277
277
|
|
|
278
278
|
ready: (d) => {
|
|
279
|
-
const
|
|
279
|
+
const bias = d.rawZScore > 0 ? 'bullish' : 'bearish';
|
|
280
280
|
const zSign = d.rawZScore > 0 ? '+' : '-';
|
|
281
|
-
const
|
|
281
|
+
const biasColor = d.rawZScore > 0 ? chalk.green : chalk.red;
|
|
282
282
|
return pick([
|
|
283
|
-
chalk.
|
|
284
|
-
chalk.
|
|
285
|
-
chalk.
|
|
286
|
-
chalk.
|
|
287
|
-
chalk.
|
|
288
|
-
chalk.
|
|
289
|
-
chalk.
|
|
290
|
-
chalk.
|
|
291
|
-
chalk.
|
|
292
|
-
chalk.
|
|
293
|
-
chalk.
|
|
294
|
-
chalk.
|
|
295
|
-
chalk.
|
|
296
|
-
chalk.
|
|
297
|
-
chalk.
|
|
298
|
-
chalk.
|
|
299
|
-
chalk.
|
|
300
|
-
chalk.
|
|
301
|
-
chalk.
|
|
302
|
-
chalk.
|
|
303
|
-
chalk.
|
|
304
|
-
chalk.
|
|
305
|
-
chalk.
|
|
306
|
-
chalk.
|
|
307
|
-
chalk.
|
|
308
|
-
chalk.
|
|
309
|
-
chalk.
|
|
310
|
-
chalk.
|
|
311
|
-
chalk.
|
|
312
|
-
chalk.
|
|
313
|
-
chalk.
|
|
314
|
-
chalk.
|
|
315
|
-
chalk.
|
|
316
|
-
chalk.
|
|
317
|
-
chalk.
|
|
318
|
-
chalk.
|
|
319
|
-
chalk.
|
|
320
|
-
chalk.
|
|
321
|
-
chalk.
|
|
322
|
-
chalk.
|
|
323
|
-
chalk.
|
|
324
|
-
chalk.
|
|
325
|
-
chalk.
|
|
326
|
-
chalk.
|
|
327
|
-
chalk.
|
|
328
|
-
chalk.
|
|
329
|
-
chalk.
|
|
330
|
-
chalk.
|
|
331
|
-
chalk.
|
|
283
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | Z: ${biasColor(zSign + d.zScoreAbs + 'σ')} | ${biasColor(bias)} bias`,
|
|
284
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Watching @ ${chalk.white(d.price)} | VPIN: ${chalk.white(d.vpin + '%')}`,
|
|
285
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | OFI: ${chalk.white(d.ofi)} | Z watch`,
|
|
286
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Model active | ${chalk.white(d.price)} | ${biasColor(bias)}`,
|
|
287
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | Z: ${biasColor(zSign + d.zScoreAbs + 'σ')} | Primed`,
|
|
288
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Factors aligned | ${chalk.white(d.price)} | ${biasColor(bias)}`,
|
|
289
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | VPIN: ${chalk.white(d.vpin + '%')} | ${biasColor(bias)}`,
|
|
290
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Monitoring @ ${chalk.white(d.price)} | OFI: ${chalk.white(d.ofi)}`,
|
|
291
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | Z: ${biasColor(zSign + d.zScoreAbs + 'σ')} | Armed`,
|
|
292
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Stat model ready | ${chalk.white(d.price)} | ${biasColor(bias)}`,
|
|
293
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${biasColor(bias)} flow | VPIN: ${chalk.white(d.vpin + '%')}`,
|
|
294
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Z threshold watch | ${chalk.white(d.price)} | OFI: ${chalk.white(d.ofi)}`,
|
|
295
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${biasColor(zSign + d.zScoreAbs + 'σ')} | Watching`,
|
|
296
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Alpha scan | ${chalk.white(d.price)} | ${biasColor(bias)} bias`,
|
|
297
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | OFI: ${chalk.white(d.ofi)} | ${biasColor(bias)}`,
|
|
298
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Regime check | ${chalk.white(d.price)} | Z: ${biasColor(zSign + d.zScoreAbs + 'σ')}`,
|
|
299
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | VPIN: ${chalk.white(d.vpin + '%')} | Primed`,
|
|
300
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Mean rev watch | ${chalk.white(d.price)} | ${biasColor(bias)}`,
|
|
301
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | Z: ${biasColor(zSign + d.zScoreAbs + 'σ')} | OFI: ${chalk.white(d.ofi)}`,
|
|
302
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Edge calculation | ${chalk.white(d.price)} | ${biasColor(bias)}`,
|
|
303
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${biasColor(bias)} | VPIN: ${chalk.white(d.vpin + '%')}`,
|
|
304
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Factor model | ${chalk.white(d.price)} | Z: ${biasColor(zSign + d.zScoreAbs + 'σ')}`,
|
|
305
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | OFI: ${chalk.white(d.ofi)} | Armed`,
|
|
306
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Quant ready | ${chalk.white(d.price)} | ${biasColor(bias)} flow`,
|
|
307
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | Z: ${biasColor(zSign + d.zScoreAbs + 'σ')} | Watching`,
|
|
308
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Statistical edge | ${chalk.white(d.price)} | OFI: ${chalk.white(d.ofi)}`,
|
|
309
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${biasColor(bias)} bias | Primed`,
|
|
310
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Threshold watch | ${chalk.white(d.price)} | VPIN: ${chalk.white(d.vpin + '%')}`,
|
|
311
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | OFI: ${chalk.white(d.ofi)} | ${biasColor(bias)}`,
|
|
312
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Model armed | ${chalk.white(d.price)} | Z: ${biasColor(zSign + d.zScoreAbs + 'σ')}`,
|
|
313
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${biasColor(bias)} | OFI: ${chalk.white(d.ofi)}`,
|
|
314
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Z-score monitor | ${chalk.white(d.price)} | ${biasColor(bias)}`,
|
|
315
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | VPIN: ${chalk.white(d.vpin + '%')} | Armed`,
|
|
316
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Stat ready | ${chalk.white(d.price)} | Z: ${biasColor(zSign + d.zScoreAbs + 'σ')}`,
|
|
317
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${biasColor(bias)} flow | Watching`,
|
|
318
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} OFI tracking | ${chalk.white(d.price)} | OFI: ${chalk.white(d.ofi)}`,
|
|
319
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | Z: ${biasColor(zSign + d.zScoreAbs + 'σ')} | ${biasColor(bias)}`,
|
|
320
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} VPIN watch | ${chalk.white(d.price)} | VPIN: ${chalk.white(d.vpin + '%')}`,
|
|
321
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | OFI: ${chalk.white(d.ofi)} | Primed`,
|
|
322
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Awaiting edge | ${chalk.white(d.price)} | ${biasColor(bias)}`,
|
|
323
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${biasColor(bias)} bias | Z: ${biasColor(zSign + d.zScoreAbs + 'σ')}`,
|
|
324
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Model tracking | ${chalk.white(d.price)} | OFI: ${chalk.white(d.ofi)}`,
|
|
325
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | VPIN: ${chalk.white(d.vpin + '%')} | ${biasColor(bias)}`,
|
|
326
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Factor scan | ${chalk.white(d.price)} | Z: ${biasColor(zSign + d.zScoreAbs + 'σ')}`,
|
|
327
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | ${biasColor(bias)} | Watching levels`,
|
|
328
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Ready state | ${chalk.white(d.price)} | OFI: ${chalk.white(d.ofi)}`,
|
|
329
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | Z: ${biasColor(zSign + d.zScoreAbs + 'σ')} | Armed`,
|
|
330
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Edge monitor | ${chalk.white(d.price)} | ${biasColor(bias)} flow`,
|
|
331
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} ${chalk.white(d.price)} | OFI: ${chalk.white(d.ofi)} | Z: ${biasColor(zSign + d.zScoreAbs + 'σ')}`,
|
|
332
|
+
chalk.bgCyan.black(' RDY ') + ` ${chalk.cyan(`[${d.sym}]`)} Quant scan | ${chalk.white(d.price)} | VPIN: ${chalk.white(d.vpin + '%')}`,
|
|
332
333
|
]);
|
|
333
334
|
},
|
|
334
335
|
};
|