@tradecanvas/core 1.3.0 → 1.7.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 (439) hide show
  1. package/dist/axis/GridRenderer.d.ts.map +1 -1
  2. package/dist/axis/PriceAxis.d.ts +10 -1
  3. package/dist/axis/PriceAxis.d.ts.map +1 -1
  4. package/dist/axis/TimeAxis.d.ts +9 -4
  5. package/dist/axis/TimeAxis.d.ts.map +1 -1
  6. package/dist/charts/AreaRenderer.d.ts.map +1 -1
  7. package/dist/charts/BarRenderer.d.ts.map +1 -1
  8. package/dist/charts/BaselineRenderer.d.ts.map +1 -1
  9. package/dist/charts/CandlestickRenderer.d.ts.map +1 -1
  10. package/dist/charts/CompareRenderer.d.ts +21 -4
  11. package/dist/charts/CompareRenderer.d.ts.map +1 -1
  12. package/dist/charts/EquivolumeRenderer.d.ts.map +1 -1
  13. package/dist/charts/HLCAreaRenderer.d.ts.map +1 -1
  14. package/dist/charts/HiLoRenderer.d.ts +14 -0
  15. package/dist/charts/HiLoRenderer.d.ts.map +1 -0
  16. package/dist/charts/HollowCandleRenderer.d.ts.map +1 -1
  17. package/dist/charts/KagiRenderer.d.ts.map +1 -1
  18. package/dist/charts/LineRenderer.d.ts.map +1 -1
  19. package/dist/charts/LineWithMarkersRenderer.d.ts.map +1 -1
  20. package/dist/charts/MarketProfileRenderer.d.ts.map +1 -1
  21. package/dist/charts/PeriodLevelsRenderer.d.ts.map +1 -1
  22. package/dist/charts/PivotMarkersRenderer.d.ts.map +1 -1
  23. package/dist/charts/PointAndFigureRenderer.d.ts.map +1 -1
  24. package/dist/charts/RenkoRenderer.d.ts.map +1 -1
  25. package/dist/charts/StepLineRenderer.d.ts.map +1 -1
  26. package/dist/charts/VolumeCandleRenderer.d.ts.map +1 -1
  27. package/dist/charts/VolumeProfileRenderer.d.ts.map +1 -1
  28. package/dist/charts/VolumeRenderer.d.ts.map +1 -1
  29. package/dist/charts/denseBars.d.ts +28 -0
  30. package/dist/charts/denseBars.d.ts.map +1 -0
  31. package/dist/charts/index.d.ts +3 -0
  32. package/dist/charts/index.d.ts.map +1 -1
  33. package/dist/charts/transforms/kagi.d.ts +3 -2
  34. package/dist/charts/transforms/kagi.d.ts.map +1 -1
  35. package/dist/charts/transforms/renko.d.ts.map +1 -1
  36. package/dist/drawings/DrawingBase.d.ts +30 -1
  37. package/dist/drawings/DrawingBase.d.ts.map +1 -1
  38. package/dist/drawings/DrawingCreator.d.ts +51 -0
  39. package/dist/drawings/DrawingCreator.d.ts.map +1 -0
  40. package/dist/drawings/DrawingDrag.d.ts +36 -0
  41. package/dist/drawings/DrawingDrag.d.ts.map +1 -0
  42. package/dist/drawings/DrawingManager.d.ts +176 -32
  43. package/dist/drawings/DrawingManager.d.ts.map +1 -1
  44. package/dist/drawings/DrawingSelection.d.ts +28 -0
  45. package/dist/drawings/DrawingSelection.d.ts.map +1 -0
  46. package/dist/drawings/drawingHistory.d.ts +12 -0
  47. package/dist/drawings/drawingHistory.d.ts.map +1 -0
  48. package/dist/drawings/drawingShortcuts.d.ts +11 -0
  49. package/dist/drawings/drawingShortcuts.d.ts.map +1 -0
  50. package/dist/drawings/drawingState.d.ts +29 -0
  51. package/dist/drawings/drawingState.d.ts.map +1 -0
  52. package/dist/drawings/index.d.ts +2 -1
  53. package/dist/drawings/index.d.ts.map +1 -1
  54. package/dist/drawings/magnetSnap.d.ts +12 -0
  55. package/dist/drawings/magnetSnap.d.ts.map +1 -0
  56. package/dist/drawings/tools/AnchoredVWAP.d.ts.map +1 -1
  57. package/dist/drawings/tools/Circle.d.ts +1 -0
  58. package/dist/drawings/tools/Circle.d.ts.map +1 -1
  59. package/dist/drawings/tools/ElliottWave.d.ts +128 -3
  60. package/dist/drawings/tools/ElliottWave.d.ts.map +1 -1
  61. package/dist/drawings/tools/Ellipse.d.ts +1 -0
  62. package/dist/drawings/tools/Ellipse.d.ts.map +1 -1
  63. package/dist/drawings/tools/ExtendedLine.d.ts +1 -0
  64. package/dist/drawings/tools/ExtendedLine.d.ts.map +1 -1
  65. package/dist/drawings/tools/FibChannel.d.ts +7 -0
  66. package/dist/drawings/tools/FibChannel.d.ts.map +1 -1
  67. package/dist/drawings/tools/FibExtension.d.ts +20 -0
  68. package/dist/drawings/tools/FibExtension.d.ts.map +1 -1
  69. package/dist/drawings/tools/FibRetracement.d.ts +28 -0
  70. package/dist/drawings/tools/FibRetracement.d.ts.map +1 -1
  71. package/dist/drawings/tools/FibSpeedResistanceFan.d.ts +9 -1
  72. package/dist/drawings/tools/FibSpeedResistanceFan.d.ts.map +1 -1
  73. package/dist/drawings/tools/FibTimeZones.d.ts +16 -0
  74. package/dist/drawings/tools/FibTimeZones.d.ts.map +1 -1
  75. package/dist/drawings/tools/HorizontalLine.d.ts +1 -0
  76. package/dist/drawings/tools/HorizontalLine.d.ts.map +1 -1
  77. package/dist/drawings/tools/HorizontalRay.d.ts +1 -0
  78. package/dist/drawings/tools/HorizontalRay.d.ts.map +1 -1
  79. package/dist/drawings/tools/Measure.d.ts.map +1 -1
  80. package/dist/drawings/tools/ParallelChannel.d.ts +12 -0
  81. package/dist/drawings/tools/ParallelChannel.d.ts.map +1 -1
  82. package/dist/drawings/tools/PriceLabel.d.ts +1 -0
  83. package/dist/drawings/tools/PriceLabel.d.ts.map +1 -1
  84. package/dist/drawings/tools/PriceRange.d.ts.map +1 -1
  85. package/dist/drawings/tools/Ray.d.ts +1 -0
  86. package/dist/drawings/tools/Ray.d.ts.map +1 -1
  87. package/dist/drawings/tools/Rectangle.d.ts +1 -0
  88. package/dist/drawings/tools/Rectangle.d.ts.map +1 -1
  89. package/dist/drawings/tools/RegressionChannel.d.ts +1 -0
  90. package/dist/drawings/tools/RegressionChannel.d.ts.map +1 -1
  91. package/dist/drawings/tools/RiskReward.d.ts +59 -6
  92. package/dist/drawings/tools/RiskReward.d.ts.map +1 -1
  93. package/dist/drawings/tools/TextAnnotation.d.ts +1 -0
  94. package/dist/drawings/tools/TextAnnotation.d.ts.map +1 -1
  95. package/dist/drawings/tools/TrendLine.d.ts +3 -0
  96. package/dist/drawings/tools/TrendLine.d.ts.map +1 -1
  97. package/dist/drawings/tools/Triangle.d.ts +1 -0
  98. package/dist/drawings/tools/Triangle.d.ts.map +1 -1
  99. package/dist/drawings/tools/VolumeProfileRange.d.ts +1 -0
  100. package/dist/drawings/tools/VolumeProfileRange.d.ts.map +1 -1
  101. package/dist/drawings/tools/annotations.d.ts +113 -0
  102. package/dist/drawings/tools/annotations.d.ts.map +1 -0
  103. package/dist/drawings/tools/cycles.d.ts +37 -0
  104. package/dist/drawings/tools/cycles.d.ts.map +1 -0
  105. package/dist/drawings/tools/fibGeometry.d.ts +202 -0
  106. package/dist/drawings/tools/fibGeometry.d.ts.map +1 -0
  107. package/dist/drawings/tools/forecast.d.ts +85 -0
  108. package/dist/drawings/tools/forecast.d.ts.map +1 -0
  109. package/dist/drawings/tools/freehand.d.ts +81 -0
  110. package/dist/drawings/tools/freehand.d.ts.map +1 -0
  111. package/dist/drawings/tools/index.d.ts +7 -0
  112. package/dist/drawings/tools/index.d.ts.map +1 -1
  113. package/dist/drawings/tools/labels.d.ts +6 -3
  114. package/dist/drawings/tools/labels.d.ts.map +1 -1
  115. package/dist/drawings/tools/options.d.ts +8 -0
  116. package/dist/drawings/tools/options.d.ts.map +1 -0
  117. package/dist/drawings/tools/patterns.d.ts +32 -0
  118. package/dist/drawings/tools/patterns.d.ts.map +1 -1
  119. package/dist/drawings/tools/priceLevels.d.ts +29 -0
  120. package/dist/drawings/tools/priceLevels.d.ts.map +1 -0
  121. package/dist/drawings/tools/textBox.d.ts +39 -0
  122. package/dist/drawings/tools/textBox.d.ts.map +1 -0
  123. package/dist/engine/RenderEngine.d.ts +25 -0
  124. package/dist/engine/RenderEngine.d.ts.map +1 -1
  125. package/dist/events/EventBus.d.ts +2 -0
  126. package/dist/events/EventBus.d.ts.map +1 -1
  127. package/dist/features/AlertManager.d.ts +117 -6
  128. package/dist/features/AlertManager.d.ts.map +1 -1
  129. package/dist/features/ChartState.d.ts +36 -12
  130. package/dist/features/ChartState.d.ts.map +1 -1
  131. package/dist/features/DataExporter.d.ts +7 -2
  132. package/dist/features/DataExporter.d.ts.map +1 -1
  133. package/dist/features/ReplayManager.d.ts +23 -1
  134. package/dist/features/ReplayManager.d.ts.map +1 -1
  135. package/dist/features/SignalMarkerManager.d.ts +8 -0
  136. package/dist/features/SignalMarkerManager.d.ts.map +1 -1
  137. package/dist/features/TradeZoneManager.d.ts.map +1 -1
  138. package/dist/features/UndoRedoManager.d.ts +30 -1
  139. package/dist/features/UndoRedoManager.d.ts.map +1 -1
  140. package/dist/features/index.d.ts +5 -2
  141. package/dist/features/index.d.ts.map +1 -1
  142. package/dist/index.cjs +11 -9
  143. package/dist/index.cjs.map +1 -1
  144. package/dist/index.js +10730 -5082
  145. package/dist/index.js.map +1 -1
  146. package/dist/indicators/IndicatorBase.d.ts +5 -1
  147. package/dist/indicators/IndicatorBase.d.ts.map +1 -1
  148. package/dist/indicators/IndicatorEngine.d.ts +123 -11
  149. package/dist/indicators/IndicatorEngine.d.ts.map +1 -1
  150. package/dist/indicators/PointwiseIndicator.d.ts +25 -0
  151. package/dist/indicators/PointwiseIndicator.d.ts.map +1 -0
  152. package/dist/indicators/index.d.ts +32 -0
  153. package/dist/indicators/index.d.ts.map +1 -1
  154. package/dist/indicators/math.d.ts +47 -0
  155. package/dist/indicators/math.d.ts.map +1 -0
  156. package/dist/indicators/overlay/ALMA.d.ts +20 -0
  157. package/dist/indicators/overlay/ALMA.d.ts.map +1 -0
  158. package/dist/indicators/overlay/Alligator.d.ts +2 -14
  159. package/dist/indicators/overlay/Alligator.d.ts.map +1 -1
  160. package/dist/indicators/overlay/AnchoredVWAP.d.ts +2 -9
  161. package/dist/indicators/overlay/AnchoredVWAP.d.ts.map +1 -1
  162. package/dist/indicators/overlay/BollingerBands.d.ts +2 -10
  163. package/dist/indicators/overlay/BollingerBands.d.ts.map +1 -1
  164. package/dist/indicators/overlay/ChandeKrollStop.d.ts +16 -0
  165. package/dist/indicators/overlay/ChandeKrollStop.d.ts.map +1 -0
  166. package/dist/indicators/overlay/ChandelierExit.d.ts +2 -10
  167. package/dist/indicators/overlay/ChandelierExit.d.ts.map +1 -1
  168. package/dist/indicators/overlay/DEMA.d.ts +11 -0
  169. package/dist/indicators/overlay/DEMA.d.ts.map +1 -0
  170. package/dist/indicators/overlay/DonchianChannel.d.ts +2 -9
  171. package/dist/indicators/overlay/DonchianChannel.d.ts.map +1 -1
  172. package/dist/indicators/overlay/EMA.d.ts +2 -9
  173. package/dist/indicators/overlay/EMA.d.ts.map +1 -1
  174. package/dist/indicators/overlay/Envelope.d.ts +2 -10
  175. package/dist/indicators/overlay/Envelope.d.ts.map +1 -1
  176. package/dist/indicators/overlay/GuppyMMA.d.ts +11 -0
  177. package/dist/indicators/overlay/GuppyMMA.d.ts.map +1 -0
  178. package/dist/indicators/overlay/HullMA.d.ts +2 -9
  179. package/dist/indicators/overlay/HullMA.d.ts.map +1 -1
  180. package/dist/indicators/overlay/Ichimoku.d.ts +2 -12
  181. package/dist/indicators/overlay/Ichimoku.d.ts.map +1 -1
  182. package/dist/indicators/overlay/KAMA.d.ts +15 -0
  183. package/dist/indicators/overlay/KAMA.d.ts.map +1 -0
  184. package/dist/indicators/overlay/KeltnerChannel.d.ts +2 -11
  185. package/dist/indicators/overlay/KeltnerChannel.d.ts.map +1 -1
  186. package/dist/indicators/overlay/LSMA.d.ts +19 -0
  187. package/dist/indicators/overlay/LSMA.d.ts.map +1 -0
  188. package/dist/indicators/overlay/LinearRegressionChannel.d.ts +2 -10
  189. package/dist/indicators/overlay/LinearRegressionChannel.d.ts.map +1 -1
  190. package/dist/indicators/overlay/MACross.d.ts +9 -0
  191. package/dist/indicators/overlay/MACross.d.ts.map +1 -0
  192. package/dist/indicators/overlay/MARibbon.d.ts +8 -0
  193. package/dist/indicators/overlay/MARibbon.d.ts.map +1 -0
  194. package/dist/indicators/overlay/MTFMovingAverage.d.ts +2 -10
  195. package/dist/indicators/overlay/MTFMovingAverage.d.ts.map +1 -1
  196. package/dist/indicators/overlay/McGinleyDynamic.d.ts +13 -0
  197. package/dist/indicators/overlay/McGinleyDynamic.d.ts.map +1 -0
  198. package/dist/indicators/overlay/ParabolicSAR.d.ts +2 -10
  199. package/dist/indicators/overlay/ParabolicSAR.d.ts.map +1 -1
  200. package/dist/indicators/overlay/PivotPoints.d.ts +2 -9
  201. package/dist/indicators/overlay/PivotPoints.d.ts.map +1 -1
  202. package/dist/indicators/overlay/SMA.d.ts +2 -9
  203. package/dist/indicators/overlay/SMA.d.ts.map +1 -1
  204. package/dist/indicators/overlay/SMMA.d.ts +13 -0
  205. package/dist/indicators/overlay/SMMA.d.ts.map +1 -0
  206. package/dist/indicators/overlay/SessionVWAP.d.ts +2 -9
  207. package/dist/indicators/overlay/SessionVWAP.d.ts.map +1 -1
  208. package/dist/indicators/overlay/StandardErrorBands.d.ts +12 -0
  209. package/dist/indicators/overlay/StandardErrorBands.d.ts.map +1 -0
  210. package/dist/indicators/overlay/Supertrend.d.ts +2 -10
  211. package/dist/indicators/overlay/Supertrend.d.ts.map +1 -1
  212. package/dist/indicators/overlay/TEMA.d.ts +2 -9
  213. package/dist/indicators/overlay/TEMA.d.ts.map +1 -1
  214. package/dist/indicators/overlay/VWAP.d.ts +2 -7
  215. package/dist/indicators/overlay/VWAP.d.ts.map +1 -1
  216. package/dist/indicators/overlay/VWMA.d.ts +2 -9
  217. package/dist/indicators/overlay/VWMA.d.ts.map +1 -1
  218. package/dist/indicators/overlay/WMA.d.ts +2 -9
  219. package/dist/indicators/overlay/WMA.d.ts.map +1 -1
  220. package/dist/indicators/overlay/WilliamsFractals.d.ts +15 -0
  221. package/dist/indicators/overlay/WilliamsFractals.d.ts.map +1 -0
  222. package/dist/indicators/overlay/ZigZag.d.ts +2 -9
  223. package/dist/indicators/overlay/ZigZag.d.ts.map +1 -1
  224. package/dist/indicators/panel/ADX.d.ts +2 -10
  225. package/dist/indicators/panel/ADX.d.ts.map +1 -1
  226. package/dist/indicators/panel/ATR.d.ts +2 -10
  227. package/dist/indicators/panel/ATR.d.ts.map +1 -1
  228. package/dist/indicators/panel/AcceleratorOscillator.d.ts +5 -10
  229. package/dist/indicators/panel/AcceleratorOscillator.d.ts.map +1 -1
  230. package/dist/indicators/panel/AccumulationDistribution.d.ts +2 -8
  231. package/dist/indicators/panel/AccumulationDistribution.d.ts.map +1 -1
  232. package/dist/indicators/panel/Aroon.d.ts +2 -10
  233. package/dist/indicators/panel/Aroon.d.ts.map +1 -1
  234. package/dist/indicators/panel/AverageDayRange.d.ts +9 -0
  235. package/dist/indicators/panel/AverageDayRange.d.ts.map +1 -0
  236. package/dist/indicators/panel/AwesomeOscillator.d.ts +2 -11
  237. package/dist/indicators/panel/AwesomeOscillator.d.ts.map +1 -1
  238. package/dist/indicators/panel/BalanceOfPower.d.ts +2 -10
  239. package/dist/indicators/panel/BalanceOfPower.d.ts.map +1 -1
  240. package/dist/indicators/panel/BollingerBandWidth.d.ts +18 -0
  241. package/dist/indicators/panel/BollingerBandWidth.d.ts.map +1 -0
  242. package/dist/indicators/panel/BollingerPercentB.d.ts +21 -0
  243. package/dist/indicators/panel/BollingerPercentB.d.ts.map +1 -0
  244. package/dist/indicators/panel/CCI.d.ts +2 -10
  245. package/dist/indicators/panel/CCI.d.ts.map +1 -1
  246. package/dist/indicators/panel/CMF.d.ts +2 -10
  247. package/dist/indicators/panel/CMF.d.ts.map +1 -1
  248. package/dist/indicators/panel/ChaikinOscillator.d.ts +2 -11
  249. package/dist/indicators/panel/ChaikinOscillator.d.ts.map +1 -1
  250. package/dist/indicators/panel/ChaikinVolatility.d.ts +2 -11
  251. package/dist/indicators/panel/ChaikinVolatility.d.ts.map +1 -1
  252. package/dist/indicators/panel/ChandeMomentum.d.ts +2 -10
  253. package/dist/indicators/panel/ChandeMomentum.d.ts.map +1 -1
  254. package/dist/indicators/panel/ChoppinessIndex.d.ts +2 -10
  255. package/dist/indicators/panel/ChoppinessIndex.d.ts.map +1 -1
  256. package/dist/indicators/panel/ConnorsRSI.d.ts +2 -12
  257. package/dist/indicators/panel/ConnorsRSI.d.ts.map +1 -1
  258. package/dist/indicators/panel/Coppock.d.ts +2 -12
  259. package/dist/indicators/panel/Coppock.d.ts.map +1 -1
  260. package/dist/indicators/panel/DetrendedPriceOscillator.d.ts +2 -10
  261. package/dist/indicators/panel/DetrendedPriceOscillator.d.ts.map +1 -1
  262. package/dist/indicators/panel/DisparityIndex.d.ts +2 -10
  263. package/dist/indicators/panel/DisparityIndex.d.ts.map +1 -1
  264. package/dist/indicators/panel/EaseOfMovement.d.ts +2 -12
  265. package/dist/indicators/panel/EaseOfMovement.d.ts.map +1 -1
  266. package/dist/indicators/panel/ElderRay.d.ts +3 -9
  267. package/dist/indicators/panel/ElderRay.d.ts.map +1 -1
  268. package/dist/indicators/panel/FisherTransform.d.ts +2 -10
  269. package/dist/indicators/panel/FisherTransform.d.ts.map +1 -1
  270. package/dist/indicators/panel/ForceIndex.d.ts +2 -10
  271. package/dist/indicators/panel/ForceIndex.d.ts.map +1 -1
  272. package/dist/indicators/panel/HistoricalVolatility.d.ts +22 -0
  273. package/dist/indicators/panel/HistoricalVolatility.d.ts.map +1 -0
  274. package/dist/indicators/panel/KST.d.ts +2 -18
  275. package/dist/indicators/panel/KST.d.ts.map +1 -1
  276. package/dist/indicators/panel/Klinger.d.ts +2 -12
  277. package/dist/indicators/panel/Klinger.d.ts.map +1 -1
  278. package/dist/indicators/panel/LinearRegressionSlope.d.ts +9 -0
  279. package/dist/indicators/panel/LinearRegressionSlope.d.ts.map +1 -0
  280. package/dist/indicators/panel/MACD.d.ts +2 -12
  281. package/dist/indicators/panel/MACD.d.ts.map +1 -1
  282. package/dist/indicators/panel/MFI.d.ts +2 -10
  283. package/dist/indicators/panel/MFI.d.ts.map +1 -1
  284. package/dist/indicators/panel/MassIndex.d.ts +2 -11
  285. package/dist/indicators/panel/MassIndex.d.ts.map +1 -1
  286. package/dist/indicators/panel/Momentum.d.ts +9 -0
  287. package/dist/indicators/panel/Momentum.d.ts.map +1 -0
  288. package/dist/indicators/panel/NetVolume.d.ts +11 -0
  289. package/dist/indicators/panel/NetVolume.d.ts.map +1 -0
  290. package/dist/indicators/panel/OBV.d.ts +2 -8
  291. package/dist/indicators/panel/OBV.d.ts.map +1 -1
  292. package/dist/indicators/panel/PercentagePriceOscillator.d.ts +2 -12
  293. package/dist/indicators/panel/PercentagePriceOscillator.d.ts.map +1 -1
  294. package/dist/indicators/panel/PrettyGoodOscillator.d.ts +2 -10
  295. package/dist/indicators/panel/PrettyGoodOscillator.d.ts.map +1 -1
  296. package/dist/indicators/panel/PriceVolumeTrend.d.ts +2 -8
  297. package/dist/indicators/panel/PriceVolumeTrend.d.ts.map +1 -1
  298. package/dist/indicators/panel/Qstick.d.ts +2 -10
  299. package/dist/indicators/panel/Qstick.d.ts.map +1 -1
  300. package/dist/indicators/panel/ROC.d.ts +2 -10
  301. package/dist/indicators/panel/ROC.d.ts.map +1 -1
  302. package/dist/indicators/panel/RSI.d.ts +2 -10
  303. package/dist/indicators/panel/RSI.d.ts.map +1 -1
  304. package/dist/indicators/panel/RelativeMomentumIndex.d.ts +2 -11
  305. package/dist/indicators/panel/RelativeMomentumIndex.d.ts.map +1 -1
  306. package/dist/indicators/panel/RelativeVigor.d.ts +2 -10
  307. package/dist/indicators/panel/RelativeVigor.d.ts.map +1 -1
  308. package/dist/indicators/panel/RelativeVolatilityIndex.d.ts +12 -0
  309. package/dist/indicators/panel/RelativeVolatilityIndex.d.ts.map +1 -0
  310. package/dist/indicators/panel/SchaffTrendCycle.d.ts +2 -12
  311. package/dist/indicators/panel/SchaffTrendCycle.d.ts.map +1 -1
  312. package/dist/indicators/panel/StandardError.d.ts +9 -0
  313. package/dist/indicators/panel/StandardError.d.ts.map +1 -0
  314. package/dist/indicators/panel/StdDev.d.ts +2 -10
  315. package/dist/indicators/panel/StdDev.d.ts.map +1 -1
  316. package/dist/indicators/panel/Stochastic.d.ts +2 -12
  317. package/dist/indicators/panel/Stochastic.d.ts.map +1 -1
  318. package/dist/indicators/panel/StochasticMomentumIndex.d.ts +12 -0
  319. package/dist/indicators/panel/StochasticMomentumIndex.d.ts.map +1 -0
  320. package/dist/indicators/panel/StochasticRSI.d.ts +2 -13
  321. package/dist/indicators/panel/StochasticRSI.d.ts.map +1 -1
  322. package/dist/indicators/panel/TRIX.d.ts +2 -11
  323. package/dist/indicators/panel/TRIX.d.ts.map +1 -1
  324. package/dist/indicators/panel/TSI.d.ts +2 -12
  325. package/dist/indicators/panel/TSI.d.ts.map +1 -1
  326. package/dist/indicators/panel/TrendStrengthIndex.d.ts +9 -0
  327. package/dist/indicators/panel/TrendStrengthIndex.d.ts.map +1 -0
  328. package/dist/indicators/panel/UlcerIndex.d.ts +15 -0
  329. package/dist/indicators/panel/UlcerIndex.d.ts.map +1 -0
  330. package/dist/indicators/panel/UltimateOscillator.d.ts +2 -12
  331. package/dist/indicators/panel/UltimateOscillator.d.ts.map +1 -1
  332. package/dist/indicators/panel/VROC.d.ts +2 -10
  333. package/dist/indicators/panel/VROC.d.ts.map +1 -1
  334. package/dist/indicators/panel/VolumeDelta.d.ts +2 -10
  335. package/dist/indicators/panel/VolumeDelta.d.ts.map +1 -1
  336. package/dist/indicators/panel/VolumeOscillator.d.ts +11 -0
  337. package/dist/indicators/panel/VolumeOscillator.d.ts.map +1 -0
  338. package/dist/indicators/panel/VolumeProfile.d.ts +2 -9
  339. package/dist/indicators/panel/VolumeProfile.d.ts.map +1 -1
  340. package/dist/indicators/panel/Vortex.d.ts +2 -10
  341. package/dist/indicators/panel/Vortex.d.ts.map +1 -1
  342. package/dist/indicators/panel/WilliamsAD.d.ts +2 -10
  343. package/dist/indicators/panel/WilliamsAD.d.ts.map +1 -1
  344. package/dist/indicators/panel/WilliamsR.d.ts +2 -10
  345. package/dist/indicators/panel/WilliamsR.d.ts.map +1 -1
  346. package/dist/indicators/plots.d.ts +49 -0
  347. package/dist/indicators/plots.d.ts.map +1 -0
  348. package/dist/indicators/registry.d.ts.map +1 -1
  349. package/dist/indicators/sources.d.ts +37 -0
  350. package/dist/indicators/sources.d.ts.map +1 -0
  351. package/dist/indicators/symbols/SymbolSeriesStore.d.ts +21 -0
  352. package/dist/indicators/symbols/SymbolSeriesStore.d.ts.map +1 -0
  353. package/dist/indicators/symbols/symbolIndicators.d.ts +34 -0
  354. package/dist/indicators/symbols/symbolIndicators.d.ts.map +1 -0
  355. package/dist/interaction/CrosshairHandler.d.ts +31 -4
  356. package/dist/interaction/CrosshairHandler.d.ts.map +1 -1
  357. package/dist/interaction/CrosshairTooltip.d.ts +16 -9
  358. package/dist/interaction/CrosshairTooltip.d.ts.map +1 -1
  359. package/dist/interaction/InteractionManager.d.ts +69 -1
  360. package/dist/interaction/InteractionManager.d.ts.map +1 -1
  361. package/dist/interaction/PaneResizeHandler.d.ts.map +1 -1
  362. package/dist/interaction/PinnedTooltip.d.ts +9 -1
  363. package/dist/interaction/PinnedTooltip.d.ts.map +1 -1
  364. package/dist/interaction/PriceAxisAddButton.d.ts +17 -0
  365. package/dist/interaction/PriceAxisAddButton.d.ts.map +1 -0
  366. package/dist/interaction/ZoomHandler.d.ts +8 -0
  367. package/dist/interaction/ZoomHandler.d.ts.map +1 -1
  368. package/dist/interaction/index.d.ts +2 -0
  369. package/dist/interaction/index.d.ts.map +1 -1
  370. package/dist/realtime/CurrentPriceLine.d.ts.map +1 -1
  371. package/dist/realtime/StreamManager.d.ts +5 -0
  372. package/dist/realtime/StreamManager.d.ts.map +1 -1
  373. package/dist/realtime/TickAggregator.d.ts.map +1 -1
  374. package/dist/realtime/TickBars.d.ts +58 -0
  375. package/dist/realtime/TickBars.d.ts.map +1 -0
  376. package/dist/realtime/adapters/BinanceAdapter.d.ts +24 -1
  377. package/dist/realtime/adapters/BinanceAdapter.d.ts.map +1 -1
  378. package/dist/realtime/adapters/BybitAdapter.d.ts +3 -1
  379. package/dist/realtime/adapters/BybitAdapter.d.ts.map +1 -1
  380. package/dist/realtime/adapters/CoinbaseAdapter.d.ts.map +1 -1
  381. package/dist/realtime/adapters/KrakenAdapter.d.ts.map +1 -1
  382. package/dist/realtime/adapters/MockAdapter.d.ts +19 -1
  383. package/dist/realtime/adapters/MockAdapter.d.ts.map +1 -1
  384. package/dist/realtime/adapters/PollingAdapter.d.ts +14 -1
  385. package/dist/realtime/adapters/PollingAdapter.d.ts.map +1 -1
  386. package/dist/realtime/adapters/ResamplingAdapter.d.ts +84 -0
  387. package/dist/realtime/adapters/ResamplingAdapter.d.ts.map +1 -0
  388. package/dist/realtime/adapters/WebSocketAdapter.d.ts +14 -1
  389. package/dist/realtime/adapters/WebSocketAdapter.d.ts.map +1 -1
  390. package/dist/realtime/adapters/binanceTypes.d.ts +10 -1
  391. package/dist/realtime/adapters/binanceTypes.d.ts.map +1 -1
  392. package/dist/realtime/adapters/index.d.ts +1 -0
  393. package/dist/realtime/adapters/index.d.ts.map +1 -1
  394. package/dist/realtime/index.d.ts +1 -0
  395. package/dist/realtime/index.d.ts.map +1 -1
  396. package/dist/trading/BracketTool.d.ts.map +1 -1
  397. package/dist/trading/OrderDraftTool.d.ts.map +1 -1
  398. package/dist/trading/OrderRenderer.d.ts +2 -1
  399. package/dist/trading/OrderRenderer.d.ts.map +1 -1
  400. package/dist/trading/PaperExecutionAdapter.d.ts +17 -3
  401. package/dist/trading/PaperExecutionAdapter.d.ts.map +1 -1
  402. package/dist/trading/PositionRenderer.d.ts +6 -1
  403. package/dist/trading/PositionRenderer.d.ts.map +1 -1
  404. package/dist/trading/TradingContextMenu.d.ts +1 -1
  405. package/dist/trading/TradingContextMenu.d.ts.map +1 -1
  406. package/dist/trading/TradingManager.d.ts +23 -2
  407. package/dist/trading/TradingManager.d.ts.map +1 -1
  408. package/dist/trading/fillMarks.d.ts +14 -0
  409. package/dist/trading/fillMarks.d.ts.map +1 -0
  410. package/dist/trading/lineButtons.d.ts +31 -0
  411. package/dist/trading/lineButtons.d.ts.map +1 -0
  412. package/dist/trading/positionFormat.d.ts +1 -1
  413. package/dist/trading/positionFormat.d.ts.map +1 -1
  414. package/dist/ui/BarCountdown.d.ts.map +1 -1
  415. package/dist/ui/ChartLegend.d.ts +6 -0
  416. package/dist/ui/ChartLegend.d.ts.map +1 -1
  417. package/dist/ui/PriceLines.d.ts +38 -0
  418. package/dist/ui/PriceLines.d.ts.map +1 -0
  419. package/dist/ui/SessionBreaks.d.ts +4 -1
  420. package/dist/ui/SessionBreaks.d.ts.map +1 -1
  421. package/dist/ui/SessionShading.d.ts +2 -0
  422. package/dist/ui/SessionShading.d.ts.map +1 -1
  423. package/dist/ui/axisValueLabels.d.ts +35 -0
  424. package/dist/ui/axisValueLabels.d.ts.map +1 -0
  425. package/dist/ui/index.d.ts +6 -1
  426. package/dist/ui/index.d.ts.map +1 -1
  427. package/dist/ui/sessionHours.d.ts +12 -2
  428. package/dist/ui/sessionHours.d.ts.map +1 -1
  429. package/dist/ui/shapes.d.ts +9 -0
  430. package/dist/ui/shapes.d.ts.map +1 -0
  431. package/dist/viewport/ScaleMapping.d.ts +20 -0
  432. package/dist/viewport/ScaleMapping.d.ts.map +1 -1
  433. package/dist/viewport/Viewport.d.ts +38 -2
  434. package/dist/viewport/Viewport.d.ts.map +1 -1
  435. package/dist/viewport/index.d.ts +4 -2
  436. package/dist/viewport/index.d.ts.map +1 -1
  437. package/dist/viewport/rangePresets.d.ts +12 -0
  438. package/dist/viewport/rangePresets.d.ts.map +1 -0
  439. package/package.json +2 -2
