dexbot 1.6.1 → 1.6.3
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/CHANGELOG.md +34 -0
- package/analysis/README.md +2 -2
- package/analysis/ama_fitting/package.json +1 -1
- package/analysis/grid_correction_check.ts +80 -7
- package/analysis/results/ama_sweep_results_lp_pool_133_1h.json +2455 -0
- package/analysis/results/bot_fitting_results_lp_pool_133_1h.json +218 -0
- package/analysis/tradingview/h-bts_tradingview.html +1570 -0
- package/analysis/tradingview/t-bts_tradingview.html +1570 -0
- package/analysis/tradingview/tradingview_uplot_chart_generator.ts +19 -5
- package/analysis/trend_detection/package.json +1 -1
- package/claw/package.json +1 -1
- package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
- package/claw/runtimes/openclaw-plugin/package.json +1 -1
- package/claw/tests/test_claw_mcp_transport.ts +2 -2
- package/dist/analysis/grid_correction_check.d.ts +5 -1
- package/dist/analysis/grid_correction_check.d.ts.map +1 -1
- package/dist/analysis/grid_correction_check.js +81 -7
- package/dist/analysis/grid_correction_check.js.map +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.d.ts.map +1 -1
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js +19 -5
- package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js.map +1 -1
- package/dist/market_adapter/inputs/fetch_book_data.js +2 -2
- package/dist/market_adapter/inputs/fetch_book_data.js.map +1 -1
- package/dist/market_adapter/inputs/fetch_lp_data.d.ts +22 -3
- package/dist/market_adapter/inputs/fetch_lp_data.d.ts.map +1 -1
- package/dist/market_adapter/inputs/fetch_lp_data.js +15 -15
- package/dist/market_adapter/inputs/fetch_lp_data.js.map +1 -1
- package/dist/market_adapter/inputs/kibana_feed_source.js +2 -2
- package/dist/market_adapter/inputs/kibana_feed_source.js.map +1 -1
- package/dist/market_adapter/inputs/window_cache.d.ts +54 -8
- package/dist/market_adapter/inputs/window_cache.d.ts.map +1 -1
- package/dist/market_adapter/inputs/window_cache.js +328 -87
- package/dist/market_adapter/inputs/window_cache.js.map +1 -1
- package/dist/modules/bitshares-native/subscriptions.d.ts +1 -1
- package/dist/modules/bitshares-native/subscriptions.d.ts.map +1 -1
- package/dist/modules/bitshares-native/subscriptions.js +18 -4
- package/dist/modules/bitshares-native/subscriptions.js.map +1 -1
- package/dist/modules/bitshares_client.d.ts.map +1 -1
- package/dist/modules/bitshares_client.js +10 -0
- package/dist/modules/bitshares_client.js.map +1 -1
- package/dist/modules/constants.d.ts +7 -3
- package/dist/modules/constants.d.ts.map +1 -1
- package/dist/modules/constants.js +44 -20
- package/dist/modules/constants.js.map +1 -1
- package/dist/modules/credit_runtime.d.ts.map +1 -1
- package/dist/modules/credit_runtime.js +24 -6
- package/dist/modules/credit_runtime.js.map +1 -1
- package/dist/modules/dexbot_class.d.ts +32 -7
- package/dist/modules/dexbot_class.d.ts.map +1 -1
- package/dist/modules/dexbot_class.js +55 -11
- package/dist/modules/dexbot_class.js.map +1 -1
- package/dist/modules/dexbot_cow_runtime.d.ts +137 -7
- package/dist/modules/dexbot_cow_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_cow_runtime.js +955 -45
- package/dist/modules/dexbot_cow_runtime.js.map +1 -1
- package/dist/modules/dexbot_fill_runtime.d.ts +28 -1
- package/dist/modules/dexbot_fill_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_fill_runtime.js +116 -3
- package/dist/modules/dexbot_fill_runtime.js.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.d.ts +46 -0
- package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_maintenance_runtime.js +193 -6
- package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
- package/dist/modules/dexbot_startup_runtime.d.ts.map +1 -1
- package/dist/modules/dexbot_startup_runtime.js +6 -1
- package/dist/modules/dexbot_startup_runtime.js.map +1 -1
- package/dist/modules/dexbot_state_recovery.d.ts.map +1 -1
- package/dist/modules/dexbot_state_recovery.js +16 -3
- package/dist/modules/dexbot_state_recovery.js.map +1 -1
- package/dist/modules/order/grid.d.ts +3 -1
- package/dist/modules/order/grid.d.ts.map +1 -1
- package/dist/modules/order/grid.js +47 -6
- package/dist/modules/order/grid.js.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.d.ts.map +1 -1
- package/dist/modules/order/grid_reconcile_internal.js +39 -4
- package/dist/modules/order/grid_reconcile_internal.js.map +1 -1
- package/dist/modules/order/manager.d.ts.map +1 -1
- package/dist/modules/order/manager.js +3 -1
- package/dist/modules/order/manager.js.map +1 -1
- package/dist/modules/order/sync_engine.d.ts.map +1 -1
- package/dist/modules/order/sync_engine.js +200 -15
- package/dist/modules/order/sync_engine.js.map +1 -1
- package/dist/modules/order/utils/math.d.ts +60 -14
- package/dist/modules/order/utils/math.d.ts.map +1 -1
- package/dist/modules/order/utils/math.js +87 -20
- package/dist/modules/order/utils/math.js.map +1 -1
- package/dist/modules/order/utils/order.d.ts +95 -7
- package/dist/modules/order/utils/order.d.ts.map +1 -1
- package/dist/modules/order/utils/order.js +277 -15
- package/dist/modules/order/utils/order.js.map +1 -1
- package/dist/modules/utils/errors.d.ts +22 -0
- package/dist/modules/utils/errors.d.ts.map +1 -1
- package/dist/modules/utils/errors.js +30 -0
- package/dist/modules/utils/errors.js.map +1 -1
- package/docs/COPY_ON_WRITE_MASTER_PLAN.md +1 -1
- package/docs/DEXBOT_COMPARISON.md +3 -7
- package/docs/EVOLUTION.md +9 -7
- package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +4 -9
- package/docs/LIFECYCLE.md +2 -2
- package/docs/README.md +9 -1
- package/docs/architecture.md +7 -7
- package/docs/developer_guide.md +4 -4
- package/market_adapter/README.md +1 -1
- package/package.json +1 -1
|
@@ -721,17 +721,20 @@ function generateHTML(data: any, title: any = 'TradingView Style Research') {
|
|
|
721
721
|
if (e.ctrlKey || e.metaKey || e.altKey) return;
|
|
722
722
|
e.preventDefault();
|
|
723
723
|
const rect = chart.root.getBoundingClientRect();
|
|
724
|
+
const pxRatio = chart.pxRatio || 1;
|
|
725
|
+
const bboxLeft = chart.bbox ? chart.bbox.left / pxRatio : 0;
|
|
726
|
+
const bboxTop = chart.bbox ? chart.bbox.top / pxRatio : 0;
|
|
724
727
|
// Shift+wheel scales price (cursor-anchored) anywhere over the
|
|
725
728
|
// price pane — same as wheeling over the price axis. Volume has
|
|
726
729
|
// no manual Y lock, so it keeps the timeframe zoom.
|
|
727
730
|
if (chart === priceChart && (e.shiftKey || inYAxisZone(chart, e.clientX))) {
|
|
728
|
-
const centerY = chart.posToVal(e.clientY - rect.top, 'y');
|
|
731
|
+
const centerY = chart.posToVal(e.clientY - rect.top - bboxTop, 'y');
|
|
729
732
|
const delta = e.deltaY !== 0 ? e.deltaY : e.deltaX;
|
|
730
733
|
zoomYAt(chart, centerY, delta < 0 ? 0.91 : 1.10);
|
|
731
734
|
return;
|
|
732
735
|
}
|
|
733
736
|
e.stopPropagation();
|
|
734
|
-
const left = e.clientX - rect.left -
|
|
737
|
+
const left = e.clientX - rect.left - bboxLeft;
|
|
735
738
|
const center = chart.posToVal(left, 'x');
|
|
736
739
|
const s = chart.scales.x || {};
|
|
737
740
|
const currMin = Number.isFinite(s.min) ? s.min : xMin;
|
|
@@ -788,6 +791,8 @@ function generateHTML(data: any, title: any = 'TradingView Style Research') {
|
|
|
788
791
|
let startMin = 0;
|
|
789
792
|
let startMax = 0;
|
|
790
793
|
let startYRange = null;
|
|
794
|
+
let startBboxLeft = 0;
|
|
795
|
+
let startBboxTop = 0;
|
|
791
796
|
let panRaf = 0;
|
|
792
797
|
let pendingPan = null;
|
|
793
798
|
const applyPendingPan = () => {
|
|
@@ -799,8 +804,12 @@ function generateHTML(data: any, title: any = 'TradingView Style Research') {
|
|
|
799
804
|
// move sets a manual Y range; double-click the price axis to
|
|
800
805
|
// return to autofit. Axis gutters never pan — they scale.
|
|
801
806
|
if (chart === priceChart && startYRange && Number.isFinite(p.clientY)) {
|
|
802
|
-
|
|
803
|
-
|
|
807
|
+
// Plot-relative coords: subtract the axis gutter offset
|
|
808
|
+
// (bbox) like bindWheelZoom. On linear scales the offset
|
|
809
|
+
// cancels in subtraction, but on log scale the ratio
|
|
810
|
+
// corrupts and vertical drag dies without it.
|
|
811
|
+
const vStart = chart.posToVal(p.startY - p.rectTop - p.bboxTop, 'y');
|
|
812
|
+
const vCur = chart.posToVal(p.clientY - p.rectTop - p.bboxTop, 'y');
|
|
804
813
|
if (Number.isFinite(vStart) && Number.isFinite(vCur) && vCur !== vStart) {
|
|
805
814
|
// Rigid move only: the span is locked by construction so a
|
|
806
815
|
// plot drag can never rescale — Y scaling happens solely
|
|
@@ -822,7 +831,7 @@ function generateHTML(data: any, title: any = 'TradingView Style Research') {
|
|
|
822
831
|
}
|
|
823
832
|
}
|
|
824
833
|
}
|
|
825
|
-
const delta = chart.posToVal(p.clientX - p.rectLeft, 'x') - chart.posToVal(p.startX - p.rectLeft, 'x');
|
|
834
|
+
const delta = chart.posToVal(p.clientX - p.rectLeft - p.bboxLeft, 'x') - chart.posToVal(p.startX - p.rectLeft - p.bboxLeft, 'x');
|
|
826
835
|
syncXRange(startMin - delta, startMax - delta);
|
|
827
836
|
};
|
|
828
837
|
const onMove = (e) => {
|
|
@@ -833,6 +842,7 @@ function generateHTML(data: any, title: any = 'TradingView Style Research') {
|
|
|
833
842
|
clientX: e.clientX, clientY: e.clientY,
|
|
834
843
|
startX: startClientX, startY: startClientY,
|
|
835
844
|
rectLeft: rect.left, rectTop: rect.top,
|
|
845
|
+
bboxLeft: startBboxLeft, bboxTop: startBboxTop,
|
|
836
846
|
};
|
|
837
847
|
if (!panRaf) panRaf = requestAnimationFrame(applyPendingPan);
|
|
838
848
|
};
|
|
@@ -857,6 +867,9 @@ function generateHTML(data: any, title: any = 'TradingView Style Research') {
|
|
|
857
867
|
dragging = true;
|
|
858
868
|
startClientX = e.clientX;
|
|
859
869
|
startClientY = e.clientY;
|
|
870
|
+
const startPxRatio = chart.pxRatio || 1;
|
|
871
|
+
startBboxLeft = chart.bbox ? chart.bbox.left / startPxRatio : 0;
|
|
872
|
+
startBboxTop = chart.bbox ? chart.bbox.top / startPxRatio : 0;
|
|
860
873
|
const s = chart.scales.x || {};
|
|
861
874
|
startMin = Number.isFinite(s.min) ? s.min : currentCandles[0].time;
|
|
862
875
|
startMax = Number.isFinite(s.max) ? s.max : currentCandles[currentCandles.length - 1].time;
|
|
@@ -2473,6 +2486,7 @@ function generateHTML(data: any, title: any = 'TradingView Style Research') {
|
|
|
2473
2486
|
if (!wrap) {
|
|
2474
2487
|
try { if (getComputedStyle(u.root).position === 'static') u.root.style.position = 'relative'; } catch (e) {}
|
|
2475
2488
|
wrap = document.createElement('div');
|
|
2489
|
+
wrap.className = 'um-wrap';
|
|
2476
2490
|
wrap.style.cssText = 'position:absolute;z-index:24;pointer-events:none;';
|
|
2477
2491
|
wrap.innerHTML =
|
|
2478
2492
|
'<div class="um-line" style="position:absolute;top:0;height:100%;width:0;border-left:2px dashed #22d3ee;opacity:0.75;"></div>' +
|
package/claw/package.json
CHANGED
|
@@ -30,7 +30,7 @@ async function testParserAcceptsJsonlAcrossChunksAndSingleBuffer() {
|
|
|
30
30
|
capabilities: {},
|
|
31
31
|
clientInfo: {
|
|
32
32
|
name: 'claw-mcp-transport-test',
|
|
33
|
-
version: '1.6.
|
|
33
|
+
version: '1.6.3'
|
|
34
34
|
},
|
|
35
35
|
protocolVersion: '2024-11-05'
|
|
36
36
|
}
|
|
@@ -187,7 +187,7 @@ async function testMainEntrypointHandlesRealProcessInitialize() {
|
|
|
187
187
|
capabilities: {},
|
|
188
188
|
clientInfo: {
|
|
189
189
|
name: 'claw-mcp-transport-test',
|
|
190
|
-
version: '1.6.
|
|
190
|
+
version: '1.6.3'
|
|
191
191
|
},
|
|
192
192
|
protocolVersion: '2024-11-05'
|
|
193
193
|
}
|
|
@@ -20,6 +20,10 @@ interface FillRecord {
|
|
|
20
20
|
isMaker: boolean;
|
|
21
21
|
sort: any[];
|
|
22
22
|
}
|
|
23
|
+
interface OrderUpdate {
|
|
24
|
+
orderId: string;
|
|
25
|
+
sequence: number;
|
|
26
|
+
}
|
|
23
27
|
interface TradeFill {
|
|
24
28
|
time: string;
|
|
25
29
|
orderId: string;
|
|
@@ -80,7 +84,7 @@ declare function classifyFills(fills: FillRecord[]): {
|
|
|
80
84
|
trades: TradeFill[];
|
|
81
85
|
skipped: number;
|
|
82
86
|
};
|
|
83
|
-
declare function aggregateByOrder(trades: TradeFill[]): AggregatedOrder[];
|
|
87
|
+
declare function aggregateByOrder(trades: TradeFill[], updates?: OrderUpdate[]): AggregatedOrder[];
|
|
84
88
|
declare function detectViolations(items: (TradeFill | AggregatedOrder)[], includeCrossPair: boolean, incrementPercent: number): {
|
|
85
89
|
violations: Violation[];
|
|
86
90
|
checkedPairs: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid_correction_check.d.ts","sourceRoot":"","sources":["../../analysis/grid_correction_check.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"grid_correction_check.d.ts","sourceRoot":"","sources":["../../analysis/grid_correction_check.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,7 @@ import * as C from '../modules/constants.js';
|
|
|
38
38
|
import { loadBotMeta, loadBotSettings, computeBotKey, persistBotAccountId } from './bot_key_utils.js';
|
|
39
39
|
const { kibanaSearch, DEFAULT_CONFIG: BASE_CONFIG } = KC;
|
|
40
40
|
const OP_FILL_ORDER = 4;
|
|
41
|
+
const OP_LIMIT_ORDER_UPDATE = 77;
|
|
41
42
|
const BTS_ID = '1.3.0';
|
|
42
43
|
const ASSETS = {
|
|
43
44
|
'1.3.0': { symbol: 'BTS', precision: 5 },
|
|
@@ -476,6 +477,53 @@ function buildFillQuery(accountId, gte, lte, size) {
|
|
|
476
477
|
],
|
|
477
478
|
};
|
|
478
479
|
}
|
|
480
|
+
async function fetchAllOrderUpdates(config, accountId, gte, lte) {
|
|
481
|
+
const pageSize = 10000;
|
|
482
|
+
const updates = [];
|
|
483
|
+
let searchAfter = null;
|
|
484
|
+
const cfg = { ...BASE_CONFIG, timeout: 60000, ...config };
|
|
485
|
+
while (true) {
|
|
486
|
+
const query = {
|
|
487
|
+
size: pageSize,
|
|
488
|
+
track_total_hits: false,
|
|
489
|
+
_source: [
|
|
490
|
+
'block_data.block_num', 'operation_id_num',
|
|
491
|
+
'operation_history.op_object.order',
|
|
492
|
+
'operation_history.op_object.seller',
|
|
493
|
+
],
|
|
494
|
+
query: { bool: { filter: [
|
|
495
|
+
{ term: { operation_type: OP_LIMIT_ORDER_UPDATE } },
|
|
496
|
+
{ term: { 'operation_history.op_object.seller.keyword': accountId } },
|
|
497
|
+
{ range: { 'block_data.block_time': { gte, lte } } },
|
|
498
|
+
] } },
|
|
499
|
+
sort: [
|
|
500
|
+
{ 'block_data.block_num': { order: 'asc' } },
|
|
501
|
+
{ operation_id_num: { order: 'asc' } },
|
|
502
|
+
],
|
|
503
|
+
};
|
|
504
|
+
if (searchAfter)
|
|
505
|
+
query.search_after = searchAfter;
|
|
506
|
+
const result = await kibanaSearch(cfg, query);
|
|
507
|
+
const hits = result?.hits?.hits ?? [];
|
|
508
|
+
if (!hits.length)
|
|
509
|
+
break;
|
|
510
|
+
for (const hit of hits) {
|
|
511
|
+
const source = hit?._source || {};
|
|
512
|
+
const op = source.operation_history?.op_object || {};
|
|
513
|
+
const orderId = op.order;
|
|
514
|
+
if (!orderId)
|
|
515
|
+
continue;
|
|
516
|
+
const blockNum = Number(source.block_data?.block_num ?? 0);
|
|
517
|
+
const opNum = Number(source.operation_id_num ?? 0);
|
|
518
|
+
updates.push({ orderId, sequence: blockNum * 1e6 + opNum });
|
|
519
|
+
}
|
|
520
|
+
const last = hits[hits.length - 1];
|
|
521
|
+
searchAfter = last?.sort;
|
|
522
|
+
if (!searchAfter || hits.length < pageSize)
|
|
523
|
+
break;
|
|
524
|
+
}
|
|
525
|
+
return updates;
|
|
526
|
+
}
|
|
479
527
|
async function fetchAllFills(config, accountId, gte, lte) {
|
|
480
528
|
const pageSize = 10000;
|
|
481
529
|
const fills = [];
|
|
@@ -586,11 +634,33 @@ function classifyFills(fills) {
|
|
|
586
634
|
}
|
|
587
635
|
return { trades, skipped };
|
|
588
636
|
}
|
|
589
|
-
// ─── Per-order aggregation
|
|
590
|
-
|
|
637
|
+
// ─── Per-order/price-epoch aggregation ───────────────────────────────────────
|
|
638
|
+
// Collapses partial fills at one order lifetime, but never mixes fills from
|
|
639
|
+
// different native limit_order_update repricings of the same order ID.
|
|
640
|
+
function aggregateByOrder(trades, updates = []) {
|
|
641
|
+
const updatesByOrder = new Map();
|
|
642
|
+
for (const update of updates) {
|
|
643
|
+
const list = updatesByOrder.get(update.orderId) || [];
|
|
644
|
+
list.push(update.sequence);
|
|
645
|
+
updatesByOrder.set(update.orderId, list);
|
|
646
|
+
}
|
|
647
|
+
for (const list of updatesByOrder.values())
|
|
648
|
+
list.sort((a, b) => a - b);
|
|
591
649
|
const map = new Map();
|
|
592
650
|
for (const t of trades) {
|
|
593
|
-
|
|
651
|
+
// An update is ordered before the fills it can affect. The epoch is
|
|
652
|
+
// therefore the latest update sequence at or before this fill.
|
|
653
|
+
const orderUpdates = updatesByOrder.get(t.orderId) || [];
|
|
654
|
+
let epoch = 0;
|
|
655
|
+
for (const sequence of orderUpdates) {
|
|
656
|
+
if (sequence <= t.sequence)
|
|
657
|
+
epoch = sequence;
|
|
658
|
+
else
|
|
659
|
+
break;
|
|
660
|
+
}
|
|
661
|
+
const k = t.orderId
|
|
662
|
+
? `${t.orderId}:${t.direction}:${t.baseAsset}:${t.quoteAsset}:${epoch}`
|
|
663
|
+
: `__fill_${t.sequence}`;
|
|
594
664
|
if (!map.has(k))
|
|
595
665
|
map.set(k, { trades: [] });
|
|
596
666
|
map.get(k).trades.push(t);
|
|
@@ -846,9 +916,13 @@ async function main() {
|
|
|
846
916
|
console.log(`Account: ${accountId}${botMeta ? ` (${botMeta.assetA}/${botMeta.assetB})` : ''}`);
|
|
847
917
|
const incrementPercent = resolveIncrementPercent(botMeta, opts.incrementPercent);
|
|
848
918
|
console.log(`Increment: ${incrementPercent}% (halfInc ${incrementPercent / 2}%)${opts.incrementPercent == null && botMeta?.incrementPercent != null ? ' — from bot config' : opts.incrementPercent != null ? ' — from --increment' : ' — default'}`);
|
|
849
|
-
console.log(`\nFetching fills from Kibana...`);
|
|
850
|
-
const fills = await
|
|
919
|
+
console.log(`\nFetching fills and order updates from Kibana...`);
|
|
920
|
+
const [fills, orderUpdates] = await Promise.all([
|
|
921
|
+
fetchAllFills({}, accountId, gte, lte),
|
|
922
|
+
fetchAllOrderUpdates({}, accountId, gte, lte),
|
|
923
|
+
]);
|
|
851
924
|
console.log(` Fetched ${fills.length} fill_order operation(s)`);
|
|
925
|
+
console.log(` Fetched ${orderUpdates.length} limit_order_update operation(s)`);
|
|
852
926
|
if (fills.length === 0) {
|
|
853
927
|
console.log('\nNo fills in range — nothing to check.');
|
|
854
928
|
process.exit(0);
|
|
@@ -876,8 +950,8 @@ async function main() {
|
|
|
876
950
|
items = trades;
|
|
877
951
|
}
|
|
878
952
|
else {
|
|
879
|
-
const orders = aggregateByOrder(trades);
|
|
880
|
-
console.log(` Aggregated into ${orders.length} order(s) (
|
|
953
|
+
const orders = aggregateByOrder(trades, orderUpdates);
|
|
954
|
+
console.log(` Aggregated into ${orders.length} order epoch(s) (partial fills collapsed; repriced orders kept separate)`);
|
|
881
955
|
items = orders;
|
|
882
956
|
}
|
|
883
957
|
const { violations, checkedPairs, sameDirectionPairs } = detectViolations(items, opts.includeCrossPair, incrementPercent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid_correction_check.js","sourceRoot":"","sources":["../../analysis/grid_correction_check.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"grid_correction_check.js","sourceRoot":"","sources":["../../analysis/grid_correction_check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tradingview_uplot_chart_generator.d.ts","sourceRoot":"","sources":["../../../analysis/tradingview/tradingview_uplot_chart_generator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAgCnD,iBAAS,kBAAkB,CAAC,QAAQ,GAAE,GAAyC,OAQ9E;AA2CD,QAAA,MAAM,4BAA4B,iCAAiC,CAAC;AACpE,QAAA,MAAM,oBAAoB,6BAA6B,CAAC;AAExD,iBAAS,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,UAO7D;AAGD,iBAAS,sBAAsB,CAAC,IAAI,GAAE,GAAQ,EAAE,mBAAmB,GAAE,GAAO,UAM3E;AAED,iBAAS,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAE,GAAkC,
|
|
1
|
+
{"version":3,"file":"tradingview_uplot_chart_generator.d.ts","sourceRoot":"","sources":["../../../analysis/tradingview/tradingview_uplot_chart_generator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAgCnD,iBAAS,kBAAkB,CAAC,QAAQ,GAAE,GAAyC,OAQ9E;AA2CD,QAAA,MAAM,4BAA4B,iCAAiC,CAAC;AACpE,QAAA,MAAM,oBAAoB,6BAA6B,CAAC;AAExD,iBAAS,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,UAO7D;AAGD,iBAAS,sBAAsB,CAAC,IAAI,GAAE,GAAQ,EAAE,mBAAmB,GAAE,GAAO,UAM3E;AAED,iBAAS,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAE,GAAkC,UAklGzE;AAED,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,CAAA"}
|
|
@@ -713,17 +713,20 @@ function generateHTML(data, title = 'TradingView Style Research') {
|
|
|
713
713
|
if (e.ctrlKey || e.metaKey || e.altKey) return;
|
|
714
714
|
e.preventDefault();
|
|
715
715
|
const rect = chart.root.getBoundingClientRect();
|
|
716
|
+
const pxRatio = chart.pxRatio || 1;
|
|
717
|
+
const bboxLeft = chart.bbox ? chart.bbox.left / pxRatio : 0;
|
|
718
|
+
const bboxTop = chart.bbox ? chart.bbox.top / pxRatio : 0;
|
|
716
719
|
// Shift+wheel scales price (cursor-anchored) anywhere over the
|
|
717
720
|
// price pane — same as wheeling over the price axis. Volume has
|
|
718
721
|
// no manual Y lock, so it keeps the timeframe zoom.
|
|
719
722
|
if (chart === priceChart && (e.shiftKey || inYAxisZone(chart, e.clientX))) {
|
|
720
|
-
const centerY = chart.posToVal(e.clientY - rect.top, 'y');
|
|
723
|
+
const centerY = chart.posToVal(e.clientY - rect.top - bboxTop, 'y');
|
|
721
724
|
const delta = e.deltaY !== 0 ? e.deltaY : e.deltaX;
|
|
722
725
|
zoomYAt(chart, centerY, delta < 0 ? 0.91 : 1.10);
|
|
723
726
|
return;
|
|
724
727
|
}
|
|
725
728
|
e.stopPropagation();
|
|
726
|
-
const left = e.clientX - rect.left -
|
|
729
|
+
const left = e.clientX - rect.left - bboxLeft;
|
|
727
730
|
const center = chart.posToVal(left, 'x');
|
|
728
731
|
const s = chart.scales.x || {};
|
|
729
732
|
const currMin = Number.isFinite(s.min) ? s.min : xMin;
|
|
@@ -780,6 +783,8 @@ function generateHTML(data, title = 'TradingView Style Research') {
|
|
|
780
783
|
let startMin = 0;
|
|
781
784
|
let startMax = 0;
|
|
782
785
|
let startYRange = null;
|
|
786
|
+
let startBboxLeft = 0;
|
|
787
|
+
let startBboxTop = 0;
|
|
783
788
|
let panRaf = 0;
|
|
784
789
|
let pendingPan = null;
|
|
785
790
|
const applyPendingPan = () => {
|
|
@@ -791,8 +796,12 @@ function generateHTML(data, title = 'TradingView Style Research') {
|
|
|
791
796
|
// move sets a manual Y range; double-click the price axis to
|
|
792
797
|
// return to autofit. Axis gutters never pan — they scale.
|
|
793
798
|
if (chart === priceChart && startYRange && Number.isFinite(p.clientY)) {
|
|
794
|
-
|
|
795
|
-
|
|
799
|
+
// Plot-relative coords: subtract the axis gutter offset
|
|
800
|
+
// (bbox) like bindWheelZoom. On linear scales the offset
|
|
801
|
+
// cancels in subtraction, but on log scale the ratio
|
|
802
|
+
// corrupts and vertical drag dies without it.
|
|
803
|
+
const vStart = chart.posToVal(p.startY - p.rectTop - p.bboxTop, 'y');
|
|
804
|
+
const vCur = chart.posToVal(p.clientY - p.rectTop - p.bboxTop, 'y');
|
|
796
805
|
if (Number.isFinite(vStart) && Number.isFinite(vCur) && vCur !== vStart) {
|
|
797
806
|
// Rigid move only: the span is locked by construction so a
|
|
798
807
|
// plot drag can never rescale — Y scaling happens solely
|
|
@@ -814,7 +823,7 @@ function generateHTML(data, title = 'TradingView Style Research') {
|
|
|
814
823
|
}
|
|
815
824
|
}
|
|
816
825
|
}
|
|
817
|
-
const delta = chart.posToVal(p.clientX - p.rectLeft, 'x') - chart.posToVal(p.startX - p.rectLeft, 'x');
|
|
826
|
+
const delta = chart.posToVal(p.clientX - p.rectLeft - p.bboxLeft, 'x') - chart.posToVal(p.startX - p.rectLeft - p.bboxLeft, 'x');
|
|
818
827
|
syncXRange(startMin - delta, startMax - delta);
|
|
819
828
|
};
|
|
820
829
|
const onMove = (e) => {
|
|
@@ -825,6 +834,7 @@ function generateHTML(data, title = 'TradingView Style Research') {
|
|
|
825
834
|
clientX: e.clientX, clientY: e.clientY,
|
|
826
835
|
startX: startClientX, startY: startClientY,
|
|
827
836
|
rectLeft: rect.left, rectTop: rect.top,
|
|
837
|
+
bboxLeft: startBboxLeft, bboxTop: startBboxTop,
|
|
828
838
|
};
|
|
829
839
|
if (!panRaf) panRaf = requestAnimationFrame(applyPendingPan);
|
|
830
840
|
};
|
|
@@ -849,6 +859,9 @@ function generateHTML(data, title = 'TradingView Style Research') {
|
|
|
849
859
|
dragging = true;
|
|
850
860
|
startClientX = e.clientX;
|
|
851
861
|
startClientY = e.clientY;
|
|
862
|
+
const startPxRatio = chart.pxRatio || 1;
|
|
863
|
+
startBboxLeft = chart.bbox ? chart.bbox.left / startPxRatio : 0;
|
|
864
|
+
startBboxTop = chart.bbox ? chart.bbox.top / startPxRatio : 0;
|
|
852
865
|
const s = chart.scales.x || {};
|
|
853
866
|
startMin = Number.isFinite(s.min) ? s.min : currentCandles[0].time;
|
|
854
867
|
startMax = Number.isFinite(s.max) ? s.max : currentCandles[currentCandles.length - 1].time;
|
|
@@ -2465,6 +2478,7 @@ function generateHTML(data, title = 'TradingView Style Research') {
|
|
|
2465
2478
|
if (!wrap) {
|
|
2466
2479
|
try { if (getComputedStyle(u.root).position === 'static') u.root.style.position = 'relative'; } catch (e) {}
|
|
2467
2480
|
wrap = document.createElement('div');
|
|
2481
|
+
wrap.className = 'um-wrap';
|
|
2468
2482
|
wrap.style.cssText = 'position:absolute;z-index:24;pointer-events:none;';
|
|
2469
2483
|
wrap.innerHTML =
|
|
2470
2484
|
'<div class="um-line" style="position:absolute;top:0;height:100%;width:0;border-left:2px dashed #22d3ee;opacity:0.75;"></div>' +
|