hedgequantx 2.9.86 → 2.9.88
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 +41 -29
- package/package.json +1 -1
package/dist/lib/m/hqx-2b.js
CHANGED
|
@@ -12,38 +12,42 @@ var require_config = __commonJS({
|
|
|
12
12
|
// Instrument
|
|
13
13
|
tickSize: 0.25,
|
|
14
14
|
tickValue: 5,
|
|
15
|
-
// Swing Detection (
|
|
15
|
+
// Swing Detection (HYPER AGGRESSIVE)
|
|
16
16
|
swing: {
|
|
17
|
-
lookbackBars:
|
|
18
|
-
//
|
|
19
|
-
minStrength:
|
|
20
|
-
//
|
|
17
|
+
lookbackBars: 1,
|
|
18
|
+
// Minimum lookback - detect swings faster
|
|
19
|
+
minStrength: 1,
|
|
20
|
+
// Any swing counts
|
|
21
21
|
confirmationBars: 1
|
|
22
|
-
//
|
|
22
|
+
// Immediate confirmation
|
|
23
23
|
},
|
|
24
|
-
// Zone Detection (
|
|
24
|
+
// Zone Detection (HYPER AGGRESSIVE)
|
|
25
25
|
zone: {
|
|
26
|
-
clusterToleranceTicks:
|
|
26
|
+
clusterToleranceTicks: 8,
|
|
27
|
+
// Wider tolerance for zone clustering
|
|
27
28
|
minTouches: 1,
|
|
28
|
-
//
|
|
29
|
-
maxZoneAgeBars:
|
|
30
|
-
//
|
|
31
|
-
maxZoneDistanceTicks:
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
// Single-touch zones OK
|
|
30
|
+
maxZoneAgeBars: 500,
|
|
31
|
+
// Keep zones longer
|
|
32
|
+
maxZoneDistanceTicks: 80,
|
|
33
|
+
// Look for zones further away
|
|
34
|
+
cooldownBars: 3
|
|
35
|
+
// Quick zone reuse (was 10)
|
|
34
36
|
},
|
|
35
|
-
// Sweep Detection (
|
|
37
|
+
// Sweep Detection (HYPER AGGRESSIVE)
|
|
36
38
|
sweep: {
|
|
37
|
-
minPenetrationTicks:
|
|
38
|
-
//
|
|
39
|
-
maxPenetrationTicks:
|
|
40
|
-
//
|
|
41
|
-
maxDurationBars:
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
//
|
|
45
|
-
|
|
46
|
-
//
|
|
39
|
+
minPenetrationTicks: 0.5,
|
|
40
|
+
// Even tiny penetration counts
|
|
41
|
+
maxPenetrationTicks: 20,
|
|
42
|
+
// Allow deeper sweeps
|
|
43
|
+
maxDurationBars: 10,
|
|
44
|
+
// Allow slower sweeps
|
|
45
|
+
minQualityScore: 0.2,
|
|
46
|
+
// Lower quality threshold (was 0.40)
|
|
47
|
+
minVolumeRatio: 0.5,
|
|
48
|
+
// Lower volume requirement (was 0.8)
|
|
49
|
+
minBodyRatio: 0.1
|
|
50
|
+
// Lower body ratio (was 0.2)
|
|
47
51
|
},
|
|
48
52
|
// Execution (OPTIMIZED 4:1 R:R)
|
|
49
53
|
execution: {
|
|
@@ -57,10 +61,10 @@ var require_config = __commonJS({
|
|
|
57
61
|
// Activate trailing at +8 ticks
|
|
58
62
|
trailDistanceTicks: 4,
|
|
59
63
|
// Trail by 4 ticks
|
|
60
|
-
cooldownMs:
|
|
61
|
-
//
|
|
62
|
-
minHoldTimeMs:
|
|
63
|
-
//
|
|
64
|
+
cooldownMs: 15e3,
|
|
65
|
+
// 15 seconds between signals (was 30)
|
|
66
|
+
minHoldTimeMs: 5e3,
|
|
67
|
+
// 5 seconds min hold (was 10)
|
|
64
68
|
slippageTicks: 1,
|
|
65
69
|
commissionPerSide: 2
|
|
66
70
|
// $4 round-trip
|
|
@@ -643,8 +647,16 @@ var require_core = __commonJS({
|
|
|
643
647
|
}
|
|
644
648
|
if (sweep && sweep.isValid) {
|
|
645
649
|
if (Date.now() - this.lastSignalTime < this.config.execution.cooldownMs) {
|
|
650
|
+
this.emit("log", {
|
|
651
|
+
type: "debug",
|
|
652
|
+
message: `[2B] COOLDOWN - waiting ${Math.ceil((this.config.execution.cooldownMs - (Date.now() - this.lastSignalTime)) / 1e3)}s`
|
|
653
|
+
});
|
|
646
654
|
return null;
|
|
647
655
|
}
|
|
656
|
+
this.emit("log", {
|
|
657
|
+
type: "debug",
|
|
658
|
+
message: `[2B] GENERATING SIGNAL from ${sweep.sweepType} sweep...`
|
|
659
|
+
});
|
|
648
660
|
const signal = generateSignal({
|
|
649
661
|
contractId,
|
|
650
662
|
currentBar: bar,
|