@@ -1,15 +1,7 @@
1
- import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
2
  import { IndicatorBase } from '../IndicatorBase.js';
3
3
  export declare class StdDevIndicator extends IndicatorBase {
4
- descriptor: {
5
- id: string;
6
- name: string;
7
- placement: "panel";
8
- defaultConfig: {
9
- period: number;
10
- };
11
- };
4
+ descriptor: IndicatorDescriptor;
12
5
  calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
13
- render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
14
6
  }
15
7
  //# sourceMappingURL=StdDev.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StdDev.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/StdDev.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;AAKpD,qBAAa,eAAgB,SAAQ,aAAa;IAChD,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;CAoC7H"}
1
+ {"version":3,"file":"StdDev.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/StdDev.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,qBAAa,eAAgB,SAAQ,aAAa;IAChD,UAAU,EAAE,mBAAmB,CAQ7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CAoBtE"}
@@ -1,18 +1,8 @@
1
- import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
2
  import { IndicatorBase } from '../IndicatorBase.js';
3
3
  export declare class StochasticIndicator extends IndicatorBase {
4
- descriptor: {
5
- id: string;
6
- name: string;
7
- placement: "panel";
8
- defaultConfig: {
9
- kPeriod: number;
10
- dPeriod: number;
11
- smooth: number;
12
- };
13
- };
4
+ descriptor: IndicatorDescriptor;
14
5
  calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
15
6
  update(data: DataSeries, config: IndicatorConfig, prev: IndicatorOutput, from: number): IndicatorOutput | null;
16
- render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
17
7
  }
