jcc_hyper_tool 0.1.5 → 0.1.7
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/README.md +160 -17
- package/dist/advisor/actionRunner.d.ts +6 -0
- package/dist/advisor/actionRunner.d.ts.map +1 -1
- package/dist/advisor/actionRunner.js +38 -7
- package/dist/advisor/actionRunner.js.map +1 -1
- package/dist/advisor/actionSchema.d.ts +1209 -75
- package/dist/advisor/actionSchema.d.ts.map +1 -1
- package/dist/advisor/actionSchema.js +117 -5
- package/dist/advisor/actionSchema.js.map +1 -1
- package/dist/advisor/adviseDisplay.d.ts +26 -0
- package/dist/advisor/adviseDisplay.d.ts.map +1 -0
- package/dist/advisor/adviseDisplay.js +174 -0
- package/dist/advisor/adviseDisplay.js.map +1 -0
- package/dist/advisor/adviseEngine.d.ts +12 -2
- package/dist/advisor/adviseEngine.d.ts.map +1 -1
- package/dist/advisor/adviseEngine.js +88 -7
- package/dist/advisor/adviseEngine.js.map +1 -1
- package/dist/advisor/ambushPolicy.d.ts +47 -0
- package/dist/advisor/ambushPolicy.d.ts.map +1 -0
- package/dist/advisor/ambushPolicy.js +161 -0
- package/dist/advisor/ambushPolicy.js.map +1 -0
- package/dist/advisor/contextBuilder.d.ts +17 -0
- package/dist/advisor/contextBuilder.d.ts.map +1 -1
- package/dist/advisor/contextBuilder.js +25 -6
- package/dist/advisor/contextBuilder.js.map +1 -1
- package/dist/advisor/executionPolicy.d.ts +92 -0
- package/dist/advisor/executionPolicy.d.ts.map +1 -0
- package/dist/advisor/executionPolicy.js +273 -0
- package/dist/advisor/executionPolicy.js.map +1 -0
- package/dist/advisor/guards.d.ts +14 -0
- package/dist/advisor/guards.d.ts.map +1 -1
- package/dist/advisor/guards.js +143 -16
- package/dist/advisor/guards.js.map +1 -1
- package/dist/advisor/indicatorCompute.d.ts +45 -0
- package/dist/advisor/indicatorCompute.d.ts.map +1 -0
- package/dist/advisor/indicatorCompute.js +259 -0
- package/dist/advisor/indicatorCompute.js.map +1 -0
- package/dist/advisor/positionPlan.d.ts +33 -0
- package/dist/advisor/positionPlan.d.ts.map +1 -0
- package/dist/advisor/positionPlan.js +118 -0
- package/dist/advisor/positionPlan.js.map +1 -0
- package/dist/advisor/promptTemplate.d.ts +8 -2
- package/dist/advisor/promptTemplate.d.ts.map +1 -1
- package/dist/advisor/promptTemplate.js +175 -23
- package/dist/advisor/promptTemplate.js.map +1 -1
- package/dist/advisor/touchProbability.d.ts +54 -0
- package/dist/advisor/touchProbability.d.ts.map +1 -0
- package/dist/advisor/touchProbability.js +215 -0
- package/dist/advisor/touchProbability.js.map +1 -0
- package/dist/advisor/tpslPolicy.d.ts +22 -0
- package/dist/advisor/tpslPolicy.d.ts.map +1 -0
- package/dist/advisor/tpslPolicy.js +120 -0
- package/dist/advisor/tpslPolicy.js.map +1 -0
- package/dist/cli/advisorCli.d.ts.map +1 -1
- package/dist/cli/advisorCli.js +478 -126
- package/dist/cli/advisorCli.js.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/riskCli.d.ts +3 -0
- package/dist/cli/riskCli.d.ts.map +1 -0
- package/dist/cli/riskCli.js +120 -0
- package/dist/cli/riskCli.js.map +1 -0
- package/dist/cli/strategyCli.d.ts.map +1 -1
- package/dist/cli/strategyCli.js +3 -1
- package/dist/cli/strategyCli.js.map +1 -1
- package/dist/cli/tradingCli.d.ts.map +1 -1
- package/dist/cli/tradingCli.js +31 -1
- package/dist/cli/tradingCli.js.map +1 -1
- package/dist/core/hyperliquid/asset.d.ts +2 -0
- package/dist/core/hyperliquid/asset.d.ts.map +1 -1
- package/dist/core/hyperliquid/asset.js +25 -0
- package/dist/core/hyperliquid/asset.js.map +1 -1
- package/dist/core/hyperliquid/orders.d.ts +5 -0
- package/dist/core/hyperliquid/orders.d.ts.map +1 -1
- package/dist/core/hyperliquid/orders.js +15 -5
- package/dist/core/hyperliquid/orders.js.map +1 -1
- package/dist/core/hyperliquid/rounding.d.ts +23 -0
- package/dist/core/hyperliquid/rounding.d.ts.map +1 -0
- package/dist/core/hyperliquid/rounding.js +53 -0
- package/dist/core/hyperliquid/rounding.js.map +1 -0
- package/dist/core/risk/isolatedTopUp.d.ts +112 -0
- package/dist/core/risk/isolatedTopUp.d.ts.map +1 -0
- package/dist/core/risk/isolatedTopUp.js +209 -0
- package/dist/core/risk/isolatedTopUp.js.map +1 -0
- package/dist/core/risk/isolatedTopUpHistory.d.ts +7 -0
- package/dist/core/risk/isolatedTopUpHistory.d.ts.map +1 -0
- package/dist/core/risk/isolatedTopUpHistory.js +26 -0
- package/dist/core/risk/isolatedTopUpHistory.js.map +1 -0
- package/dist/core/risk/isolatedTopUpParse.d.ts +16 -0
- package/dist/core/risk/isolatedTopUpParse.d.ts.map +1 -0
- package/dist/core/risk/isolatedTopUpParse.js +78 -0
- package/dist/core/risk/isolatedTopUpParse.js.map +1 -0
- package/dist/core/risk/runIsolatedTopUpReconcile.d.ts +28 -0
- package/dist/core/risk/runIsolatedTopUpReconcile.d.ts.map +1 -0
- package/dist/core/risk/runIsolatedTopUpReconcile.js +184 -0
- package/dist/core/risk/runIsolatedTopUpReconcile.js.map +1 -0
- package/dist/core/state/bracketReconcile.d.ts.map +1 -1
- package/dist/core/state/bracketReconcile.js +6 -2
- package/dist/core/state/bracketReconcile.js.map +1 -1
- package/dist/core/state/gridReconcile.d.ts +2 -0
- package/dist/core/state/gridReconcile.d.ts.map +1 -1
- package/dist/core/state/gridReconcile.js +42 -2
- package/dist/core/state/gridReconcile.js.map +1 -1
- package/dist/core/state/intentFactory.d.ts +1 -0
- package/dist/core/state/intentFactory.d.ts.map +1 -1
- package/dist/core/state/intentFactory.js +1 -0
- package/dist/core/state/intentFactory.js.map +1 -1
- package/dist/core/state/profileStore.d.ts.map +1 -1
- package/dist/core/state/profileStore.js +12 -16
- package/dist/core/state/profileStore.js.map +1 -1
- package/dist/core/state/runReconcile.d.ts.map +1 -1
- package/dist/core/state/runReconcile.js +53 -18
- package/dist/core/state/runReconcile.js.map +1 -1
- package/dist/core/state/schema.d.ts +439 -68
- package/dist/core/state/schema.d.ts.map +1 -1
- package/dist/core/state/schema.js +51 -0
- package/dist/core/state/schema.js.map +1 -1
- package/dist/core/state/snapshot.d.ts +13 -0
- package/dist/core/state/snapshot.d.ts.map +1 -1
- package/dist/core/state/snapshot.js +36 -0
- package/dist/core/state/snapshot.js.map +1 -1
- package/dist/core/state/store.d.ts +21 -3
- package/dist/core/state/store.d.ts.map +1 -1
- package/dist/core/state/store.js +122 -13
- package/dist/core/state/store.js.map +1 -1
- package/dist/core/state/types.d.ts +13 -0
- package/dist/core/state/types.d.ts.map +1 -1
- package/dist/daemon/index.js +47 -2
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/validateChild.d.ts +13 -0
- package/dist/daemon/validateChild.d.ts.map +1 -0
- package/dist/daemon/validateChild.js +77 -0
- package/dist/daemon/validateChild.js.map +1 -0
- package/dist/strategies/grid.d.ts +1 -0
- package/dist/strategies/grid.d.ts.map +1 -1
- package/dist/strategies/grid.js +1 -0
- package/dist/strategies/grid.js.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { ConfigError } from "../core/errors.js";
|
|
2
|
+
import { mergeUserProfileDefaults } from "../core/state/profileStore.js";
|
|
3
|
+
import { resolveMaxSlSweepProb, resolveMaxSlTouchProb, resolveSlAntiSweepAtrFactor, } from "./touchProbability.js";
|
|
4
|
+
/** Min TP distance / SL distance from entry (profile override, else by risk style). */
|
|
5
|
+
export function resolveMinRewardRiskRatio(profile) {
|
|
6
|
+
const p = mergeUserProfileDefaults(profile);
|
|
7
|
+
if (p.minRewardRiskRatio !== undefined) {
|
|
8
|
+
return p.minRewardRiskRatio;
|
|
9
|
+
}
|
|
10
|
+
switch (p.risk) {
|
|
11
|
+
case "conservative":
|
|
12
|
+
return 2.5;
|
|
13
|
+
case "aggressive":
|
|
14
|
+
return 1.5;
|
|
15
|
+
default:
|
|
16
|
+
return 2;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/** Max SL distance from entry as fraction of entry px (profile override, else by risk style). */
|
|
20
|
+
export function resolveMaxSlPctFromEntry(profile) {
|
|
21
|
+
const p = mergeUserProfileDefaults(profile);
|
|
22
|
+
if (p.maxSlPctFromEntry !== undefined) {
|
|
23
|
+
return p.maxSlPctFromEntry;
|
|
24
|
+
}
|
|
25
|
+
switch (p.risk) {
|
|
26
|
+
case "conservative":
|
|
27
|
+
return 0.012;
|
|
28
|
+
case "aggressive":
|
|
29
|
+
return 0.03;
|
|
30
|
+
default:
|
|
31
|
+
return 0.02;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export function computeBracketLegDistances(action) {
|
|
35
|
+
const entry = action.limit_px;
|
|
36
|
+
const { tp_px: tp, sl_px: sl, side } = action;
|
|
37
|
+
const slDist = side === "buy" ? entry - sl : sl - entry;
|
|
38
|
+
const tpDist = side === "buy" ? tp - entry : entry - tp;
|
|
39
|
+
const rewardRiskRatio = slDist > 0 ? tpDist / slDist : Number.POSITIVE_INFINITY;
|
|
40
|
+
return {
|
|
41
|
+
slDist,
|
|
42
|
+
tpDist,
|
|
43
|
+
rewardRiskRatio,
|
|
44
|
+
slPctFromEntry: slDist / entry,
|
|
45
|
+
tpPctFromEntry: tpDist / entry,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function fmtPct(fraction) {
|
|
49
|
+
return `${(fraction * 100).toFixed(2)}%`;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Hard bracket geometry: asymmetric TP/SL from entry, max SL width, trend-aware entry when SL is wide.
|
|
53
|
+
*/
|
|
54
|
+
export function assertBracketTpslGeometry(action, profile, mid, atr1h) {
|
|
55
|
+
const minRr = resolveMinRewardRiskRatio(profile);
|
|
56
|
+
let maxSlPct = resolveMaxSlPctFromEntry(profile);
|
|
57
|
+
const antiSweepFactor = resolveSlAntiSweepAtrFactor(profile);
|
|
58
|
+
if (atr1h !== undefined && atr1h !== null && atr1h > 0 && antiSweepFactor > 0) {
|
|
59
|
+
const entry = action.limit_px;
|
|
60
|
+
maxSlPct += (antiSweepFactor * atr1h) / entry;
|
|
61
|
+
}
|
|
62
|
+
const { side, limit_px: entry, tp_px: tp, sl_px: sl } = action;
|
|
63
|
+
const legs = computeBracketLegDistances(action);
|
|
64
|
+
if (side === "buy") {
|
|
65
|
+
if (!(sl < entry && entry < tp)) {
|
|
66
|
+
throw new ConfigError(`advise: ${action.action} blocked: buy bracket requires sl_px < limit_px < tp_px (got sl ${sl}, entry ${entry}, tp ${tp}).`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else if (!(tp < entry && entry < sl)) {
|
|
70
|
+
throw new ConfigError(`advise: ${action.action} blocked: sell bracket requires tp_px < limit_px < sl_px (got tp ${tp}, entry ${entry}, sl ${sl}).`);
|
|
71
|
+
}
|
|
72
|
+
if (legs.slDist <= 0 || legs.tpDist <= 0) {
|
|
73
|
+
throw new ConfigError(`advise: ${action.action} blocked: TP and SL must be strictly beyond entry (entry ${entry}, tp ${tp}, sl ${sl}).`);
|
|
74
|
+
}
|
|
75
|
+
if (legs.slPctFromEntry > maxSlPct) {
|
|
76
|
+
const trendHint = side === "buy"
|
|
77
|
+
? "move limit_px lower toward support (pullback entry) or tighten sl_px to structure"
|
|
78
|
+
: "move limit_px higher toward resistance (pullback entry) or tighten sl_px to structure";
|
|
79
|
+
throw new ConfigError(`advise: ${action.action} blocked: SL distance ${fmtPct(legs.slPctFromEntry)} exceeds max ${fmtPct(maxSlPct)} from entry ${entry}; ${trendHint}.`);
|
|
80
|
+
}
|
|
81
|
+
if (legs.rewardRiskRatio + 1e-9 < minRr) {
|
|
82
|
+
const symmetric = Math.abs(legs.tpDist - legs.slDist) / Math.max(legs.tpDist, legs.slDist) < 0.12;
|
|
83
|
+
const symmetricNote = symmetric
|
|
84
|
+
? " TP/SL are nearly equidistant from entry — use tighter SL and wider TP anchored to analysis.price_targets."
|
|
85
|
+
: "";
|
|
86
|
+
throw new ConfigError(`advise: ${action.action} blocked: reward:risk ${legs.rewardRiskRatio.toFixed(2)}:1 below min ${minRr.toFixed(2)}:1 (entry ${entry}, tp ${tp}, sl ${sl}; SL ${fmtPct(legs.slPctFromEntry)}, TP ${fmtPct(legs.tpPctFromEntry)}).${symmetricNote}`);
|
|
87
|
+
}
|
|
88
|
+
if (mid !== null && mid > 0) {
|
|
89
|
+
if (action.action !== "place_limit_ambush") {
|
|
90
|
+
const entryNearMid = Math.abs(entry - mid) / mid <= 0.006;
|
|
91
|
+
const midToTp = Math.abs(tp - mid);
|
|
92
|
+
const midToSl = Math.abs(mid - sl);
|
|
93
|
+
const midSymmetric = entryNearMid &&
|
|
94
|
+
Math.abs(midToTp - midToSl) / Math.max(midToTp, midToSl) < 0.12 &&
|
|
95
|
+
legs.rewardRiskRatio + 1e-9 < minRr + 0.25;
|
|
96
|
+
if (midSymmetric) {
|
|
97
|
+
throw new ConfigError(`advise: ${action.action} blocked: TP/SL nearly equidistant from mid ${mid} while entry at market — anchor SL to nearer structure (smaller) and TP to trend target (larger).`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const wideSl = legs.slPctFromEntry > maxSlPct * 0.65;
|
|
101
|
+
if (wideSl && side === "buy" && entry > mid) {
|
|
102
|
+
throw new ConfigError(`advise: ${action.action} blocked: buy limit_px ${entry} above mid ${mid} with wide SL ${fmtPct(legs.slPctFromEntry)} — enter on pullback below mid or tighten sl_px.`);
|
|
103
|
+
}
|
|
104
|
+
if (wideSl && side === "sell" && entry < mid) {
|
|
105
|
+
throw new ConfigError(`advise: ${action.action} blocked: sell limit_px ${entry} below mid ${mid} with wide SL ${fmtPct(legs.slPctFromEntry)} — enter on pullback above mid or tighten sl_px.`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/** Reject bracket when SL touch / sweep probability is too high (anti stop-hunt). Skips when ATR unavailable. */
|
|
110
|
+
export function assertBracketTouchProbability(action, probs, profile) {
|
|
111
|
+
const maxTouch = resolveMaxSlTouchProb(profile);
|
|
112
|
+
const maxSweep = resolveMaxSlSweepProb(profile);
|
|
113
|
+
if (probs.sl_touch_prob !== null && probs.sl_touch_prob > maxTouch) {
|
|
114
|
+
throw new ConfigError(`advise: ${action.action} blocked (SL touch ${(probs.sl_touch_prob * 100).toFixed(1)}% > max ${(maxTouch * 100).toFixed(1)}% over ${probs.horizon_hours.toFixed(1)}h): SL ${action.sl_px} too close vs mid — tighten structure SL or wait (ATR₁h ${probs.atr_1h?.toFixed(3) ?? "?"}).`);
|
|
115
|
+
}
|
|
116
|
+
if (probs.sl_sweep_prob !== null && probs.sl_sweep_prob > maxSweep) {
|
|
117
|
+
throw new ConfigError(`advise: ${action.action} blocked (SL sweep ${(probs.sl_sweep_prob * 100).toFixed(1)}% > max ${(maxSweep * 100).toFixed(1)}%, ×${probs.liquidity_multiplier} hunt factor): SL ${action.sl_px} likely stop-magnet — move SL beyond obvious level or use limit at SL (ATR₁h ${probs.atr_1h?.toFixed(3) ?? "?"}).`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=tpslPolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tpslPolicy.js","sourceRoot":"","sources":["../../src/advisor/tpslPolicy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advisorCli.d.ts","sourceRoot":"","sources":["../../src/cli/advisorCli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"advisorCli.d.ts","sourceRoot":"","sources":["../../src/cli/advisorCli.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgZzC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAofvD"}
|