dexbot 1.6.4 → 1.6.5

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.
Files changed (126) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +12 -12
  3. package/analysis/README.md +8 -1
  4. package/analysis/ama_fitting/package.json +1 -1
  5. package/analysis/analyze_dynamic_weight.ts +9 -3
  6. package/analysis/tradingview/analyze_tradingview.ts +5 -0
  7. package/analysis/tradingview/tradingview_uplot_chart_generator.ts +2 -2
  8. package/analysis/trend_detection/DYNAMIC_WEIGHT_RESEARCH.md +35 -2
  9. package/analysis/trend_detection/dynamic_weight_chart_generator.ts +82 -10
  10. package/analysis/trend_detection/package.json +1 -1
  11. package/claw/modules/dexbot_profiles.ts +4 -3
  12. package/claw/package.json +1 -1
  13. package/claw/runtimes/openclaw-plugin/openclaw.plugin.json +1 -1
  14. package/claw/runtimes/openclaw-plugin/package.json +1 -1
  15. package/claw/tests/test_claw_mcp_transport.ts +2 -2
  16. package/claw/tests/test_dexbot_profiles.ts +18 -1
  17. package/dist/analysis/analyze_dynamic_weight.js +9 -3
  18. package/dist/analysis/analyze_dynamic_weight.js.map +1 -1
  19. package/dist/analysis/tradingview/analyze_tradingview.d.ts.map +1 -1
  20. package/dist/analysis/tradingview/analyze_tradingview.js +5 -0
  21. package/dist/analysis/tradingview/analyze_tradingview.js.map +1 -1
  22. package/dist/analysis/tradingview/tradingview_uplot_chart_generator.js +2 -2
  23. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.d.ts.map +1 -1
  24. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js +82 -10
  25. package/dist/analysis/trend_detection/dynamic_weight_chart_generator.js.map +1 -1
  26. package/dist/dexbot.d.ts.map +1 -1
  27. package/dist/dexbot.js +27 -68
  28. package/dist/dexbot.js.map +1 -1
  29. package/dist/market_adapter/core/asymmetric_bounds.d.ts +2 -2
  30. package/dist/market_adapter/core/asymmetric_bounds.d.ts.map +1 -1
  31. package/dist/market_adapter/core/asymmetric_bounds.js +15 -12
  32. package/dist/market_adapter/core/asymmetric_bounds.js.map +1 -1
  33. package/dist/market_adapter/interval_utils.d.ts +1 -1
  34. package/dist/market_adapter/interval_utils.js +1 -1
  35. package/dist/modules/account_bots.d.ts +55 -5
  36. package/dist/modules/account_bots.d.ts.map +1 -1
  37. package/dist/modules/account_bots.js +258 -117
  38. package/dist/modules/account_bots.js.map +1 -1
  39. package/dist/modules/bot_defaults.d.ts +98 -0
  40. package/dist/modules/bot_defaults.d.ts.map +1 -0
  41. package/dist/modules/bot_defaults.js +169 -0
  42. package/dist/modules/bot_defaults.js.map +1 -0
  43. package/dist/modules/bot_settings.d.ts.map +1 -1
  44. package/dist/modules/bot_settings.js +4 -1
  45. package/dist/modules/bot_settings.js.map +1 -1
  46. package/dist/modules/config.d.ts +1 -0
  47. package/dist/modules/config.d.ts.map +1 -1
  48. package/dist/modules/config.js +1 -0
  49. package/dist/modules/config.js.map +1 -1
  50. package/dist/modules/constants.d.ts +11 -2
  51. package/dist/modules/constants.d.ts.map +1 -1
  52. package/dist/modules/constants.js +40 -27
  53. package/dist/modules/constants.js.map +1 -1
  54. package/dist/modules/dexbot_maintenance_runtime.d.ts +1 -1
  55. package/dist/modules/dexbot_maintenance_runtime.d.ts.map +1 -1
  56. package/dist/modules/dexbot_maintenance_runtime.js +9 -4
  57. package/dist/modules/dexbot_maintenance_runtime.js.map +1 -1
  58. package/dist/modules/launcher/adapter_requirement.js +1 -1
  59. package/dist/modules/launcher/launch_modes.d.ts +17 -1
  60. package/dist/modules/launcher/launch_modes.d.ts.map +1 -1
  61. package/dist/modules/launcher/launch_modes.js +18 -1
  62. package/dist/modules/launcher/launch_modes.js.map +1 -1
  63. package/dist/modules/launcher/monolithic_runtime.d.ts.map +1 -1
  64. package/dist/modules/launcher/monolithic_runtime.js +8 -1
  65. package/dist/modules/launcher/monolithic_runtime.js.map +1 -1
  66. package/dist/modules/market_adapter_whitelist.d.ts +40 -1
  67. package/dist/modules/market_adapter_whitelist.d.ts.map +1 -1
  68. package/dist/modules/market_adapter_whitelist.js +161 -11
  69. package/dist/modules/market_adapter_whitelist.js.map +1 -1
  70. package/dist/modules/order/grid.d.ts +9 -0
  71. package/dist/modules/order/grid.d.ts.map +1 -1
  72. package/dist/modules/order/grid.js +23 -5
  73. package/dist/modules/order/grid.js.map +1 -1
  74. package/dist/modules/order/manager.js +3 -2
  75. package/dist/modules/order/manager.js.map +1 -1
  76. package/dist/modules/order/utils/system.d.ts +5 -1
  77. package/dist/modules/order/utils/system.d.ts.map +1 -1
  78. package/dist/modules/order/utils/system.js +5 -2
  79. package/dist/modules/order/utils/system.js.map +1 -1
  80. package/dist/modules/settings_merge.d.ts +10 -1
  81. package/dist/modules/settings_merge.d.ts.map +1 -1
  82. package/dist/modules/settings_merge.js +27 -17
  83. package/dist/modules/settings_merge.js.map +1 -1
  84. package/dist/modules/validate_profiles.d.ts.map +1 -1
  85. package/dist/modules/validate_profiles.js +4 -3
  86. package/dist/modules/validate_profiles.js.map +1 -1
  87. package/dist/scripts/chart_command.d.ts +48 -0
  88. package/dist/scripts/chart_command.d.ts.map +1 -0
  89. package/dist/scripts/chart_command.js +504 -0
  90. package/dist/scripts/chart_command.js.map +1 -0
  91. package/dist/scripts/dw.d.ts +3 -0
  92. package/dist/scripts/dw.d.ts.map +1 -0
  93. package/dist/scripts/dw.js +30 -0
  94. package/dist/scripts/dw.js.map +1 -0
  95. package/dist/scripts/tv.d.ts +1 -31
  96. package/dist/scripts/tv.d.ts.map +1 -1
  97. package/dist/scripts/tv.js +10 -463
  98. package/dist/scripts/tv.js.map +1 -1
  99. package/dist/scripts/update.js +99 -62
  100. package/dist/scripts/update.js.map +1 -1
  101. package/dist/scripts/update_dist_freshness.d.ts +46 -0
  102. package/dist/scripts/update_dist_freshness.d.ts.map +1 -0
  103. package/dist/scripts/update_dist_freshness.js +115 -0
  104. package/dist/scripts/update_dist_freshness.js.map +1 -0
  105. package/dist/unlock.js +1 -1
  106. package/dist/unlock.js.map +1 -1
  107. package/docs/BITSHARES_ONBOARDING.md +10 -7
  108. package/docs/DEXBOT_COMPARISON.md +3 -3
  109. package/docs/EVOLUTION.md +8 -7
  110. package/docs/FUND_MOVEMENT_AND_ACCOUNTING.md +4 -4
  111. package/docs/GRID_RECALCULATION.md +20 -24
  112. package/docs/GRID_RECONCILE.md +2 -2
  113. package/docs/LOGGING.md +1 -0
  114. package/docs/README.md +16 -16
  115. package/docs/WORKFLOW.md +1 -2
  116. package/docs/architecture.md +2 -2
  117. package/docs/developer_guide.md +1 -0
  118. package/market_adapter/README.md +36 -60
  119. package/modules/README.md +2 -1
  120. package/package.json +1 -2
  121. package/scripts/README.md +18 -25
  122. package/scripts/reset-settings.sh +1 -1
  123. package/dist/scripts/generate_market_adapter_whitelist.d.ts +0 -15
  124. package/dist/scripts/generate_market_adapter_whitelist.d.ts.map +0 -1
  125. package/dist/scripts/generate_market_adapter_whitelist.js +0 -191
  126. package/dist/scripts/generate_market_adapter_whitelist.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trend-detection",