18
8
  //# sourceMappingURL=Stochastic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Stochastic.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/Stochastic.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;AAKpD,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,UAAU;;;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IA+CrE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAqC9G,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAyC7H"}
1
+ {"version":3,"file":"Stochastic.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/Stochastic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,UAAU,EAAE,mBAAmB,CAY7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IA+CrE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;CAoC/G"}
@@ -0,0 +1,12 @@
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Stochastic Momentum Index (Blau): where the close sits against the middle
5
+ * of the `period` bars' range, double-smoothed, in percent of half the range
6
+ * (−100 to 100), with a signal line.
7
+ */
8
+ export declare class StochasticMomentumIndexIndicator extends IndicatorBase {
9
+ descriptor: IndicatorDescriptor;
10
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
11
+ }
12
+ //# sourceMappingURL=StochasticMomentumIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StochasticMomentumIndex.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/StochasticMomentumIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;GAIG;AACH,qBAAa,gCAAiC,SAAQ,aAAa;IACjE,UAAU,EAAE,mBAAmB,CAY7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CA6BtE"}
@@ -1,4 +1,4 @@
1
- import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
2
  import { IndicatorBase } from '../IndicatorBase.js';
3
3
  /**
4
4
  * Stochastic RSI (Chande & Kroll) — applies the stochastic oscillator to RSI
@@ -6,18 +6,7 @@ import { IndicatorBase } from '../IndicatorBase.js';
6
6
  * reading. %K and %D lines; reference bands at 20 / 80.
7
7
  */
