@tradecanvas/core 0.9.0 → 0.14.0

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 (131) hide show
  1. package/dist/axis/PriceAxis.d.ts.map +1 -1
  2. package/dist/axis/TimeAxis.d.ts +3 -0
  3. package/dist/axis/TimeAxis.d.ts.map +1 -1
  4. package/dist/charts/DepthHeatmapBuffer.d.ts +25 -0
  5. package/dist/charts/DepthHeatmapBuffer.d.ts.map +1 -0
  6. package/dist/charts/DepthHeatmapRenderer.d.ts +24 -0
  7. package/dist/charts/DepthHeatmapRenderer.d.ts.map +1 -0
  8. package/dist/charts/MarketProfileRenderer.d.ts +53 -0
  9. package/dist/charts/MarketProfileRenderer.d.ts.map +1 -0
  10. package/dist/charts/PeriodLevelsRenderer.d.ts +17 -0
  11. package/dist/charts/PeriodLevelsRenderer.d.ts.map +1 -0
  12. package/dist/charts/PivotMarkersRenderer.d.ts +21 -0
  13. package/dist/charts/PivotMarkersRenderer.d.ts.map +1 -0
  14. package/dist/charts/index.d.ts +13 -0
  15. package/dist/charts/index.d.ts.map +1 -1
  16. package/dist/charts/marketProfile.d.ts +69 -0
  17. package/dist/charts/marketProfile.d.ts.map +1 -0
  18. package/dist/charts/periodLevels.d.ts +15 -0
  19. package/dist/charts/periodLevels.d.ts.map +1 -0
  20. package/dist/charts/pivots.d.ts +26 -0
  21. package/dist/charts/pivots.d.ts.map +1 -0
  22. package/dist/drawings/DrawingManager.d.ts +21 -0
  23. package/dist/drawings/DrawingManager.d.ts.map +1 -1
  24. package/dist/drawings/autoFib.d.ts +10 -0
  25. package/dist/drawings/autoFib.d.ts.map +1 -0
  26. package/dist/drawings/index.d.ts +1 -0
  27. package/dist/drawings/index.d.ts.map +1 -1
  28. package/dist/engine/RenderEngine.d.ts +5 -0
  29. package/dist/engine/RenderEngine.d.ts.map +1 -1
  30. package/dist/features/AlertManager.d.ts +26 -4
  31. package/dist/features/AlertManager.d.ts.map +1 -1
  32. package/dist/index.cjs +8 -8
  33. package/dist/index.cjs.map +1 -1
  34. package/dist/index.js +3554 -774
  35. package/dist/index.js.map +1 -1
  36. package/dist/indicators/IndicatorEngine.d.ts +4 -0
  37. package/dist/indicators/IndicatorEngine.d.ts.map +1 -1
  38. package/dist/indicators/index.d.ts +33 -0
  39. package/dist/indicators/index.d.ts.map +1 -1
  40. package/dist/indicators/overlay/Alligator.d.ts +28 -0
  41. package/dist/indicators/overlay/Alligator.d.ts.map +1 -0
  42. package/dist/indicators/overlay/ChandelierExit.d.ts +23 -0
  43. package/dist/indicators/overlay/ChandelierExit.d.ts.map +1 -0
  44. package/dist/indicators/overlay/MTFMovingAverage.d.ts +23 -0
  45. package/dist/indicators/overlay/MTFMovingAverage.d.ts.map +1 -0
  46. package/dist/indicators/overlay/SessionVWAP.d.ts +26 -0
  47. package/dist/indicators/overlay/SessionVWAP.d.ts.map +1 -0
  48. package/dist/indicators/panel/AcceleratorOscillator.d.ts +24 -0
  49. package/dist/indicators/panel/AcceleratorOscillator.d.ts.map +1 -0
  50. package/dist/indicators/panel/BalanceOfPower.d.ts +20 -0
  51. package/dist/indicators/panel/BalanceOfPower.d.ts.map +1 -0
  52. package/dist/indicators/panel/ChaikinVolatility.d.ts +23 -0
  53. package/dist/indicators/panel/ChaikinVolatility.d.ts.map +1 -0
  54. package/dist/indicators/panel/ChandeMomentum.d.ts +22 -0
  55. package/dist/indicators/panel/ChandeMomentum.d.ts.map +1 -0
  56. package/dist/indicators/panel/ChoppinessIndex.d.ts +22 -0
  57. package/dist/indicators/panel/ChoppinessIndex.d.ts.map +1 -0
  58. package/dist/indicators/panel/ConnorsRSI.d.ts +25 -0
  59. package/dist/indicators/panel/ConnorsRSI.d.ts.map +1 -0
  60. package/dist/indicators/panel/Coppock.d.ts +24 -0
  61. package/dist/indicators/panel/Coppock.d.ts.map +1 -0
  62. package/dist/indicators/panel/DetrendedPriceOscillator.d.ts +21 -0
  63. package/dist/indicators/panel/DetrendedPriceOscillator.d.ts.map +1 -0
  64. package/dist/indicators/panel/DisparityIndex.d.ts +22 -0
  65. package/dist/indicators/panel/DisparityIndex.d.ts.map +1 -0
  66. package/dist/indicators/panel/EaseOfMovement.d.ts +25 -0
  67. package/dist/indicators/panel/EaseOfMovement.d.ts.map +1 -0
  68. package/dist/indicators/panel/ElderRay.d.ts +22 -0
  69. package/dist/indicators/panel/ElderRay.d.ts.map +1 -0
  70. package/dist/indicators/panel/FisherTransform.d.ts +21 -0
  71. package/dist/indicators/panel/FisherTransform.d.ts.map +1 -0
  72. package/dist/indicators/panel/ForceIndex.d.ts +21 -0
  73. package/dist/indicators/panel/ForceIndex.d.ts.map +1 -0
  74. package/dist/indicators/panel/KST.d.ts +29 -0
  75. package/dist/indicators/panel/KST.d.ts.map +1 -0
  76. package/dist/indicators/panel/Klinger.d.ts +26 -0
  77. package/dist/indicators/panel/Klinger.d.ts.map +1 -0
  78. package/dist/indicators/panel/MassIndex.d.ts +21 -0
  79. package/dist/indicators/panel/MassIndex.d.ts.map +1 -0
  80. package/dist/indicators/panel/PercentagePriceOscillator.d.ts +24 -0
  81. package/dist/indicators/panel/PercentagePriceOscillator.d.ts.map +1 -0
  82. package/dist/indicators/panel/PrettyGoodOscillator.d.ts +23 -0
  83. package/dist/indicators/panel/PrettyGoodOscillator.d.ts.map +1 -0
  84. package/dist/indicators/panel/PriceVolumeTrend.d.ts +20 -0
  85. package/dist/indicators/panel/PriceVolumeTrend.d.ts.map +1 -0
  86. package/dist/indicators/panel/Qstick.d.ts +23 -0
  87. package/dist/indicators/panel/Qstick.d.ts.map +1 -0
  88. package/dist/indicators/panel/RelativeMomentumIndex.d.ts +22 -0
  89. package/dist/indicators/panel/RelativeMomentumIndex.d.ts.map +1 -0
  90. package/dist/indicators/panel/RelativeVigor.d.ts +21 -0
  91. package/dist/indicators/panel/RelativeVigor.d.ts.map +1 -0
  92. package/dist/indicators/panel/SchaffTrendCycle.d.ts +23 -0
  93. package/dist/indicators/panel/SchaffTrendCycle.d.ts.map +1 -0
  94. package/dist/indicators/panel/StochasticRSI.d.ts +23 -0
  95. package/dist/indicators/panel/StochasticRSI.d.ts.map +1 -0
  96. package/dist/indicators/panel/TRIX.d.ts +22 -0
  97. package/dist/indicators/panel/TRIX.d.ts.map +1 -0
  98. package/dist/indicators/panel/UltimateOscillator.d.ts +25 -0
  99. package/dist/indicators/panel/UltimateOscillator.d.ts.map +1 -0
  100. package/dist/indicators/panel/VolumeDelta.d.ts +22 -0
  101. package/dist/indicators/panel/VolumeDelta.d.ts.map +1 -0
  102. package/dist/indicators/panel/Vortex.d.ts +21 -0
  103. package/dist/indicators/panel/Vortex.d.ts.map +1 -0
  104. package/dist/indicators/panel/WilliamsAD.d.ts +21 -0
  105. package/dist/indicators/panel/WilliamsAD.d.ts.map +1 -0
  106. package/dist/indicators/registry.d.ts.map +1 -1
  107. package/dist/interaction/AlertDragHandler.d.ts +21 -0
  108. package/dist/interaction/AlertDragHandler.d.ts.map +1 -0
  109. package/dist/interaction/CrosshairHandler.d.ts +3 -0
  110. package/dist/interaction/CrosshairHandler.d.ts.map +1 -1
  111. package/dist/interaction/InteractionManager.d.ts +18 -0
  112. package/dist/interaction/InteractionManager.d.ts.map +1 -1
  113. package/dist/interaction/index.d.ts +1 -0
  114. package/dist/interaction/index.d.ts.map +1 -1
  115. package/dist/trading/BracketTool.d.ts +46 -0
  116. package/dist/trading/BracketTool.d.ts.map +1 -0
  117. package/dist/trading/TradingManager.d.ts +8 -1
  118. package/dist/trading/TradingManager.d.ts.map +1 -1
  119. package/dist/trading/index.d.ts +2 -0
  120. package/dist/trading/index.d.ts.map +1 -1
  121. package/dist/ui/SessionBreaks.d.ts +0 -5
  122. package/dist/ui/SessionBreaks.d.ts.map +1 -1
  123. package/dist/ui/SessionShading.d.ts +19 -0
  124. package/dist/ui/SessionShading.d.ts.map +1 -0
  125. package/dist/ui/index.d.ts +3 -0
  126. package/dist/ui/index.d.ts.map +1 -1
  127. package/dist/ui/sessionHours.d.ts +17 -0
  128. package/dist/ui/sessionHours.d.ts.map +1 -0
  129. package/dist/viewport/Viewport.d.ts +6 -1
  130. package/dist/viewport/Viewport.d.ts.map +1 -1
  131. package/package.json +2 -2