3
- "version": "1.6.4",
3
+ "version": "1.6.5",
4
4
  "description": "Kalman filter trend detection with tactical/modal state tracking",
5
5
  "main": "../../dist/analysis/trend_detection/kalman_trend_analyzer.js",
6
6
  "scripts": {
@@ -7,7 +7,7 @@ import { Config } from '../../modules/config.js';
7
7
  import { PATHS } from '../../modules/paths.js';
8
8
  import { writeJsonFileAtomic as baseWriteJsonFileAtomic } from '../../modules/bots_file_lock.js';
9
9
  import { acquireFileLock } from '../../market_adapter/utils/file_lock.js';
10
- import { assertNoDuplicateBotKeys } from '../../modules/bot_settings.js';
10
+ import { assertNoDuplicateBotKeys, normalizeBotEntry } from '../../modules/bot_settings.js';
11
11
  import { BOT_LIVE_CONFIG_KEYS } from '../../modules/runtime_settings.js';
12
12
  import { clone } from './utils.js';
13
13
  import { createBotKey, sanitizeKey } from '../../modules/account_orders.js';
@@ -682,8 +682,9 @@ async function normalizeBotEntries(rawEntries: Record<string, any>[], options: P
682
682
  if (logger) {
683
683
  validateBotEntry(entry, index, logger);
684
684
  }
685
- const normalized = { ...entry, active: entry.active === undefined ? true : !!entry.active };
686
- results.push({ ...normalized, botIndex: index, botKey: createBotKey(normalized, index) });
685
+ // Shared seeder semantics with modules/bot_settings.normalizeBotEntry:
686
+ // missing active → DEFAULT_CONFIG.active, present values pass through raw.
687
+ results.push(normalizeBotEntry(entry, index));
687
688
  }
688
689
  return results;
689
690
  }
package/claw/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dexbot2-claw",
3
- "version": "1.6.4",
3
+ "version": "1.6.5",
4
4
  "private": true,
5
5
  "description": "Claw bridge and runtime integration layer for BitShares and DEXBot2.",
6
6
  "type": "module",
@@ -2,7 +2,7 @@
2
2
  "id": "bitshares-claw",
3
3
  "name": "BitShares Claw",
4
4
  "description": "Native BitShares and DEXBot2 tools from the DEXBot2 claw integration",
5
- "version": "1.6.4",
5
+ "version": "1.6.5",
6
6
  "skills": [
7
7
  "skills"
8
8
  ],
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bitshares-claw-openclaw-plugin",
3
3
  "private": true,
4
- "version": "1.6.4",
4
+ "version": "1.6.5",
5
5
  "type": "module",
6
6
  "main": "index.js"
7
7
  }
@@ -30,7 +30,7 @@ async function testParserAcceptsJsonlAcrossChunksAndSingleBuffer() {
30
30
  capabilities: {},
31
31
  clientInfo: {
32
32
  name: 'claw-mcp-transport-test',
33
- version: '1.6.4'
33
+ version: '1.6.5'
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.4'
190
+ version: '1.6.5'
191
191
  },
192
192
  protocolVersion: '2024-11-05'
193
193
  }
@@ -4,7 +4,7 @@ const assert = require('assert');
4
4
  const fs = require('fs/promises');
5
5
  const os = require('os');
6
6
  const path = require('path');
7
- const { GRID_LIMITS } = require('../../modules/constants');
7
+ const { GRID_LIMITS, DEFAULT_CONFIG } = require('../../modules/constants');
8
8
 