8
8
  export declare class StochasticRSIIndicator extends IndicatorBase {
9
- descriptor: {
10
- id: string;
11
- name: string;
12
- placement: "panel";
13
- defaultConfig: {
14
- rsiPeriod: number;
15
- stochPeriod: number;
16
- k: number;
17
- d: number;
18
- };
19
- };
9
+ descriptor: IndicatorDescriptor;
20
10
  calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
21
- render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
22
11
  }
23
12
  //# sourceMappingURL=StochasticRSI.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StochasticRSI.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/StochasticRSI.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;AAKpD;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,aAAa;IACvD,UAAU;;;;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAwCrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAuC7H"}
1
+ {"version":3,"file":"StochasticRSI.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/StochasticRSI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,aAAa;IACvD,UAAU,EAAE,mBAAmB,CAa7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CAuCtE"}
@@ -1,4 +1,4 @@
1
- import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
2
  import { IndicatorBase } from '../IndicatorBase.js';
3
3
  /**
4
4
  * TRIX (Jack Hutson) — the percent rate of change of a triple-smoothed EMA of
@@ -7,16 +7,7 @@ import { IndicatorBase } from '../IndicatorBase.js';
7
7
  * crossover entries.
8
8
  */
9
9
  export declare class TRIXIndicator extends IndicatorBase {
10
- descriptor: {
11
- id: string;
12
- name: string;
13
- placement: "panel";
14
- defaultConfig: {
15
- period: number;
16
- signal: number;
17
- };
18
- };
10
+ descriptor: IndicatorDescriptor;
19
11
  calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
20
- render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
21
12
  }