@@ -13,6 +13,9 @@ export declare class IndicatorEngine {
13
13
  renderPanel(ctx: CanvasRenderingContext2D, instanceId: string, viewport: ViewportState): void;
14
14
  /** Get config for an active indicator instance */
15
15
  getIndicatorConfig(instanceId: string): IndicatorConfig | null;
16
+ /** Toggle an indicator's visibility. Returns the new value, or null if not found. */
17
+ setVisible(instanceId: string, visible: boolean): boolean | null;
18
+ isVisible(instanceId: string): boolean;
16
19
  /** Get descriptor for an active indicator instance */
17
20
  getIndicatorDescriptor(instanceId: string): IndicatorDescriptor | null;
18
21
  /** List all active indicator instances with their current config */
@@ -21,6 +24,7 @@ export declare class IndicatorEngine {
21
24
  id: string;
22
25
  params: Record<string, unknown>;
23
26
  descriptor: IndicatorDescriptor;
27
+ visible: boolean;
24
28
  }[];
25
29
  /** Update indicator style (colors, line widths) at runtime */
26
30
  updateIndicatorStyle(instanceId: string, style: Partial<ResolvedIndicatorStyle>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"IndicatorEngine.d.ts","sourceRoot":"","sources":["../../src/indicators/IndicatorEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,aAAa,EACd,MAAM,sBAAsB,CAAC;AAW9B,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,SAAS,CAAwC;IAEzD,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAIvC,sBAAsB,IAAI,mBAAmB,EAAE;IAI/C,YAAY,CACV,EAAE,EAAE,MAAM,EACV,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAM,EACtD,IAAI,CAAC,EAAE,UAAU,GAChB,MAAM;IA6BT,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIzC,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI;IAS/G,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAMtC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAIrD,cAAc,CAAC,GAAG,EAAE,wBAAwB,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAQ5E,WAAW,CACT,GAAG,EAAE,wBAAwB,EAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,aAAa,GACtB,IAAI;IAMP,kDAAkD;IAClD,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAI9D,sDAAsD;IACtD,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAItE,oEAAoE;IACpE,mBAAmB,IAAI;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,UAAU,EAAE,mBAAmB,CAAA;KAAE,EAAE;IAa7H,8DAA8D;IAC9D,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI;IAMtF,4FAA4F;IAC5F,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IA2BnF,kBAAkB,IAAI;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,mBAAmB,CAAA;KAAE,EAAE;CAShF"}
1
+ {"version":3,"file":"IndicatorEngine.d.ts","sourceRoot":"","sources":["../../src/indicators/IndicatorEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,aAAa,EACd,MAAM,sBAAsB,CAAC;AAW9B,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,SAAS,CAAwC;IAEzD,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAIvC,sBAAsB,IAAI,mBAAmB,EAAE;IAI/C,YAAY,CACV,EAAE,EAAE,MAAM,EACV,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAM,EACtD,IAAI,CAAC,EAAE,UAAU,GAChB,MAAM;IA6BT,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIzC,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI;IAS/G,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAMtC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAIrD,cAAc,CAAC,GAAG,EAAE,wBAAwB,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAQ5E,WAAW,CACT,GAAG,EAAE,wBAAwB,EAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,aAAa,GACtB,IAAI;IAMP,kDAAkD;IAClD,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAI9D,qFAAqF;IACrF,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI;IAOhE,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAItC,sDAAsD;IACtD,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAItE,oEAAoE;IACpE,mBAAmB,IAAI;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,UAAU,EAAE,mBAAmB,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,EAAE;IAc/I,8DAA8D;IAC9D,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI;IAMtF,4FAA4F;IAC5F,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IA2BnF,kBAAkB,IAAI;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,mBAAmB,CAAA;KAAE,EAAE;CAShF"}
@@ -15,8 +15,41 @@ export { AnchoredVWAPIndicator } from './overlay/AnchoredVWAP.js';
15
15
  export { ZigZagIndicator } from './overlay/ZigZag.js';
16
16
  export { LinearRegressionChannelIndicator } from './overlay/LinearRegressionChannel.js';
17
17
  export { HullMAIndicator } from './overlay/HullMA.js';
18
+ export { MTFMovingAverageIndicator } from './overlay/MTFMovingAverage.js';
19
+ export { SessionVWAPIndicator } from './overlay/SessionVWAP.js';
20
+ export { ChandelierExitIndicator } from './overlay/ChandelierExit.js';
21
+ export { AlligatorIndicator } from './overlay/Alligator.js';
18
22
  export { AwesomeOscillatorIndicator } from './panel/AwesomeOscillator.js';
19
23
  export { ChaikinOscillatorIndicator } from './panel/ChaikinOscillator.js';
24
+ export { VolumeDeltaIndicator } from './panel/VolumeDelta.js';
25
+ export { VortexIndicator } from './panel/Vortex.js';
26
+ export { ChoppinessIndexIndicator } from './panel/ChoppinessIndex.js';
27
+ export { UltimateOscillatorIndicator } from './panel/UltimateOscillator.js';
28
+ export { ForceIndexIndicator } from './panel/ForceIndex.js';
29
+ export { ConnorsRSIIndicator } from './panel/ConnorsRSI.js';
30
+ export { CoppockIndicator } from './panel/Coppock.js';
31
+ export { KSTIndicator } from './panel/KST.js';
32
+ export { ElderRayIndicator } from './panel/ElderRay.js';
33
+ export { SchaffTrendCycleIndicator } from './panel/SchaffTrendCycle.js';
34
+ export { KlingerIndicator } from './panel/Klinger.js';
35
+ export { FisherTransformIndicator } from './panel/FisherTransform.js';
36
+ export { DetrendedPriceOscillatorIndicator } from './panel/DetrendedPriceOscillator.js';
37
+ export { BalanceOfPowerIndicator } from './panel/BalanceOfPower.js';
38
+ export { MassIndexIndicator } from './panel/MassIndex.js';
39
+ export { ChandeMomentumIndicator } from './panel/ChandeMomentum.js';
40
+ export { TRIXIndicator } from './panel/TRIX.js';
41
+ export { EaseOfMovementIndicator } from './panel/EaseOfMovement.js';
42
+ export { PriceVolumeTrendIndicator } from './panel/PriceVolumeTrend.js';
43
+ export { WilliamsADIndicator } from './panel/WilliamsAD.js';
44
+ export { ChaikinVolatilityIndicator } from './panel/ChaikinVolatility.js';
45
+ export { RelativeVigorIndicator } from './panel/RelativeVigor.js';
46
+ export { StochasticRSIIndicator } from './panel/StochasticRSI.js';
47
+ export { PercentagePriceOscillatorIndicator } from './panel/PercentagePriceOscillator.js';
48
+ export { AcceleratorOscillatorIndicator } from './panel/AcceleratorOscillator.js';
49
+ export { RelativeMomentumIndexIndicator } from './panel/RelativeMomentumIndex.js';
50
+ export { DisparityIndexIndicator } from './panel/DisparityIndex.js';
51
+ export { QstickIndicator } from './panel/Qstick.js';
52
+ export { PrettyGoodOscillatorIndicator } from './panel/PrettyGoodOscillator.js';
20
53
  export { getNumberParam, getIntParam } from './params.js';
21
54
  export { IndicatorWorkerHost } from './worker/IndicatorWorkerHost.js';
22
55
  export type { WorkerLike, IndicatorWorkerHostOptions } from './worker/IndicatorWorkerHost.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/indicators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gCAAgC,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC9F,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/indicators/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Williams Alligator (Bill Williams) — three smoothed moving averages of the
5
+ * median price ((high+low)/2), each shifted forward:
6
+ * jaw = SMMA(13) shifted 8, teeth = SMMA(8) shifted 5, lips = SMMA(5) shifted 3.
7
+ * When the lines intertwine the "alligator sleeps" (range); when they fan out
8
+ * in order it "wakes and feeds" (trend). The forward shift means the lines stop
9
+ * a few bars short of the latest bar, as intended.
10
+ */
11
+ export declare class AlligatorIndicator extends IndicatorBase {
12
+ descriptor: {
13
+ id: string;
14
+ name: string;
15
+ placement: "overlay";
16
+ defaultConfig: {
17
+ jaw: number;
18
+ teeth: number;
19
+ lips: number;
20
+ jawShift: number;
21
+ teethShift: number;
22
+ lipsShift: number;
23
+ };
24
+ };
25
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
26
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
27
+ }
28
+ //# sourceMappingURL=Alligator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alligator.d.ts","sourceRoot":"","sources":["../../../src/indicators/overlay/Alligator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChJ,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,UAAU;;;;;;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAsCrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CA0B7H"}
@@ -0,0 +1,23 @@
1
+ import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Chandelier Exit (Chuck LeBeau) — ATR-based trailing stop levels.
5
+ * long exit = highest high(n) − mult · ATR(n)
6
+ * short exit = lowest low(n) + mult · ATR(n)
7
+ * A long position trails the long-exit line; a short trails the short-exit
8
+ * line. Drawn as two lines (green long stop, red short stop).
9
+ */
10
+ export declare class ChandelierExitIndicator extends IndicatorBase {
11
+ descriptor: {
12
+ id: string;
13
+ name: string;
14
+ placement: "overlay";
15
+ defaultConfig: {
16
+ period: number;
17
+ multiplier: number;
18
+ };
19
+ };
20
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
21
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
22
+ }
23
+ //# sourceMappingURL=ChandelierExit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChandelierExit.d.ts","sourceRoot":"","sources":["../../../src/indicators/overlay/ChandelierExit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChJ,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;;GAMG;AACH,qBAAa,uBAAwB,SAAQ,aAAa;IACxD,UAAU;;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAiCrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CA2B7H"}
@@ -0,0 +1,23 @@
1
+ import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Higher-timeframe moving average drawn on the current chart. Base bars are
5
+ * grouped into buckets of the configured timeframe; the MA is a simple average
6
+ * of *completed* higher-timeframe closes, so the value is flat within each
7
+ * bucket and steps at its boundary — non-repainting (the in-progress HTF bar
8
+ * never contributes until it closes).
9
+ */
10
+ export declare class MTFMovingAverageIndicator extends IndicatorBase {
11
+ descriptor: {
12
+ id: string;
13
+ name: string;
14
+ placement: "overlay";
15
+ defaultConfig: {
16
+ period: number;
17
+ timeframe: string;
18
+ };
19
+ };
20
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
21
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
22
+ }
23
+ //# sourceMappingURL=MTFMovingAverage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MTFMovingAverage.d.ts","sourceRoot":"","sources":["../../../src/indicators/overlay/MTFMovingAverage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAa,MAAM,sBAAsB,CAAC;AAE3J,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;;GAMG;AACH,qBAAa,yBAA0B,SAAQ,aAAa;IAC1D,UAAU;;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAqCrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAqB7H"}
@@ -0,0 +1,26 @@
1
+ import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Session VWAP — a volume-weighted average price that resets at the start of
5
+ * each calendar day (UTC), the way intraday traders read it. Distinct from the
6
+ * cumulative `vwap` (never resets) and `avwap` (manual anchor). Uses the
7
+ * typical price (H+L+C)/3 weighted by volume.
8
+ *
9
+ * `bands` (0–3) adds volume-weighted standard-deviation bands at ±1σ…±3σ around
10
+ * the session VWAP — the classic VWAP band envelope.
11
+ */
12
+ export declare class SessionVWAPIndicator extends IndicatorBase {
13
+ descriptor: {
14
+ id: string;
15
+ name: string;
16
+ placement: "overlay";
17
+ defaultConfig: {
18
+ bands: number;
19
+ };
20
+ };
21
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
22
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
23
+ /** Stroke a single series accessor, breaking the path at each session reset. */
24
+ private strokeBandSeries;
25
+ }
26
+ //# sourceMappingURL=SessionVWAP.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionVWAP.d.ts","sourceRoot":"","sources":["../../../src/indicators/overlay/SessionVWAP.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEhJ,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;;;;GAQG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,UAAU;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IA0CrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAwB5H,gFAAgF;IAChF,OAAO,CAAC,gBAAgB;CAwBzB"}
@@ -0,0 +1,24 @@
1
+ import { DataSeries, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Accelerator Oscillator (Bill Williams) — measures the acceleration or
5
+ * deceleration of the current market driving force. It leads the Awesome
6
+ * Oscillator: a change in momentum shows here before price reacts.
7
+ *
8
+ * AO = SMA(median, 5) − SMA(median, 34), median = (high + low) / 2
9
+ * AC = AO − SMA(AO, 5)
10
+ *
11
+ * Drawn as a histogram: green when the bar is higher than the previous one
12
+ * (accelerating up), red when lower (accelerating down).
13
+ */
14
+ export declare class AcceleratorOscillatorIndicator extends IndicatorBase {
15
+ descriptor: {
16
+ id: string;
17
+ name: string;
18
+ placement: "panel";
19
+ defaultConfig: {};
20
+ };
21
+ calculate(data: DataSeries): IndicatorOutput;
22
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
23
+ }
24
+ //# sourceMappingURL=AcceleratorOscillator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcceleratorOscillator.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/AcceleratorOscillator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD;;;;;;;;;;GAUG;AACH,qBAAa,8BAA+B,SAAQ,aAAa;IAC/D,UAAU;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe;IAuB5C,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAsC7H"}
@@ -0,0 +1,20 @@
1
+ import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Balance of Power (Igor Livshin) — measures the strength of buyers vs sellers
5
+ * within each bar: (close − open) / (high − low), optionally SMA-smoothed.
6
+ * Above zero = buyers dominate, below = sellers. Bounded roughly to [−1, 1].
7
+ */
8
+ export declare class BalanceOfPowerIndicator extends IndicatorBase {
9
+ descriptor: {
10
+ id: string;
11
+ name: string;
12
+ placement: "panel";
13
+ defaultConfig: {
14
+ smooth: number;
15
+ };
16
+ };
17
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
18
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
19
+ }
20
+ //# sourceMappingURL=BalanceOfPower.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BalanceOfPower.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/BalanceOfPower.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChJ,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,aAAa;IACxD,UAAU;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IA0BrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAiC7H"}
@@ -0,0 +1,23 @@
1
+ import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Chaikin Volatility — the percent rate of change of an EMA of the high-low
5
+ * range. Rising = the trading range is expanding (often near tops/breakouts);
6
+ * falling = contracting (often near bottoms/consolidation). Zero-centered.
7
+ *
8
+ * CV = (EMA(range, n) − EMA(range, n)[i − roc]) / EMA(range, n)[i − roc] · 100
9
+ */
10
+ export declare class ChaikinVolatilityIndicator extends IndicatorBase {
11
+ descriptor: {
12
+ id: string;
13
+ name: string;
14
+ placement: "panel";
15
+ defaultConfig: {
16
+ ema: number;
17
+ roc: number;
18
+ };
19
+ };
20
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
21
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
22
+ }
23
+ //# sourceMappingURL=ChaikinVolatility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChaikinVolatility.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/ChaikinVolatility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChJ,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;;GAMG;AACH,qBAAa,0BAA2B,SAAQ,aAAa;IAC3D,UAAU;;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IA4BrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAG7H"}
@@ -0,0 +1,22 @@
1
+ import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Chande Momentum Oscillator (Tushar Chande) — like RSI but uses net momentum
5
+ * over the period without smoothing, swinging −100…+100. Above +50 / below −50
6
+ * mark overbought / oversold; the slope and zero-cross gauge momentum.
7
+ *
8
+ * CMO = 100 · (ΣUp − ΣDown) / (ΣUp + ΣDown) over `period`.
9
+ */
10
+ export declare class ChandeMomentumIndicator extends IndicatorBase {
11
+ descriptor: {
12
+ id: string;
13
+ name: string;
14
+ placement: "panel";
15
+ defaultConfig: {
16
+ period: number;
17
+ };
18
+ };
19
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
20
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
21
+ }
22
+ //# sourceMappingURL=ChandeMomentum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChandeMomentum.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/ChandeMomentum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChJ,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;;GAMG;AACH,qBAAa,uBAAwB,SAAQ,aAAa;IACxD,UAAU;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAmCrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAkC7H"}
@@ -0,0 +1,22 @@
1
+ import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Choppiness Index — measures whether the market is trending or consolidating
5
+ * on a 0–100 scale. High (> 61.8) = choppy/range; low (< 38.2) = trending. It
6
+ * does not indicate direction, only the degree of trendiness.
7
+ *
8
+ * CHOP = 100 · log10( Σ TR(n) / (maxHigh(n) − minLow(n)) ) / log10(n)
9
+ */
10
+ export declare class ChoppinessIndexIndicator extends IndicatorBase {
11
+ descriptor: {
12
+ id: string;
13
+ name: string;
14
+ placement: "panel";
15
+ defaultConfig: {
16
+ period: number;
17
+ };
18
+ };
19
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
20
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
21
+ }
22
+ //# sourceMappingURL=ChoppinessIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChoppinessIndex.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/ChoppinessIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChJ,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,aAAa;IACzD,UAAU;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAuCrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAkC7H"}
@@ -0,0 +1,25 @@
1
+ import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Connors RSI — a composite mean-reversion oscillator (Larry Connors) averaging
5
+ * three 0–100 components:
6
+ * 1. a short RSI of price (default period 3),
7
+ * 2. an RSI of the up/down streak length (default period 2),
8
+ * 3. the percent-rank of the 1-bar rate of change over a lookback (default 100).
9
+ * Extreme readings (< 10 / > 90) flag oversold / overbought conditions.
10
+ */
11
+ export declare class ConnorsRSIIndicator extends IndicatorBase {
12
+ descriptor: {
13
+ id: string;
14
+ name: string;
15
+ placement: "panel";
16
+ defaultConfig: {
17
+ rsiPeriod: number;
18
+ streakPeriod: number;
19
+ rankPeriod: number;
20
+ };
21
+ };
22
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
23
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
24
+ }
25
+ //# sourceMappingURL=ConnorsRSI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnorsRSI.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/ConnorsRSI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChJ,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;;;GAOG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,UAAU;;;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IA2CrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAkC7H"}
@@ -0,0 +1,24 @@
1
+ import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Coppock Curve (Edwin Coppock) — a long-term momentum oscillator: a weighted
5
+ * moving average of the sum of two rates of change. Designed to flag major
6
+ * bottoms when it turns up from below zero. Zero-centered, auto-scaled.
7
+ *
8
+ * Coppock = WMA(wma, ROC(longRoc) + ROC(shortRoc))
9
+ */
10
+ export declare class CoppockIndicator extends IndicatorBase {
11
+ descriptor: {
12
+ id: string;
13
+ name: string;
14
+ placement: "panel";
15
+ defaultConfig: {
16
+ longRoc: number;
17
+ shortRoc: number;
18
+ wma: number;
19
+ };
20
+ };
21
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
22
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
23
+ }
24
+ //# sourceMappingURL=Coppock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Coppock.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/Coppock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChJ,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,UAAU;;;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAmCrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAuC7H"}
@@ -0,0 +1,21 @@
1
+ import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Detrended Price Oscillator (DPO) — removes the longer trend to expose price
5
+ * cycles by comparing a past close to a simple moving average:
6
+ * DPO[i] = close[i − (period/2 + 1)] − SMA(close, period)[i]
7
+ * Not a momentum oscillator — it's a cycle/peak-trough tool. Zero-centered.
8
+ */
9
+ export declare class DetrendedPriceOscillatorIndicator extends IndicatorBase {
10
+ descriptor: {
11
+ id: string;
12
+ name: string;
13
+ placement: "panel";
14
+ defaultConfig: {
15
+ period: number;
16
+ };
17
+ };
18
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
19
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
20
+ }
21
+ //# sourceMappingURL=DetrendedPriceOscillator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DetrendedPriceOscillator.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/DetrendedPriceOscillator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChJ,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;GAKG;AACH,qBAAa,iCAAkC,SAAQ,aAAa;IAClE,UAAU;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAsBrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAoC7H"}
@@ -0,0 +1,22 @@
1
+ import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Disparity Index (Steve Nison) — the percentage distance of the close from its
5
+ * moving average. Positive = price stretched above the MA, negative = below;
6
+ * divergences and zero crossings flag momentum shifts. Zero-centered.
7
+ *
8
+ * Disparity = (close − SMA(close, n)) / SMA(close, n) · 100
9
+ */
10
+ export declare class DisparityIndexIndicator extends IndicatorBase {
11
+ descriptor: {
12
+ id: string;
13
+ name: string;
14
+ placement: "panel";
15
+ defaultConfig: {
16
+ period: number;
17
+ };
18
+ };
19
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
20
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
21
+ }
22
+ //# sourceMappingURL=DisparityIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisparityIndex.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/DisparityIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChJ,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;;GAMG;AACH,qBAAa,uBAAwB,SAAQ,aAAa;IACxD,UAAU;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAsBrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAG7H"}
@@ -0,0 +1,25 @@
1
+ import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Ease of Movement (Richard Arms) — relates the day's midpoint move to its
5
+ * volume to show how much volume it took to move price. High positive = price
6
+ * rising on light volume (easy); negative = falling easily. SMA-smoothed,
7
+ * zero-centered.
8
+ *
9
+ * EMV = SMA( midpointMove · (high − low) / volume , period ).
10
+ */
11
+ export declare class EaseOfMovementIndicator extends IndicatorBase {
12
+ descriptor: {
13
+ id: string;
14
+ name: string;
15
+ placement: "panel";
16
+ defaultConfig: {
17
+ period: number;
18
+ };
19
+ };
20
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
21
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
22
+ }
23
+ /** Shared: a single zero-centered, auto-scaled line with a dashed zero axis. */
24
+ export declare function drawZeroCenteredLine(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
25
+ //# sourceMappingURL=EaseOfMovement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EaseOfMovement.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/EaseOfMovement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChJ,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;;;GAOG;AACH,qBAAa,uBAAwB,SAAQ,aAAa;IACxD,UAAU;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IA6BrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAG7H;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,sBAAsB,GAC5B,IAAI,CAsCN"}
@@ -0,0 +1,22 @@
1
+ import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Elder Ray Index (Alexander Elder) — Bull Power and Bear Power measure how far
5
+ * buyers/sellers can push price beyond consensus value (an EMA of close).
6
+ * bull = high − EMA(close, n); bear = low − EMA(close, n)
7
+ * Bull Power above zero with rising bears (toward zero) favours longs in an
8
+ * uptrend, and vice-versa. Drawn as two zero-centered histograms.
9
+ */
10
+ export declare class ElderRayIndicator extends IndicatorBase {
11
+ descriptor: {
12
+ id: string;
13
+ name: string;
14
+ placement: "panel";
15
+ defaultConfig: {
16
+ period: number;
17
+ };
18
+ };
19
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
20
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
21
+ }
22
+ //# sourceMappingURL=ElderRay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ElderRay.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/ElderRay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChJ,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,UAAU;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAoBrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAmD7H"}
@@ -0,0 +1,21 @@
1
+ import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Fisher Transform (John Ehlers) — maps price into a roughly Gaussian
5
+ * distribution so turning points stand out as sharp peaks. Plotted with a
6
+ * one-bar lagged trigger line; the Fisher crossing its trigger flags reversals.
7
+ * Zero-centered, auto-scaled.
8
+ */
9
+ export declare class FisherTransformIndicator extends IndicatorBase {
10
+ descriptor: {
11
+ id: string;
12
+ name: string;
13
+ placement: "panel";
14
+ defaultConfig: {
15
+ period: number;
16
+ };
17
+ };
18
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
19
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
20
+ }
21
+ //# sourceMappingURL=FisherTransform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FisherTransform.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/FisherTransform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChJ,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;GAKG;AACH,qBAAa,wBAAyB,SAAQ,aAAa;IACzD,UAAU;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IA8BrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAgD7H"}
@@ -0,0 +1,21 @@
1
+ import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Elder's Force Index — combines price direction, extent, and volume into a
5
+ * single oscillator around zero. Raw force = (close − prevClose) · volume,
6
+ * then EMA-smoothed (default 13). Above zero = bulls in control, below = bears;
7
+ * the magnitude reflects conviction. Zero-line reference, auto-scaled.
8
+ */
9
+ export declare class ForceIndexIndicator extends IndicatorBase {
10
+ descriptor: {
11
+ id: string;
12
+ name: string;
13
+ placement: "panel";
14
+ defaultConfig: {
15
+ period: number;
16
+ };
17
+ };
18
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
19
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
20
+ }
21
+ //# sourceMappingURL=ForceIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ForceIndex.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/ForceIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChJ,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,UAAU;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAqBrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAwC7H"}
@@ -0,0 +1,29 @@
1
+ import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Know Sure Thing (Martin Pring) — a momentum oscillator built from four
5
+ * smoothed rates of change, weighted 1:2:3:4 toward the longer cycles, plus an
6
+ * SMA signal line. KST crossing its signal (and the zero line) flags momentum
7
+ * shifts. Zero-centered, auto-scaled.
8
+ */
9
+ export declare class KSTIndicator extends IndicatorBase {
10
+ descriptor: {
11
+ id: string;
12
+ name: string;
13
+ placement: "panel";
14
+ defaultConfig: {
15
+ roc1: number;
16
+ roc2: number;
17
+ roc3: number;
18
+ roc4: number;
19
+ sma1: number;
20
+ sma2: number;
21
+ sma3: number;
22
+ sma4: number;
23
+ signal: number;
24
+ };
25
+ };
26
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
27
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
28
+ }
29
+ //# sourceMappingURL=KST.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KST.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/KST.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChJ,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,aAAa;IAC7C,UAAU;;;;;;;;;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAuCrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAgD7H"}