9
9
  const {
10
10
  createBotKey,
@@ -608,8 +608,25 @@ async function testGeometryPatchKeepsTriggerByDefault() {
608
608
  await fs.access(result.triggerPath);
609
609
  }
610
610
 
611
+ async function testNormalizeBotEntriesDelegatesToSharedSeeder() {
612
+ console.log(' - Testing normalizeBotEntries delegates to shared bot defaults...');
613
+ const entries = await normalizeBotEntries([
614
+ { name: 'missing-active' },
615
+ { name: 'null-active', active: null },
616
+ { name: 'false-active', active: false },
617
+ ]);
618
+ assert.strictEqual(entries[0].active, DEFAULT_CONFIG.active,
619
+ 'missing active → DEFAULT_CONFIG.active (shared seeder, was hardcoded true)');
620
+ assert.strictEqual(entries[1].active, null,
621
+ 'present null passes through raw (claw used to coerce to false — unified in Phase 3)');
622
+ assert.strictEqual(entries[2].active, false, 'active:false preserved');
623
+ assert.strictEqual(entries[0].botIndex, 0, 'index stamped');
624
+ assert.ok(entries[0].botKey, 'botKey generated');
625
+ }
626
+
611
627
  async function main() {
612
628
  await testNormalizeAcceptsAssetIdAliases();
629
+ await testNormalizeBotEntriesDelegatesToSharedSeeder();
613
630
  testCreateBotKeyFallsBackToAssetIds();
614
631
  await testMatchBotIdentifierHandlesIdOnlyBots();
615
632
  await testAtomicWriteFailsFastWhenLockCannotBeAcquired();
@@ -20,7 +20,7 @@ import { calculateAMA } from '../market_adapter/core/strategies/ama.js';
20
20
  import { computeAmaSlopeWeights, createAmaSlopeClipTracker } from '../market_adapter/core/strategies/ama_slope_model.js';
21
21
  import { MARKET_ADAPTER } from '../modules/constants.js';
22
22
  import { PATHS } from '../modules/paths.js';
23
- import { writeChartFile } from './chart_utils.js';
23
+ import { writeChartFile, toFileUrl } from './chart_utils.js';
24
24
  import { getCandleClose } from './math_utils.js';
25
25
  import { resolveSource, listAvailableBots } from './resolve_source.js';
26
26
  // AMA Slope weight calculation config — use DEFAULTS from market adapter
@@ -48,6 +48,7 @@ function parseArgs() {
48
48
  const config = {
49
49
  source: { type: 'market_adapter', config: { botKey: '' } },
50
50
  chartFile: path.join(PATHS.ANALYSIS.CHARTS_DIR, 'dynamic_weight_chart.html'),
51
+ title: null,
51
52
  alpha: MARKET_ADAPTER.DYNAMIC_WEIGHT_ALPHA,
52
53
  gain: MARKET_ADAPTER.DYNAMIC_WEIGHT_GAIN,
53
54
  dispWeight: MARKET_ADAPTER.DYNAMIC_WEIGHT_DW,
@@ -67,6 +68,8 @@ function parseArgs() {
67
68
  }
68
69
  else if (arg === '--chart')
69
70
  config.chartFile = args[++i];
71
+ else if (arg === '--title')
72
+ config.title = args[++i] ?? null;
70
73
  else if (arg === '--alpha')
71
74
  config.alpha = parseFloat(args[++i]);
72
75
  else if (arg === '--gain')
@@ -75,6 +78,8 @@ function parseArgs() {
75
78
  config.dispWeight = parseFloat(args[++i]);
76
79
  else if (arg === '--lb')
77
80
  config.lookbackBars = parseInt(args[++i], 10);
81
+ else if (arg === '--ema')
82
+ config.amaEmaSpan = parseInt(args[++i], 10);
78
83
  else if (arg === '--clip')
79
84
  config.clipPct = parseFloat(args[++i]);
80
85
  else if (arg === '--list-bots')
@@ -177,6 +182,7 @@ async function main() {
177
182
  ...AMA_WEIGHT_CONFIG,
178
183
  lookbackBars: config.lookbackBars ?? AMA_WEIGHT_CONFIG.lookbackBars,
179
184
  },
185
+ amaEmaSpan: config.amaEmaSpan,
180
186
  alpha: config.alpha,
181
187
  gain: config.gain,
182
188
  dispWeight: config.dispWeight,
@@ -199,10 +205,10 @@ async function main() {
199
205
  amaNeutralZonePct: MARKET_ADAPTER.DYNAMIC_WEIGHT_AMA_NEUTRAL_ZONE_PCT,
200
206
  dispScaleMinPct: MARKET_ADAPTER.DYNAMIC_WEIGHT_DISP_SCALE_MIN_PCT,
201
207
  },
202
- }, 'Dynamic Weight Research Tool');
208
+ }, config.title || 'Dynamic Weight Research Tool');
203
209
  writeChartFile(config.chartFile, html);
204
210
  if (!config.quiet)
205
- console.log(`[DynamicWeight] ✓ Chart saved to ${config.chartFile}`);
211
+ console.log(`\n[DynamicWeight] ✓ Chart saved. Open chart: (${toFileUrl(config.chartFile)})`);
206
212
  }