22
13
  //# sourceMappingURL=TRIX.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TRIX.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/TRIX.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;AAKpD;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,aAAa;IAC9C,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;CAgD7H"}
1
+ {"version":3,"file":"TRIX.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/TRIX.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,aAAa;IAC9C,UAAU,EAAE,mBAAmB,CAY7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CA4BtE"}
@@ -1,18 +1,8 @@
1
- import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
2
  import { IndicatorBase } from '../IndicatorBase.js';
3
3
  export declare class TSIIndicator extends IndicatorBase {
4
- descriptor: {
5
- id: string;
6
- name: string;
7
- placement: "panel";
8
- defaultConfig: {
9
- longPeriod: number;
10
- shortPeriod: number;
11
- signalPeriod: number;
12
- };
13
- };
4
+ descriptor: IndicatorDescriptor;
14
5
  private emaSmooth;
15
6
  calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
16
- render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
17
7
  }
18
8
  //# sourceMappingURL=TSI.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TSI.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/TSI.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;AAKpD,qBAAa,YAAa,SAAQ,aAAa;IAC7C,UAAU;;;;;;;;;MAKR;IAEF,OAAO,CAAC,SAAS;IASjB,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAwCrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAmD7H"}
1
+ {"version":3,"file":"TSI.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/TSI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,qBAAa,YAAa,SAAQ,aAAa;IAC7C,UAAU,EAAE,mBAAmB,CAY7B;IAEF,OAAO,CAAC,SAAS;IASjB,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CAuCtE"}
@@ -0,0 +1,9 @@
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorValue } from '@tradecanvas/commons';
2
+ import { PointwiseIndicator } from '../PointwiseIndicator.js';
3
+ /** Trend Strength Index: the correlation of the last `period` closes with time, −1 to 1. */
4
+ export declare class TrendStrengthIndexIndicator extends PointwiseIndicator<number> {
5
+ descriptor: IndicatorDescriptor;
6
+ protected read(config: IndicatorConfig): number;
7
+ protected pointAt(data: DataSeries, i: number, period: number): IndicatorValue | null;
8
+ }
9
+ //# sourceMappingURL=TrendStrengthIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TrendStrengthIndex.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/TrendStrengthIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAI9D,4FAA4F;AAC5F,qBAAa,2BAA4B,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IACzE,UAAU,EAAE,mBAAmB,CAU7B;IAEF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAI/C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CAItF"}
@@ -0,0 +1,15 @@
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Ulcer Index: the depth and length of drawdowns — the root mean square of
5
+ * each close's percent drop from the highest close of the `period` bars
6
+ * before it, over `period` bars.
7
+ */
8
+ export declare class UlcerIndexIndicator extends IndicatorBase {
9
+ descriptor: IndicatorDescriptor;
10
+ /** Each bar's drawdown behind each output, so a tick redoes only the new ones. */
11
+ private drawdowns;
12
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
13
+ update(data: DataSeries, config: IndicatorConfig, prev: IndicatorOutput, from: number): IndicatorOutput | null;
14
+ }
15
+ //# sourceMappingURL=UlcerIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UlcerIndex.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/UlcerIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,UAAU,EAAE,mBAAmB,CAS7B;IAEF,kFAAkF;IAClF,OAAO,CAAC,SAAS,CAAyC;IAE1D,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAQrE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;CAS/G"}
@@ -1,4 +1,4 @@
1
- import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
2
  import { IndicatorBase } from '../IndicatorBase.js';
3
3
  /**
4
4
  * Ultimate Oscillator (Larry Williams) — a 0–100 momentum oscillator that
@@ -9,17 +9,7 @@ import { IndicatorBase } from '../IndicatorBase.js';
9
9
  * BP = close − min(low, prevClose); TR = max(high, prevClose) − min(low, prevClose).
10
10
  */
11
11
  export declare class UltimateOscillatorIndicator extends IndicatorBase {
12
- descriptor: {
13
- id: string;
14
- name: string;
15
- placement: "panel";
16
- defaultConfig: {
17
- fast: number;
18
- mid: number;
19
- slow: number;
20
- };
21
- };
12
+ descriptor: IndicatorDescriptor;
22
13
  calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
23
- render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
24
14
  }
25
15
  //# sourceMappingURL=UltimateOscillator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UltimateOscillator.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/UltimateOscillator.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;AAKpD;;;;;;;GAOG;AACH,qBAAa,2BAA4B,SAAQ,aAAa;IAC5D,UAAU;;;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAoCrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAkC7H"}
1
+ {"version":3,"file":"UltimateOscillator.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/UltimateOscillator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;;;GAOG;AACH,qBAAa,2BAA4B,SAAQ,aAAa;IAC5D,UAAU,EAAE,mBAAmB,CAS7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CAmCtE"}
@@ -1,15 +1,7 @@
1
- import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
2
  import { IndicatorBase } from '../IndicatorBase.js';
3
3
  export declare class VROCIndicator extends IndicatorBase {
4
- descriptor: {
5
- id: string;
6
- name: string;
7
- placement: "panel";
8
- defaultConfig: {
9
- period: number;
10
- };
11
- };
4
+ descriptor: IndicatorDescriptor;
12
5
  calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
13
- render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
14
6
  }
15
7
  //# sourceMappingURL=VROC.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VROC.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/VROC.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;AAKpD,qBAAa,aAAc,SAAQ,aAAa;IAC9C,UAAU;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAerE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAgD7H"}
1
+ {"version":3,"file":"VROC.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/VROC.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,qBAAa,aAAc,SAAQ,aAAa;IAC9C,UAAU,EAAE,mBAAmB,CAQ7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CActE"}
@@ -1,4 +1,4 @@
1
- import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
2
  import { IndicatorBase } from '../IndicatorBase.js';
3
3
  /**
4
4
  * Directional volume ("volume delta") panel. Approximates buy/sell pressure
@@ -8,15 +8,7 @@ import { IndicatorBase } from '../IndicatorBase.js';
8
8
  * bid/ask data, which an OHLCV series doesn't carry.)
9
9
  */
10
10
  export declare class VolumeDeltaIndicator extends IndicatorBase {
11
- descriptor: {
12
- id: string;
13
- name: string;
14
- placement: "panel";
15
- defaultConfig: {
16
- mode: number;
17
- };
18
- };
11
+ descriptor: IndicatorDescriptor;
19
12
  calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
20
- render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
21
13
  }
22
14
  //# sourceMappingURL=VolumeDelta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VolumeDelta.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/VolumeDelta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,eAAe,EAEf,sBAAsB,EACtB,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKpD;;;;;;GAMG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,UAAU;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAqBrE,MAAM,CACJ,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,sBAAsB,GAC5B,IAAI;CA8BR"}
1
+ {"version":3,"file":"VolumeDelta.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/VolumeDelta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;;GAMG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,UAAU,EAAE,mBAAmB,CAO7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CAoBtE"}
@@ -0,0 +1,11 @@
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /** Volume Oscillator: how far a short EMA of volume is above or below a long one, in percent. */
4
+ export declare class VolumeOscillatorIndicator extends IndicatorBase {
5
+ descriptor: IndicatorDescriptor;
6
+ /** The two volume EMAs behind each output, so a tick extends them. */
7
+ private emas;
8
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
9
+ update(data: DataSeries, config: IndicatorConfig, prev: IndicatorOutput, from: number): IndicatorOutput | null;
10
+ }
11
+ //# sourceMappingURL=VolumeOscillator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VolumeOscillator.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/VolumeOscillator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,iGAAiG;AACjG,qBAAa,yBAA0B,SAAQ,aAAa;IAC1D,UAAU,EAAE,mBAAmB,CAS7B;IAEF,sEAAsE;IACtE,OAAO,CAAC,IAAI,CAAgE;IAE5E,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IASrE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;CAkB/G"}
@@ -1,14 +1,7 @@
1
- import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
2
  import { IndicatorBase } from '../IndicatorBase.js';