207
213
  catch (err) {
208
214
  console.error(`[DynamicWeight] Error: ${err?.message ?? err}`);
@@ -1 +1 @@
1
- {"version":3,"file":"analyze_dynamic_weight.js","sourceRoot":"","sources":["../../analysis/analyze_dynamic_weight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze_dynamic_weight.js","sourceRoot":"","sources":["../../analysis/analyze_dynamic_weight.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"analyze_tradingview.d.ts","sourceRoot":"","sources":["../../../analysis/tradingview/analyze_tradingview.ts"],"names":[],"mappings":";AAsBA,iBAAS,SAAS;YAGF;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,GAAG,CAAC;YAAC,MAAM,CAAC,EAAE,GAAG,CAAA;SAAE,CAAA;KAAE;eACtD,MAAM;WACV,MAAM,GAAG,IAAI;gBACR,MAAM;eACP,MAAM;iBACJ,MAAM,GAAG,SAAS;mBAChB,MAAM,GAAG,SAAS;mBAClB,MAAM,GAAG,SAAS;gBACrB,OAAO;gBACP,OAAO;iBACN,OAAO;cACV,MAAM;kBACF,OAAO;uBACF,OAAO;eACf,MAAM,GAAG,SAAS;gBACjB,MAAM,GAAG,IAAI;cACf,OAAO;oBACD,OAAO;uBACJ,MAAM,GAAG,IAAI;yBACX,MAAM,GAAG,IAAI;WAC3B,OAAO;cACJ,OAAO;EA2DxB;AAED,iBAAS,YAAY,CAAC,QAAQ,EAAE,GAAG;;;EAGlC;AAyDD,iBAAS,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,UAQ9C;AAED,iBAAe,IAAI,kBA6FlB;AAID,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"analyze_tradingview.d.ts","sourceRoot":"","sources":["../../../analysis/tradingview/analyze_tradingview.ts"],"names":[],"mappings":";AAsBA,iBAAS,SAAS;YAGF;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,GAAG,CAAC;YAAC,MAAM,CAAC,EAAE,GAAG,CAAA;SAAE,CAAA;KAAE;eACtD,MAAM;WACV,MAAM,GAAG,IAAI;gBACR,MAAM;eACP,MAAM;iBACJ,MAAM,GAAG,SAAS;mBAChB,MAAM,GAAG,SAAS;mBAClB,MAAM,GAAG,SAAS;gBACrB,OAAO;gBACP,OAAO;iBACN,OAAO;cACV,MAAM;kBACF,OAAO;uBACF,OAAO;eACf,MAAM,GAAG,SAAS;gBACjB,MAAM,GAAG,IAAI;cACf,OAAO;oBACD,OAAO;uBACJ,MAAM,GAAG,IAAI;yBACX,MAAM,GAAG,IAAI;WAC3B,OAAO;cACJ,OAAO;EA2DxB;AAED,iBAAS,YAAY,CAAC,QAAQ,EAAE,GAAG;;;EAGlC;AAyDD,iBAAS,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,UAQ9C;AAED,iBAAe,IAAI,kBAkGlB;AAID,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA"}
@@ -242,6 +242,11 @@ async function main() {
242
242
  },
243
243
  smaPeriod: config.smaPeriod,
244
244
  amaDefaults: {
245
+ // Intentionally the 3-param AMA (er/fast/slow) only: the in-page
246
+ // recomputation has no erSmoothPeriod input by decision — `dexbot tv`
247
+ // stays a plain candle chart. The dw research chart and the live
248
+ // adapter are the mirrors of the full bot AMA config (incl.
249
+ // ama.erSmoothPeriod); the knob is inert by default (global 0).
245
250
  erPeriod: config.amaErPeriod ?? amaConfig.erPeriod,
246
251
  fastPeriod: config.amaFastPeriod ?? amaConfig.fastPeriod,
247
252
  slowPeriod: config.amaSlowPeriod ?? amaConfig.slowPeriod,
@@ -1 +1 @@
1
- {"version":3,"file":"analyze_tradingview.js","sourceRoot":"","sources":["../../../analysis/tradingview/analyze_tradingview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze_tradingview.js","sourceRoot":"","sources":["../../../analysis/tradingview/analyze_tradingview.ts"],"names":[],"mappings":"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"}
@@ -1461,7 +1461,7 @@ function generateHTML(data, title = 'TradingView Style Research') {
1461
1461
  const maxSlopeOffset = Number(slopeCfg.maxSlopeOffset) > 0 ? Number(slopeCfg.maxSlopeOffset) : 0.5;
1462
1462
  const maxAsym = gridCfg && Number(gridCfg.maxAsymmetryFactor) > 0
1463
1463
  ? Number(gridCfg.maxAsymmetryFactor)
1464
- : (Number(slopeCfg.maxAsymmetryFactor) > 0 ? Number(slopeCfg.maxAsymmetryFactor) : 0.35);
1464
+ : (Number(slopeCfg.maxAsymmetryFactor) > 0 ? Number(slopeCfg.maxAsymmetryFactor) : 0.333);
1465
1465
  const inc = gridCfg && Number(gridCfg.incrementPercent) > 0 ? Number(gridCfg.incrementPercent) : null;
1466
1466
  const minSlots = Math.floor(Number(gridCfg && gridCfg.minScaleSlots) > 0 ? Number(gridCfg.minScaleSlots) : (Number(slopeCfg.minScaleSlots) || 0));
1467
1467
  // User x-range span (slider 1.2x–2.0x, default 1.55x): the only
@@ -3058,7 +3058,7 @@ function generateHTML(data, title = 'TradingView Style Research') {
3058
3058
  }
3059
3059
  makeStepper('sma-period', 1, 1, 0);
3060
3060
  makeStepper('vwap-bars', 1, 24, 0);
3061
- makeStepper('ama-er', 1, 1, 0);
3061
+ makeStepper('ama-er', 10, 1, 0);
3062
3062
  makeStepper('ama-fast', 0.1, 0.1, 1);
3063
3063
  makeStepper('ama-slow', 1, 0.1, 1);
3064
3064
  document.getElementById('ama-init-offset').addEventListener('input', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic_weight_chart_generator.d.ts","sourceRoot":"","sources":["../../../analysis/trend_detection/dynamic_weight_chart_generator.ts"],"names":[],"mappings":"AA+BA,iBAAS,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,SAA4B,UA81CjE;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"dynamic_weight_chart_generator.d.ts","sourceRoot":"","sources":["../../../analysis/trend_detection/dynamic_weight_chart_generator.ts"],"names":[],"mappings":"AA+BA,iBAAS,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,SAA4B,UAs6CjE;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
@@ -32,6 +32,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
32
32
  const AMA_MS_MIN = 0.06, AMA_MS_MAX = 0.12;
33
33
  const KAL_MS_MIN = 0.5, KAL_MS_MAX = 1.5;
34
34
  const CLIP_PCT_MAX = 20;
35
+ const EMA_MIN = 0, EMA_MAX = 32;
35
36
  const TH_MIN = 0, TH_MAX = 0.5;
36
37
  const KF_MIN = 0, KF_MAX = 200;
37
38
  const KFD_MIN = 1.0, KFD_MAX = 3.0;
@@ -45,6 +46,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
45
46
  dispWeight: [0, 1],
46
47
  neutralZonePct: [0, 1],
47
48
  lookbackBars: [LB_MIN, LB_MAX],
49
+ amaEmaSpan: [EMA_MIN, EMA_MAX],
48
50
  amaMaxSlopePct: [AMA_MS_MIN, AMA_MS_MAX],
49
51
  kalmanMaxSlopePct: [KAL_MS_MIN, KAL_MS_MAX],
50
52
  clipPct: [0, CLIP_PCT_MAX],
@@ -104,6 +106,10 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
104
106
  const defaultKalmanDispThresholdMult = data.kalmanDispThresholdMult ?? MARKET_ADAPTER.DYNAMIC_WEIGHT_KALMAN_DISP_THRESHOLD_MULT_DEFAULT;
105
107
  const defaultKalmanSmoothSpanPct = data.kalmanSmoothSpanPct ?? MARKET_ADAPTER.DYNAMIC_WEIGHT_KALMAN_SMOOTH_SPAN_PCT_DEFAULT;
106
108
  const defaultSignalConfirmBars = data.signalConfirmBars ?? MARKET_ADAPTER.DYNAMIC_WEIGHT_SIGNAL_CONFIRM_BARS_DEFAULT;
109
+ // Research-only `ema` knob: EMA span in bars over the AMA input before the
110
+ // slope is taken. 0 (default) = off, keeps the raw AMA input.
111
+ const defaultAmaEmaSpanRaw = data.amaEmaSpan ?? ma.amaEmaSpan ?? 0;
112
+ const defaultAmaEmaSpan = Math.round(Math.min(EMA_MAX, Math.max(EMA_MIN, Number.isFinite(defaultAmaEmaSpanRaw) ? defaultAmaEmaSpanRaw : EMA_MIN)));
107
113
  const regimeInitSlider = Math.round(defaultRegimeSensitivity * 100);
108
114
  const interval = results.length > 1 ?
109
115
  (new Date(results[1].timestamp).getTime() - new Date(results[0].timestamp).getTime()) / 1000 : 3600;
@@ -218,7 +224,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
218
224
  .legend-item { gap: 3px; }
219
225
  .legend-val { font-family: monospace; display: inline-block; text-align: right; min-width: 45px; }
220
226
  #l-price, #l-ama3 { min-width: 62px; }
221
- #l-ama-slope, #l-kal-vel, #l-kal-disp { min-width: 54px; }
227
+ #l-ama-slope, #l-ama-slope-raw, #l-kal-vel, #l-kal-disp { min-width: 54px; }
222
228
  #l-signal, #l-signal-latched { min-width: 70px; text-align: left; }
223
229
  #l-combined-raw, #l-combined-echo { min-width: 42px; }
224
230
  #l-mult { min-width: 38px; }
@@ -263,6 +269,9 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
263
269
  .ctrl.lb label { min-width: 20px; }
264
270
  .ctrl.lb input[type="range"] { accent-color: #39d0d8; width: 80px; }
265
271
  .ctrl.lb .val { color: #39d0d8; }
272
+ .ctrl.ema label { min-width: 20px; }
273
+ .ctrl.ema input[type="range"] { accent-color: #f0a000; width: 80px; }
274
+ .ctrl.ema .val { color: #f0a000; }
266
275
  .ctrl.off input[type="range"] { accent-color: #3fb950; }
267
276
  .ctrl.off .val { color: #3fb950; }
268
277
  .ctrl.nz input[type="range"] { accent-color: #8b949e; }
@@ -308,6 +317,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
308
317
  <div class="section-label">AMA SLOPE INPUT</div>
309
318
  <div class="legend">
310
319
  <div class="legend-item"><div class="dot" style="background:#f0a000;"></div>Slope‰: <span id="l-ama-slope" class="legend-val" style="font-weight:bold;">-</span></div>
320
+ <div class="legend-item"><div class="dot" style="background:#8b949e;"></div>Raw‰: <span id="l-ama-slope-raw" class="legend-val">-</span></div>
311
321
  </div>
312
322
  <div id="ama-chart"></div>
313
323
  </div>
@@ -338,6 +348,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
338
348
  <div class="group-sep"></div>
339
349
  <div class="ctrl nz"><label for="nz-slider">nz%</label><input type="range" id="nz-slider" min="0" max="100" value="${Math.round(defaultNeutralZone * 100)}" title="Neutral Zone %"><span class="val" id="nz-value">${defaultNeutralZone.toFixed(2)}</span></div>
340
350
  <div class="ctrl lb"><label for="lb-slider">lb</label><input type="range" id="lb-slider" min="0" max="1000" value="${lbInitSlider}" title="Lookback Bars (${LB_MIN}-${LB_MAX})"><span class="val" id="lb-value">${lookbackBars}</span></div>
351
+ <div class="ctrl ema"><label for="ema-slider">ema</label><input type="range" id="ema-slider" min="${EMA_MIN}" max="${EMA_MAX}" value="${defaultAmaEmaSpan}" title="AMA input EMA span in bars (${EMA_MIN} = off; noise std ~ 1/sqrt(span), lag ~ (span-1)/2 bars; span ~ lb is the balance point)"><span class="val" id="ema-value">${defaultAmaEmaSpan}</span></div>
341
352
  <div class="ctrl ms-ama"><label for="ama-ms-slider">amaS%</label><input type="range" id="ama-ms-slider" min="0" max="1000" value="${amaMsInitSlider}" title="AMA Max Slope % per bar (${AMA_MS_MIN}-${AMA_MS_MAX})"><span class="val" id="ama-ms-value">${defaultAmaMaxSlopePct.toFixed(4)}</span></div>
342
353
  <div class="ctrl clip"><label for="clip-slider">clip%</label><input type="range" id="clip-slider" min="0" max="${CLIP_PCT_MAX}" value="${Math.min(defaultClipPct, CLIP_PCT_MAX)}" title="Outlier Clip %"><span class="val" id="clip-value">${Math.min(defaultClipPct, CLIP_PCT_MAX)}%</span></div>
343
354
 
@@ -371,7 +382,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
371
382
  </div>
372
383
  </div>
373
384
 
374
- <script id="payload" type="application/json">${serializeJsonForScript({ dates, prices, hurstArr, peArr, hurstSegments, peSegments, ama3Prices, amaSeedSmaLine, amaSlopePct, kalmanVelocityPctRaw, kalmanVelocityPct, kalmanDisplacementPct, kalmanIsReady, signals, alpha: defaultAlpha, gain: defaultGain, kalmanSmoothPct: defaultKalmanSmoothPct, kalmanDispScaleMult: defaultKalmanDispScaleMult, kalmanDispThresholdMult: defaultKalmanDispThresholdMult, kalmanSmoothSpanPct: defaultKalmanSmoothSpanPct, signalConfirmBars: defaultSignalConfirmBars, neutralZonePct: defaultNeutralZone, dispWeight: defaultDispWeight, amaMaxSlopePct: defaultAmaMaxSlopePct, kalmanMaxSlopePct: defaultKalmanMaxSlopePct, maxDispPct, clipPct: defaultClipPct, minOutputThreshold: defaultMinOutputThreshold, outputClamp: defaultOutputClamp, regimeSensitivity: defaultRegimeSensitivity, absoluteThreshold: defaultAbsoluteThreshold, lookbackBars, amaErPeriod, amaSlowPeriod, amaWarmupBars, amaSlopeReadyBars, realBarCount, amaPctMax, kalPctMax, amaPercentiles, kalPercentiles, amaSlopeLogMin: AMA_MS_LOG_MIN_N, amaSlopeLogMax: AMA_MS_LOG_MAX_N, kalSlopeLogMin: KAL_MS_LOG_MIN_N, kalSlopeLogMax: KAL_MS_LOG_MAX_N, lbLogMin: LB_LOG_MIN_N, lbLogMax: LB_LOG_MAX_N, gainLogMin: GAIN_LOG_MIN_N, gainLogMax: GAIN_LOG_MAX_N, sliderRanges: SLIDER_RANGES, dispScaleMinPct: defaultDispScaleMinPct, weightMin: MARKET_ADAPTER.DYNAMIC_WEIGHT_MIN_WEIGHT, weightMax: MARKET_ADAPTER.DYNAMIC_WEIGHT_MAX_WEIGHT, marketAdapter: ma, amaWeightConfig, hNodes: [0.5 + MARKET_ADAPTER.HURST_ZONE_BAND, 0.5, 0.5 - MARKET_ADAPTER.HURST_ZONE_BAND], pNodes: MARKET_ADAPTER.PE_NODES, regimeTable: MARKET_ADAPTER.REGIME_TABLE })}</script>
385
+ <script id="payload" type="application/json">${serializeJsonForScript({ dates, prices, hurstArr, peArr, hurstSegments, peSegments, ama3Prices, amaSeedSmaLine, amaSlopePct, kalmanVelocityPctRaw, kalmanVelocityPct, kalmanDisplacementPct, kalmanIsReady, signals, alpha: defaultAlpha, gain: defaultGain, kalmanSmoothPct: defaultKalmanSmoothPct, kalmanDispScaleMult: defaultKalmanDispScaleMult, kalmanDispThresholdMult: defaultKalmanDispThresholdMult, kalmanSmoothSpanPct: defaultKalmanSmoothSpanPct, signalConfirmBars: defaultSignalConfirmBars, neutralZonePct: defaultNeutralZone, dispWeight: defaultDispWeight, amaMaxSlopePct: defaultAmaMaxSlopePct, kalmanMaxSlopePct: defaultKalmanMaxSlopePct, maxDispPct, clipPct: defaultClipPct, minOutputThreshold: defaultMinOutputThreshold, outputClamp: defaultOutputClamp, regimeSensitivity: defaultRegimeSensitivity, absoluteThreshold: defaultAbsoluteThreshold, lookbackBars, amaErPeriod, amaSlowPeriod, amaWarmupBars, amaSlopeReadyBars, realBarCount, amaPctMax, kalPctMax, amaPercentiles, kalPercentiles, amaSlopeLogMin: AMA_MS_LOG_MIN_N, amaSlopeLogMax: AMA_MS_LOG_MAX_N, kalSlopeLogMin: KAL_MS_LOG_MIN_N, kalSlopeLogMax: KAL_MS_LOG_MAX_N, lbLogMin: LB_LOG_MIN_N, lbLogMax: LB_LOG_MAX_N, amaEmaSpan: defaultAmaEmaSpan, gainLogMin: GAIN_LOG_MIN_N, gainLogMax: GAIN_LOG_MAX_N, sliderRanges: SLIDER_RANGES, dispScaleMinPct: defaultDispScaleMinPct, weightMin: MARKET_ADAPTER.DYNAMIC_WEIGHT_MIN_WEIGHT, weightMax: MARKET_ADAPTER.DYNAMIC_WEIGHT_MAX_WEIGHT, marketAdapter: ma, amaWeightConfig, hNodes: [0.5 + MARKET_ADAPTER.HURST_ZONE_BAND, 0.5, 0.5 - MARKET_ADAPTER.HURST_ZONE_BAND], pNodes: MARKET_ADAPTER.PE_NODES, regimeTable: MARKET_ADAPTER.REGIME_TABLE })}</script>
375
386
 
376
387
  <script>
377
388
  const data = JSON.parse(document.getElementById('payload').textContent);
@@ -413,6 +424,8 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
413
424
  const kalMsSliderToVal = (pos) => Math.exp(KAL_MS_LOG_MIN + (pos / 1000) * (KAL_MS_LOG_MAX - KAL_MS_LOG_MIN));
414
425
 
415
426
  let currentLookbackBars = data.lookbackBars ?? ${JSON.stringify(lookbackBars)};
427
+ let currentAmaEmaSpan = Math.max(SR.amaEmaSpan[0], Math.min(SR.amaEmaSpan[1], Math.round(data.amaEmaSpan ?? 0)));
428
+ let currentAmaSource = data.ama3Prices;
416
429
  const LB_LOG_MIN = data.lbLogMin;
417
430
  const LB_LOG_MAX = data.lbLogMax;
418
431
  const lbSliderToVal = (pos) => Math.round(Math.exp(LB_LOG_MIN + (pos / 1000) * (LB_LOG_MAX - LB_LOG_MIN)));
@@ -451,6 +464,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
451
464
  const currentLatchedSignals = new Array(data.dates.length).fill(null);
452
465
  const dynamicAmaOff = new Array(data.dates.length).fill(null);
453
466
  const dynamicAmaSlopePct = new Array(data.dates.length).fill(null);
467
+ const dynamicAmaSlopePctRaw = new Array(data.dates.length).fill(null);
454
468
  const dynamicKalOff = new Array(data.dates.length).fill(null);
455
469
  const combinedOff = new Array(data.dates.length).fill(null);
456
470
  const combinedSell = new Array(data.dates.length).fill(null);
@@ -565,9 +579,40 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
565
579
  }
566
580
  }
567
581
 
568
- function computeSlopeAtIndex(idx, lb) {
582
+ /**
583
+ * Research-only ema knob — EMA low-pass over the AMA input before the
584
+ * slope is taken (EMA-then-difference == difference-then-EMA, both are
585
+ * linear filters). span bars, alpha = 2/(span+1): noise std shrinks ~
586
+ * 1/sqrt(span), lag grows ~ (span-1)/2 bars. Seeded with an SMA over the
587
+ * first 'span' finite values (mirrors the AMA seed SMA) so the transient
588
+ * is gone before any slope bar can go ready. Nulls (warmup / trailing
589
+ * padding) stay null so no fabricated values reach the clip-percentile
590
+ * pool or the offset pipeline. span <= 0 returns the input untouched.
591
+ */
592
+ function buildEmaSeries(values, span) {
593
+ if (!(span > 0) || !Array.isArray(values)) return values;
594
+ const n = values.length;
595
+ const out = new Array(n);
596
+ const alpha = 2 / (span + 1);
597
+ let seedSum = 0, seedCount = 0;
598
+ for (let i = 0; i < n && seedCount < span; i++) {
599
+ const v = values[i];
600
+ if (v == null || !Number.isFinite(v)) continue;
601
+ seedSum += v; seedCount++;
602
+ }
603
+ let prev = seedCount > 0 ? seedSum / seedCount : null;
604
+ for (let i = 0; i < n; i++) {
605
+ const v = values[i];
606
+ if (v == null || !Number.isFinite(v)) { out[i] = null; continue; }
607
+ prev = prev == null ? v : alpha * v + (1 - alpha) * prev;
608
+ out[i] = prev;
609
+ }
610
+ return out;
611
+ }
612
+
613
+ function computeSlopeAtIndex(idx, lb, values) {
569
614
  // Canonical AMA slope % (computeAverageAmaSlopePct injected above).
570
- const sp = computeAverageAmaSlopePct(data.ama3Prices[idx], data.ama3Prices[idx - lb], lb);
615
+ const sp = computeAverageAmaSlopePct(values[idx], values[idx - lb], lb);
571
616
  return sp == null ? 0 : sp;
572
617
  }
573
618
 
@@ -575,6 +620,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
575
620
  recalcKalmanVelocity();
576
621
  recalcKalmanClipThreshold();
577
622
  recalcLatchedSignals();
623
+ currentAmaSource = buildEmaSeries(data.ama3Prices, currentAmaEmaSpan);
578
624
  const lb = currentLookbackBars;
579
625
  const amaErWarmup = Math.max(0, Number.isFinite(data.amaErPeriod) ? Math.ceil(data.amaErPeriod) : ${JSON.stringify(MARKET_ADAPTER.AMAS[MARKET_ADAPTER.DEFAULT_AMA_KEY].erPeriod)});
580
626
  const amaReadyBar = Math.max(lb, amaErWarmup + lb);
@@ -583,14 +629,20 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
583
629
  // implementation (computeAmaSlopeClipThreshold injected above),
584
630
  // shared with the live market adapter service. Trailing padded
585
631
  // nulls beyond realBarCount are skipped by its finiteness guards.
586
- dynamicClipThreshold = computeAmaSlopeClipThreshold(data.ama3Prices, amaErWarmup, lb, currentClipPct);
632
+ // Clip pool follows the (possibly EMA-filtered) AMA input so the
633
+ // percentile threshold matches the series the offsets derive from.
634
+ dynamicClipThreshold = computeAmaSlopeClipThreshold(currentAmaSource, amaErWarmup, lb, currentClipPct);
587
635
 
588
636
  for (let i = 0; i < data.realBarCount; i++) {
589
- // AMA raw slope % for the display panel (offsets computed in recalcWeights)
590
- dynamicAmaSlopePct[i] = i < amaReadyBar ? null : computeSlopeAtIndex(i, lb);
637
+ // AMA slope % for the display panel (offsets computed in
638
+ // recalcWeights): the raw reference line from the unfiltered AMA
639
+ // input, the plotted series from the EMA-filtered input.
640
+ dynamicAmaSlopePctRaw[i] = i < amaReadyBar ? null : computeSlopeAtIndex(i, lb, data.ama3Prices);
641
+ dynamicAmaSlopePct[i] = i < amaReadyBar ? null : computeSlopeAtIndex(i, lb, currentAmaSource);
591
642
  }
592
643
  for (let i = data.realBarCount; i < data.dates.length; i++) {
593
644
  dynamicAmaSlopePct[i] = null;
645
+ dynamicAmaSlopePctRaw[i] = null;
594
646
  }
595
647
  }
596
648
 
@@ -616,7 +668,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
616
668
  // Per-bar offset pipeline — canonical implementation (computeDynamicWeightSeries
617
669
  // injected above), shared with the live market adapter service.
618
670
  const res = computeDynamicWeightSeries({
619
- amaValues: data.ama3Prices,
671
+ amaValues: currentAmaSource,
620
672
  kalmanVelocityPct: currentKalmanVelocityPct,
621
673
  kalmanDisplacementPct: data.kalmanDisplacementPct,
622
674
  kalmanIsReady: data.kalmanIsReady,
@@ -700,7 +752,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
700
752
  max: Number.isFinite(xs.max) ? xs.max : xMax,
701
753
  } : null;
702
754
 
703
- amaChart.setData([data.dates, dynamicAmaSlopePct], false);
755
+ amaChart.setData([data.dates, dynamicAmaSlopePctRaw, dynamicAmaSlopePct], false);
704
756
  kalmanChart.setData([data.dates, currentKalmanVelocityPct, data.kalmanDisplacementPct], false);
705
757
  outputChart.setData([data.dates, combinedOff, echoCombinedOff], false);
706
758
 
@@ -735,6 +787,11 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
735
787
  if (sp == null) { spEl.textContent = '-'; spEl.style.color = '#8b949e'; }
736
788
  else { spEl.textContent = (sp >= 0 ? '+' : '') + (sp * 10).toFixed(3) + '‰'; spEl.style.color = sp > 0.01 ? '#2ea043' : sp < -0.01 ? '#f85149' : '#8b949e'; }
737
789
 
790
+ const spRaw = dynamicAmaSlopePctRaw[idx];
791
+ const spRawEl = document.getElementById('l-ama-slope-raw');
792
+ if (spRaw == null) { spRawEl.textContent = '-'; spRawEl.style.color = '#8b949e'; }
793
+ else { spRawEl.textContent = (spRaw >= 0 ? '+' : '') + (spRaw * 10).toFixed(3) + '‰'; spRawEl.style.color = '#8b949e'; }
794
+
738
795
  const vp = currentKalmanVelocityPct[idx];
739
796
  const vpEl = document.getElementById('l-kal-vel');
740
797
  if (vp == null) { vpEl.textContent = '-'; vpEl.style.color = '#8b949e'; }
@@ -958,6 +1015,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
958
1015
  document.getElementById('clip-slider').value = currentClipPct;
959
1016
  document.getElementById('nz-slider').value = Math.round(currentNz * 100);
960
1017
  document.getElementById('lb-slider').value = lbValToSlider(currentLookbackBars);
1018
+ document.getElementById('ema-slider').value = currentAmaEmaSpan;
961
1019
 
962
1020
  const priceEl = document.getElementById('price-panel');
963
1021
  const amaEl = document.getElementById('ama-panel');
@@ -993,6 +1051,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
993
1051
  scales: { x: { time: true }, p: { auto: true } },
994
1052
  series: [
995
1053
  { label: 'Time' },
1054
+ { label: 'Raw‰', stroke: '#8b949e', width: 1, dash: [3, 3], scale: 'p', points: { show: false } },
996
1055
  { label: 'Slope‰', stroke: '#f0a000', width: 2, scale: 'p', points: { show: false } },
997
1056
  ],
998
1057
  axes: [
@@ -1002,7 +1061,7 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
1002
1061
  ],
1003
1062
  cursor: cursorCfg,
1004
1063
  hooks: { draw: [makePctFillHook(dynamicAmaSlopePct, 'p', 'rgba(46,160,67,0.20)', 'rgba(248,81,73,0.20)'), makeSignalBgHook('p')] }
1005
- }, [data.dates, dynamicAmaSlopePct], document.getElementById('ama-chart'));
1064
+ }, [data.dates, dynamicAmaSlopePctRaw, dynamicAmaSlopePct], document.getElementById('ama-chart'));
1006
1065
 
1007
1066
  kalmanChart = new uPlot({
1008
1067
  width: kalmanEl.offsetWidth, height: kalmanEl.offsetHeight,
@@ -1164,6 +1223,12 @@ function generateHTML(data, title = 'Dynamic Weight Research') {
1164
1223
  onSliderChange();
1165
1224
  });
1166
1225
 
1226
+ document.getElementById('ema-slider').addEventListener('input', (e) => {
1227
+ currentAmaEmaSpan = parseInt(e.target.value, 10);
1228
+ document.getElementById('ema-value').textContent = currentAmaEmaSpan;
1229
+ onSliderChange();
1230
+ });
1231
+
1167
1232
  document.getElementById('regime-slider').addEventListener('input', (e) => {
1168
1233
  currentRegimeSensitivity = parseInt(e.target.value, 10) / 100;
1169
1234
  document.getElementById('regime-value').textContent = currentRegimeSensitivity.toFixed(2);
@@ -1259,6 +1324,11 @@ function applyParams(p, btn) {
1259
1324
  document.getElementById('lb-slider').value = lbValToSlider(currentLookbackBars);
1260
1325
  document.getElementById('lb-value').textContent = currentLookbackBars;
1261
1326
  }
1327
+ if (p.amaEmaSpan != null) {
1328
+ currentAmaEmaSpan = Math.max(SR.amaEmaSpan[0], Math.min(SR.amaEmaSpan[1], Math.round(p.amaEmaSpan)));
1329
+ document.getElementById('ema-slider').value = currentAmaEmaSpan;
1330
+ document.getElementById('ema-value').textContent = currentAmaEmaSpan;
1331
+ }
1262
1332
  recalcInputs();
1263
1333
  recalcWeights();
1264
1334
  refreshChartsPreservingZoom();
@@ -1285,6 +1355,7 @@ function applyParams(p, btn) {
1285
1355
  regimeSensitivity: 'regime',
1286
1356
  dispWeight: 'dw',
1287
1357
  lookbackBars: 'lb',
1358
+ amaEmaSpan: 'ema',
1288
1359
  };
1289
1360
  document.getElementById('paste-confirm-vals').innerHTML = Object.entries(labels)
1290
1361
  .filter(([k]) => p[k] != null)
@@ -1338,6 +1409,7 @@ function applyParams(p, btn) {
1338
1409
  regimeSensitivity: +currentRegimeSensitivity.toFixed(2),
1339
1410
  dispWeight: +currentDw.toFixed(2),
1340
1411
  lookbackBars: currentLookbackBars,
1412
+ amaEmaSpan: currentAmaEmaSpan,
1341
1413
  };
1342
1414
  const json = JSON.stringify(params, null, 2);
1343
1415
  localStorage.setItem(LS_KEY, json);