3
3
  export declare class VolumeProfileIndicator extends IndicatorBase {
4
- descriptor: {
5
- id: string;
6
- name: string;
7
- placement: "panel";
8
- defaultConfig: {
9
- rows: number;
10
- };
11
- };
4
+ descriptor: IndicatorDescriptor;
12
5
  calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
13
6
  render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
14
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VolumeProfile.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/VolumeProfile.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,qBAAa,sBAAuB,SAAQ,aAAa;IACvD,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;CAqB7H"}
1
+ {"version":3,"file":"VolumeProfile.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/VolumeProfile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrK,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKpD,qBAAa,sBAAuB,SAAQ,aAAa;IACvD,UAAU,EAAE,mBAAmB,CAO7B;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;CAqB7H"}
@@ -1,4 +1,4 @@
1
- import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
2
  import { IndicatorBase } from '../IndicatorBase.js';
3
3
  /**
4
4
  * Vortex Indicator (VI+ / VI−). Captures trend direction and strength from the
@@ -7,15 +7,7 @@ import { IndicatorBase } from '../IndicatorBase.js';
7
7
  * the stronger the trend.
8
8
  */
9
9
  export declare class VortexIndicator extends IndicatorBase {
10
- descriptor: {
11
- id: string;
12
- name: string;
13
- placement: "panel";
14
- defaultConfig: {
15
- period: number;
16
- };
17
- };
10
+ descriptor: IndicatorDescriptor;
18
11
  calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
19
- render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
20
12
  }
21
13
  //# sourceMappingURL=Vortex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Vortex.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/Vortex.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;AAKpD;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,aAAa;IAChD,UAAU;;;;;;;MAKR;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAwCrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CA0D7H"}
1
+ {"version":3,"file":"Vortex.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/Vortex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,aAAa;IAChD,UAAU,EAAE,mBAAmB,CAW7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CAuCtE"}
@@ -1,4 +1,4 @@
1
- import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
2
  import { IndicatorBase } from '../IndicatorBase.js';
3
3
  /**
4
4
  * Williams Accumulation/Distribution (Larry Williams) — a cumulative line that
@@ -7,15 +7,7 @@ import { IndicatorBase } from '../IndicatorBase.js';
7
7
  * signals accumulation or distribution ahead of a turn.
8
8
  */
9
9
  export declare class WilliamsADIndicator extends IndicatorBase {
10
- descriptor: {
11
- id: string;
12
- name: string;
13
- placement: "panel";
14
- defaultConfig: {};
15
- };
10
+ descriptor: IndicatorDescriptor;
16
11
  calculate(data: DataSeries, _config: IndicatorConfig): IndicatorOutput;
17
- render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
18
12
  }
19
- /** Shared: a single line auto-scaled to the visible min/max (for cumulative series). */
20
- export declare function drawCumulativeLine(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle, toX: (i: number, vp: ViewportState) => number): void;
21
13
  //# sourceMappingURL=WilliamsAD.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WilliamsAD.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/WilliamsAD.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,OAAO,EAAE,eAAe,GAAG,eAAe;IAqBtE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAG7H;AAED,wFAAwF;AACxF,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,sBAAsB,EAC7B,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,KAAK,MAAM,GAC5C,IAAI,CAgCN"}
1
+ {"version":3,"file":"WilliamsAD.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/WilliamsAD.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,UAAU,EAAE,mBAAmB,CAO7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,GAAG,eAAe;CAoBvE"}
@@ -1,15 +1,7 @@
1
- import { DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
2
  import { IndicatorBase } from '../IndicatorBase.js';
3
3
  export declare class WilliamsRIndicator extends IndicatorBase {
4
- descriptor: {
5
- id: string;
6
- name: string;
7
- placement: "panel";
8
- defaultConfig: {
9
- period: number;
10
- };
11
- };
4
+ descriptor: IndicatorDescriptor;
12
5
  calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
13
- render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
14
6
  }
15
7
  //# sourceMappingURL=WilliamsR.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WilliamsR.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/WilliamsR.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;AAKpD,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,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;CAoC7H"}
1
+ {"version":3,"file":"WilliamsR.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/WilliamsR.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,UAAU,EAAE,mBAAmB,CAS7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CAmBtE"}
@@ -0,0 +1,49 @@
1
+ import { IndicatorDescriptor, IndicatorOutput, IndicatorPlot, IndicatorValue, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ /** The output fields an indicator draws; null = every field (no `plots` declared). */
3
+ export declare function drawnKeys(descriptor: Pick<IndicatorDescriptor, 'plots'>): readonly string[] | null;
4
+ /** Whether a two-tone plot is drawn in its up colour at `val`. */
5
+ export declare function isUpTone(plot: IndicatorPlot, val: IndicatorValue): boolean;
6
+ /** The colour `plot` is drawn in at `val` (its down colour on a down bar of a two-tone plot). */
7
+ export declare function plotColor(plot: IndicatorPlot, style: ResolvedIndicatorStyle, val: IndicatorValue | null): string;
8
+ export interface PaneRangeOptions {
9
+ /** Fields to scan; null = all. */
10
+ keys: readonly string[] | null;
11
+ /** Fixed bounds and zero. */
12
+ scale?: IndicatorDescriptor['scale'];
13
+ /** Reference levels kept in view. */
14
+ levels?: readonly number[];
15
+ /** Keep zero in view (histograms grow from it). */
16
+ zero?: boolean;
17
+ }
18
+ /**
19
+ * The value range of an indicator pane over bars `[from, to]`: its drawn
20
+ * values, padded, then widened to its levels and zero and clamped to fixed
21
+ * bounds. Null when nothing is visible and no bound is fixed.
22
+ *
23
+ * Walks `output.series` over the visible bars only: it runs every frame
24
+ * while panning.
25
+ */
26
+ export declare function paneValueRange(output: IndicatorOutput | null, from: number, to: number, options: PaneRangeOptions): {
27
+ min: number;
28
+ max: number;
29
+ } | null;
30
+ /**
31
+ * `paneValueRange` for a logarithmic scale: padded by ratio, without zero
32
+ * and levels at or below it. Null when nothing is visible (and no positive
33
+ * bounds are fixed); false when a value there is at or below zero, which a
34
+ * log scale has no place for.
35
+ */
36
+ export declare function paneLogRange(output: IndicatorOutput | null, from: number, to: number, options: PaneRangeOptions): {
37
+ min: number;
38
+ max: number;
39
+ } | null | false;
40
+ /** Whether a plot list has a histogram (its pane then keeps zero in view). */
41
+ export declare function hasHistogram(plots: readonly IndicatorPlot[] | undefined): boolean;
42
+ /**
43
+ * Draw `plots` from `output` with the viewport's value scale, so the lines
44
+ * sit where the axis, crosshair and labels say they are. Gaps (bars with no
45
+ * value) break lines. Plot `n` uses `style.lineWidths[n]`, falling back to
46
+ * the first width.
47
+ */
48
+ export declare function renderPlots(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle, plots: readonly IndicatorPlot[]): void;
49
+ //# sourceMappingURL=plots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plots.d.ts","sourceRoot":"","sources":["../../src/indicators/plots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,aAAa,EACd,MAAM,sBAAsB,CAAC;AAM9B,sFAAsF;AACtF,wBAAgB,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,CAElG;AAED,kEAAkE;AAClE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAI1E;AAED,iGAAiG;AACjG,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,GAAG,MAAM,CAIhH;AAED,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAC/B,6BAA6B;IAC7B,KAAK,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACrC,qCAAqC;IACrC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,mDAAmD;IACnD,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,eAAe,GAAG,IAAI,EAC9B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,gBAAgB,GACxB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA0BrC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,eAAe,GAAG,IAAI,EAC9B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,gBAAgB,GACxB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,KAAK,CAwB7C;AAmCD,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,SAAS,GAAG,OAAO,CAEjF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,sBAAsB,EAC7B,KAAK,EAAE,SAAS,aAAa,EAAE,GAC9B,IAAI,CAsBN"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/indicators/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AA0E5D,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAyEvE"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/indicators/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAoG5D,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAkGvE"}
@@ -0,0 +1,37 @@
1
+ import { DataSeries, IndicatorDescriptor, IndicatorOutput, IndicatorValue, OHLCBar, PriceSource } from '@tradecanvas/commons';
2
+ /** Where an instance's input comes from. */
3
+ export type InputSource = {
4
+ kind: 'bars';
5
+ } | {
6
+ kind: 'price';
7
+ source: PriceSource;
8
+ } | {
9
+ kind: 'line';
10
+ instanceId: string;
11
+ key: string;
12
+ };
13
+ /** The parameter that picks an indicator's source, if it has one. */
14
+ export declare function sourceParam(descriptor: Pick<IndicatorDescriptor, 'inputs'>): string | null;
15
+ /** An instance's input, from its source parameter: the bars as they are, a price, or another indicator's line. */
16
+ export declare function inputSource(descriptor: Pick<IndicatorDescriptor, 'inputs'>, params: Readonly<Record<string, unknown>>): InputSource;
17
+ /**
18
+ * `data` with each bar's `close` replaced by its `source` price, for an
19
+ * indicator that reads `close`. Reuses `into` (the previous result), redoing
20
+ * only bars from `from` on: on a live tick only the last bar is rebuilt.
21
+ */
22
+ export declare function priceSourceBars(data: DataSeries, source: PriceSource, into?: OHLCBar[] | null, from?: number): OHLCBar[];
23
+ /**
24
+ * Bars made of another indicator's line `key`, from its first value on: open,
25
+ * high, low and close all hold the line's value, so any indicator can run on
26
+ * it. A gap after the first value repeats the last value. Null while the line
27
+ * has no value yet. `start` is the index in `data` of the first bar.
28
+ */
29
+ export declare function lineSourceBars(data: DataSeries, line: readonly (IndicatorValue | null)[] | undefined, key: string): {
30
+ bars: OHLCBar[];
31
+ start: number;
32
+ } | null;
33
+ /** An output computed on bars from `start` on, re-indexed to the full series of `length` bars. */
34
+ export declare function alignOutput(output: IndicatorOutput, start: number, length: number): IndicatorOutput;
35
+ /** An output with no values over `length` bars. */
36
+ export declare function emptyOutput(length: number): IndicatorOutput;
37
+ //# sourceMappingURL=sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../src/indicators/sources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,OAAO,EACP,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAG9B,4CAA4C;AAC5C,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG,MAAM,GAAG,IAAI,CAK1F;AAED,kHAAkH;AAClH,wBAAgB,WAAW,CACzB,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,EAC/C,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,WAAW,CAQb;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,GAAE,OAAO,EAAE,GAAG,IAAW,EAAE,IAAI,SAAI,GAAG,OAAO,EAAE,CASzH;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,EACpD,GAAG,EAAE,MAAM,GACV;IAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiB3C;AAED,kGAAkG;AAClG,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,CAKnG;AAED,mDAAmD;AACnD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAE3D"}
@@ -0,0 +1,21 @@
1
+ import { DataSeries } from '@tradecanvas/commons';
2
+ /**
3
+ * Other symbols' bars, for indicators that compare with them (a symbol
4
+ * drawn on the chart, a spread). Looked up by time, so the other series
5
+ * lines up with the chart's bars even when their sessions differ.
6
+ */
7
+ export declare class SymbolSeriesStore {
8
+ private series;
9
+ /** `symbol`'s bars (null forgets them). */
10
+ set(symbol: string, bars: DataSeries | null): void;
11
+ has(symbol: string): boolean;
12
+ get(symbol: string): DataSeries | undefined;
13
+ symbols(): string[];
14
+ /**
15
+ * `symbol`'s close as of `time`: its last bar at or before it. Undefined
16
+ * before the series starts, past its last bar's span, or for a symbol it
17
+ * doesn't have.
18
+ */
19
+ closeAt(symbol: string, time: number): number | undefined;
20
+ }
21
+ //# sourceMappingURL=SymbolSeriesStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SymbolSeriesStore.d.ts","sourceRoot":"","sources":["../../../src/indicators/symbols/SymbolSeriesStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAWvD;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAA4B;IAE1C,2CAA2C;IAC3C,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI;IAYlD,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI5B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI3C,OAAO,IAAI,MAAM,EAAE;IAInB;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAiB1D"}
@@ -0,0 +1,34 @@
1
+ import { DataSeries, IndicatorConfig, IndicatorDescriptor, IndicatorValue } from '@tradecanvas/commons';
2
+ import { PointwiseIndicator } from '../PointwiseIndicator.js';
3
+ import { SymbolSeriesStore } from './SymbolSeriesStore.js';
4
+ interface SymbolParams {
5
+ symbol: string;
6
+ }
7
+ interface SpreadParams extends SymbolParams {
8
+ ratio: boolean;
9
+ }
10
+ /**
11
+ * Another symbol's close on the chart's bars, by time (its bar at or before
12
+ * each one): compare it on its own scale (`scale: 'left'`) or in a pane of
13
+ * its own. Its bars come from the chart's `setSymbolSeries`.
14
+ */
15
+ export declare class CompareSymbolIndicator extends PointwiseIndicator<SymbolParams> {
16
+ private readonly store;
17
+ descriptor: IndicatorDescriptor;
18
+ constructor(store: SymbolSeriesStore);
19
+ protected read(config: IndicatorConfig): SymbolParams;
20
+ protected pointAt(data: DataSeries, i: number, { symbol }: SymbolParams): IndicatorValue | null;
21
+ }
22
+ /**
23
+ * The chart's close against another symbol's, bar by bar: their difference
24
+ * (`mode` 'spread') or their ratio ('ratio').
25
+ */
26
+ export declare class SpreadIndicator extends PointwiseIndicator<SpreadParams> {
27
+ private readonly store;
28
+ descriptor: IndicatorDescriptor;
29
+ constructor(store: SymbolSeriesStore);
30
+ protected read(config: IndicatorConfig): SpreadParams;
31
+ protected pointAt(data: DataSeries, i: number, { symbol, ratio }: SpreadParams): IndicatorValue | null;
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=symbolIndicators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbolIndicators.d.ts","sourceRoot":"","sources":["../../../src/indicators/symbols/symbolIndicators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,YAAa,SAAQ,YAAY;IACzC,KAAK,EAAE,OAAO,CAAC;CAChB;AAKD;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,kBAAkB,CAAC,YAAY,CAAC;IAU9D,OAAO,CAAC,QAAQ,CAAC,KAAK;IATlC,UAAU,EAAE,mBAAmB,CAO7B;gBAE2B,KAAK,EAAE,iBAAiB;IAIrD,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,YAAY;IAIrD,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,YAAY,GAAG,cAAc,GAAG,IAAI;CAKhG;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,kBAAkB,CAAC,YAAY,CAAC;IAWvD,OAAO,CAAC,QAAQ,CAAC,KAAK;IAVlC,UAAU,EAAE,mBAAmB,CAQ7B;gBAE2B,KAAK,EAAE,iBAAiB;IAIrD,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,YAAY;IAIrD,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,YAAY,GAAG,cAAc,GAAG,IAAI;CAOvG"}