lightweight-charts-indicators 0.9.1 → 0.11.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 (712) hide show
  1. package/README.md +63 -3
  2. package/dist/anchor-period.d.ts +173 -0
  3. package/dist/anchor-period.d.ts.map +1 -0
  4. package/dist/candlestick-port/adapter.d.ts +2 -1
  5. package/dist/candlestick-port/adapter.d.ts.map +1 -1
  6. package/dist/chart-context.d.ts +71 -0
  7. package/dist/chart-context.d.ts.map +1 -0
  8. package/dist/community/2b-reversal-pattern.d.ts +61 -0
  9. package/dist/community/2b-reversal-pattern.d.ts.map +1 -0
  10. package/dist/community/3rd-wave.d.ts +81 -0
  11. package/dist/community/3rd-wave.d.ts.map +1 -0
  12. package/dist/community/absorption-bubbles.d.ts +51 -0
  13. package/dist/community/absorption-bubbles.d.ts.map +1 -0
  14. package/dist/community/adaptive-trend-finder.d.ts +73 -0
  15. package/dist/community/adaptive-trend-finder.d.ts.map +1 -0
  16. package/dist/community/adx-and-di.d.ts +40 -0
  17. package/dist/community/adx-and-di.d.ts.map +1 -0
  18. package/dist/community/ai-trading-assistant-v2.d.ts +8 -6
  19. package/dist/community/ai-trading-assistant-v2.d.ts.map +1 -1
  20. package/dist/community/amd-po3-with-live-edge-stats.d.ts +136 -0
  21. package/dist/community/amd-po3-with-live-edge-stats.d.ts.map +1 -0
  22. package/dist/community/asset-risk-metrics.d.ts +8 -6
  23. package/dist/community/asset-risk-metrics.d.ts.map +1 -1
  24. package/dist/community/atr-stop-loss-finder.d.ts +62 -0
  25. package/dist/community/atr-stop-loss-finder.d.ts.map +1 -0
  26. package/dist/community/auto-fib-retracement-alerts.d.ts +74 -0
  27. package/dist/community/auto-fib-retracement-alerts.d.ts.map +1 -0
  28. package/dist/community/auto-fib-theyangguizi.d.ts +37 -0
  29. package/dist/community/auto-fib-theyangguizi.d.ts.map +1 -0
  30. package/dist/community/auto-fibo-indicators.d.ts.map +1 -1
  31. package/dist/community/auto-pitchfan-fib-extension-retracement-and.d.ts +103 -0
  32. package/dist/community/auto-pitchfan-fib-extension-retracement-and.d.ts.map +1 -0
  33. package/dist/community/auto-pitchfork-fib-retracement-zig-zag.d.ts +155 -0
  34. package/dist/community/auto-pitchfork-fib-retracement-zig-zag.d.ts.map +1 -0
  35. package/dist/community/bitcoin-kill-zones.d.ts +7 -1
  36. package/dist/community/bitcoin-kill-zones.d.ts.map +1 -1
  37. package/dist/community/bjorgum-key-levels.d.ts +153 -0
  38. package/dist/community/bjorgum-key-levels.d.ts.map +1 -0
  39. package/dist/community/bjorgum-mtf-ma.d.ts +104 -0
  40. package/dist/community/bjorgum-mtf-ma.d.ts.map +1 -0
  41. package/dist/community/bjorgum-superscript.d.ts +193 -0
  42. package/dist/community/bjorgum-superscript.d.ts.map +1 -0
  43. package/dist/community/blacklab84-panel.d.ts +6 -1
  44. package/dist/community/blacklab84-panel.d.ts.map +1 -1
  45. package/dist/community/bnf-25-50-ma-pullback-screener.d.ts +5 -1
  46. package/dist/community/bnf-25-50-ma-pullback-screener.d.ts.map +1 -1
  47. package/dist/community/breaker-blocks-order-blocks-confirm-bbob-alert.d.ts +149 -0
  48. package/dist/community/breaker-blocks-order-blocks-confirm-bbob-alert.d.ts.map +1 -0
  49. package/dist/community/breaker-blocks-with-signals.d.ts +77 -0
  50. package/dist/community/breaker-blocks-with-signals.d.ts.map +1 -0
  51. package/dist/community/breakout-finder.d.ts +56 -0
  52. package/dist/community/breakout-finder.d.ts.map +1 -0
  53. package/dist/community/breakout-probability.d.ts +70 -0
  54. package/dist/community/breakout-probability.d.ts.map +1 -0
  55. package/dist/community/breakout-targets.d.ts +67 -0
  56. package/dist/community/breakout-targets.d.ts.map +1 -0
  57. package/dist/community/breakouts-with-tests-retests.d.ts +60 -0
  58. package/dist/community/breakouts-with-tests-retests.d.ts.map +1 -0
  59. package/dist/community/buy-sell-hull-crossover-signals.d.ts +6 -2
  60. package/dist/community/buy-sell-hull-crossover-signals.d.ts.map +1 -1
  61. package/dist/community/buy-sell-signal-kelfry98.d.ts +56 -0
  62. package/dist/community/buy-sell-signal-kelfry98.d.ts.map +1 -0
  63. package/dist/community/buyside-sellside-liquidity.d.ts +65 -0
  64. package/dist/community/buyside-sellside-liquidity.d.ts.map +1 -0
  65. package/dist/community/candle-color-flip.d.ts +6 -2
  66. package/dist/community/candle-color-flip.d.ts.map +1 -1
  67. package/dist/community/candlestick-trend-indicator.d.ts +91 -0
  68. package/dist/community/candlestick-trend-indicator.d.ts.map +1 -0
  69. package/dist/community/change-in-state-of-delivery-cisd.d.ts +73 -0
  70. package/dist/community/change-in-state-of-delivery-cisd.d.ts.map +1 -0
  71. package/dist/community/cm-macd-custom-mtf-v5.d.ts +87 -0
  72. package/dist/community/cm-macd-custom-mtf-v5.d.ts.map +1 -0
  73. package/dist/community/cm-macd-custom-mtf.d.ts +63 -0
  74. package/dist/community/cm-macd-custom-mtf.d.ts.map +1 -0
  75. package/dist/community/cm-parabolic-sar.d.ts +47 -0
  76. package/dist/community/cm-parabolic-sar.d.ts.map +1 -0
  77. package/dist/community/cm-pivot-points-filtered.d.ts +70 -0
  78. package/dist/community/cm-pivot-points-filtered.d.ts.map +1 -0
  79. package/dist/community/cm-stochastic-mtf.d.ts +80 -0
  80. package/dist/community/cm-stochastic-mtf.d.ts.map +1 -0
  81. package/dist/community/cm-time-lines.d.ts +8 -1
  82. package/dist/community/cm-time-lines.d.ts.map +1 -1
  83. package/dist/community/cm-ultimate-ma-mtf-v2.d.ts +81 -0
  84. package/dist/community/cm-ultimate-ma-mtf-v2.d.ts.map +1 -0
  85. package/dist/community/cm-ultimate-rsi-mtf.d.ts +73 -0
  86. package/dist/community/cm-ultimate-rsi-mtf.d.ts.map +1 -0
  87. package/dist/community/cm-vix-fix-v3-upper-text-plots.d.ts +86 -0
  88. package/dist/community/cm-vix-fix-v3-upper-text-plots.d.ts.map +1 -0
  89. package/dist/community/consolidation-zones.d.ts +11 -3
  90. package/dist/community/consolidation-zones.d.ts.map +1 -1
  91. package/dist/community/crosby-ratio-quantumresearch.d.ts +5 -1
  92. package/dist/community/crosby-ratio-quantumresearch.d.ts.map +1 -1
  93. package/dist/community/cumulative-delta-volume.d.ts +72 -0
  94. package/dist/community/cumulative-delta-volume.d.ts.map +1 -0
  95. package/dist/community/cumulative-volume-delta-divergence-periodic.d.ts +60 -0
  96. package/dist/community/cumulative-volume-delta-divergence-periodic.d.ts.map +1 -0
  97. package/dist/community/cup-finder.d.ts +66 -0
  98. package/dist/community/cup-finder.d.ts.map +1 -0
  99. package/dist/community/daily-weekly-monthly-yearly-opens.d.ts +96 -0
  100. package/dist/community/daily-weekly-monthly-yearly-opens.d.ts.map +1 -0
  101. package/dist/community/delta-flow-profile.d.ts +83 -0
  102. package/dist/community/delta-flow-profile.d.ts.map +1 -0
  103. package/dist/community/deviation-trend-profile.d.ts +66 -0
  104. package/dist/community/deviation-trend-profile.d.ts.map +1 -0
  105. package/dist/community/dip-rip-patterns-the-quant-science.d.ts +4 -3
  106. package/dist/community/dip-rip-patterns-the-quant-science.d.ts.map +1 -1
  107. package/dist/community/divergence-for-many-indicator-v3.d.ts +68 -0
  108. package/dist/community/divergence-for-many-indicator-v3.d.ts.map +1 -0
  109. package/dist/community/divergence-for-many-indicators-v4.d.ts +84 -0
  110. package/dist/community/divergence-for-many-indicators-v4.d.ts.map +1 -0
  111. package/dist/community/divergence-indicator.d.ts +7 -2
  112. package/dist/community/divergence-indicator.d.ts.map +1 -1
  113. package/dist/community/dominance-signal-apex.d.ts +5 -1
  114. package/dist/community/dominance-signal-apex.d.ts.map +1 -1
  115. package/dist/community/donalt-smart-money-toolkit.d.ts +75 -0
  116. package/dist/community/donalt-smart-money-toolkit.d.ts.map +1 -0
  117. package/dist/community/double-zig-zag-with-hhll.d.ts +56 -0
  118. package/dist/community/double-zig-zag-with-hhll.d.ts.map +1 -0
  119. package/dist/community/dr-idr-v1.d.ts +122 -0
  120. package/dist/community/dr-idr-v1.d.ts.map +1 -0
  121. package/dist/community/dtfx-algo-zones.d.ts +84 -0
  122. package/dist/community/dtfx-algo-zones.d.ts.map +1 -0
  123. package/dist/community/dynamic-liquidity-heatmap-profile.d.ts +63 -0
  124. package/dist/community/dynamic-liquidity-heatmap-profile.d.ts.map +1 -0
  125. package/dist/community/dynamic-swing-anchored-vwap.d.ts +58 -0
  126. package/dist/community/dynamic-swing-anchored-vwap.d.ts.map +1 -0
  127. package/dist/community/early-pivot-alert-v1a.d.ts +6 -2
  128. package/dist/community/early-pivot-alert-v1a.d.ts.map +1 -1
  129. package/dist/community/elliott-wave-oscillator-lazybear.d.ts +31 -0
  130. package/dist/community/elliott-wave-oscillator-lazybear.d.ts.map +1 -0
  131. package/dist/community/elliott-wave-oscillator-signals-by-dgt.d.ts +111 -0
  132. package/dist/community/elliott-wave-oscillator-signals-by-dgt.d.ts.map +1 -0
  133. package/dist/community/elliott-wave.d.ts +68 -0
  134. package/dist/community/elliott-wave.d.ts.map +1 -0
  135. package/dist/community/engulfing-sweep-v6-bars-only.d.ts +5 -1
  136. package/dist/community/engulfing-sweep-v6-bars-only.d.ts.map +1 -1
  137. package/dist/community/entry-signals-long-short.d.ts +4 -2
  138. package/dist/community/entry-signals-long-short.d.ts.map +1 -1
  139. package/dist/community/equalhigh-japanese-triple-rci.d.ts +7 -2
  140. package/dist/community/equalhigh-japanese-triple-rci.d.ts.map +1 -1
  141. package/dist/community/fair-value-gap-luxalgo.d.ts +81 -0
  142. package/dist/community/fair-value-gap-luxalgo.d.ts.map +1 -0
  143. package/dist/community/fibo-levels-with-volume-profile-and-targets.d.ts +96 -0
  144. package/dist/community/fibo-levels-with-volume-profile-and-targets.d.ts.map +1 -0
  145. package/dist/community/fibonacci-auto-trend-scouter.d.ts +137 -0
  146. package/dist/community/fibonacci-auto-trend-scouter.d.ts.map +1 -0
  147. package/dist/community/fibonacci-confluence-toolkit.d.ts +85 -0
  148. package/dist/community/fibonacci-confluence-toolkit.d.ts.map +1 -0
  149. package/dist/community/fibonacci-extension-retracement-pivot-points.d.ts +123 -0
  150. package/dist/community/fibonacci-extension-retracement-pivot-points.d.ts.map +1 -0
  151. package/dist/community/fibonacci-projection-with-volume-delta-profile.d.ts +110 -0
  152. package/dist/community/fibonacci-projection-with-volume-delta-profile.d.ts.map +1 -0
  153. package/dist/community/fibonacci-ranges.d.ts +72 -0
  154. package/dist/community/fibonacci-ranges.d.ts.map +1 -0
  155. package/dist/community/fibonacci-structure-engine.d.ts +157 -0
  156. package/dist/community/fibonacci-structure-engine.d.ts.map +1 -0
  157. package/dist/community/fibonacci-trend.d.ts +58 -0
  158. package/dist/community/fibonacci-trend.d.ts.map +1 -0
  159. package/dist/community/fluidtrades-smc-lite.d.ts +63 -0
  160. package/dist/community/fluidtrades-smc-lite.d.ts.map +1 -0
  161. package/dist/community/fractals-v9.d.ts +69 -0
  162. package/dist/community/fractals-v9.d.ts.map +1 -0
  163. package/dist/community/fvg-ifvg-ict-inversion-fair-value-gap-signal.d.ts +101 -0
  164. package/dist/community/fvg-ifvg-ict-inversion-fair-value-gap-signal.d.ts.map +1 -0
  165. package/dist/community/fvg-instantaneous-mitigation-signals.d.ts +66 -0
  166. package/dist/community/fvg-instantaneous-mitigation-signals.d.ts.map +1 -0
  167. package/dist/community/fvg-order-blocks.d.ts +59 -0
  168. package/dist/community/fvg-order-blocks.d.ts.map +1 -0
  169. package/dist/community/fvg-sessions.d.ts +74 -0
  170. package/dist/community/fvg-sessions.d.ts.map +1 -0
  171. package/dist/community/fx-market-sessions.d.ts +169 -0
  172. package/dist/community/fx-market-sessions.d.ts.map +1 -0
  173. package/dist/community/fxn-asian-session-range.d.ts +150 -0
  174. package/dist/community/fxn-asian-session-range.d.ts.map +1 -0
  175. package/dist/community/fxn-week-and-day-separator.d.ts +77 -0
  176. package/dist/community/fxn-week-and-day-separator.d.ts.map +1 -0
  177. package/dist/community/ghost-tangent-crossings.d.ts +67 -0
  178. package/dist/community/ghost-tangent-crossings.d.ts.map +1 -0
  179. package/dist/community/harmonic-pattern-detection-prediction-and.d.ts +139 -0
  180. package/dist/community/harmonic-pattern-detection-prediction-and.d.ts.map +1 -0
  181. package/dist/community/harmonic-pattern-detection.d.ts +60 -0
  182. package/dist/community/harmonic-pattern-detection.d.ts.map +1 -0
  183. package/dist/community/higher-high-lower-low-strategy.d.ts +59 -0
  184. package/dist/community/higher-high-lower-low-strategy.d.ts.map +1 -0
  185. package/dist/community/higher-order-orderblocks-breakerblocks-range.d.ts +78 -0
  186. package/dist/community/higher-order-orderblocks-breakerblocks-range.d.ts.map +1 -0
  187. package/dist/community/hourly-trading-system.d.ts +99 -0
  188. package/dist/community/hourly-trading-system.d.ts.map +1 -0
  189. package/dist/community/htf-candles-mini-charts-by-dgt.d.ts +144 -0
  190. package/dist/community/htf-candles-mini-charts-by-dgt.d.ts.map +1 -0
  191. package/dist/community/ichimoku-hpotter.d.ts +42 -0
  192. package/dist/community/ichimoku-hpotter.d.ts.map +1 -0
  193. package/dist/community/ichimoku-theories.d.ts +113 -0
  194. package/dist/community/ichimoku-theories.d.ts.map +1 -0
  195. package/dist/community/ict-concept-order-block-fvg-liquidity-sweeps.d.ts +115 -0
  196. package/dist/community/ict-concept-order-block-fvg-liquidity-sweeps.d.ts.map +1 -0
  197. package/dist/community/ict-concepts.d.ts +163 -0
  198. package/dist/community/ict-concepts.d.ts.map +1 -0
  199. package/dist/community/ict-immediate-rebalance-toolkit.d.ts +152 -0
  200. package/dist/community/ict-immediate-rebalance-toolkit.d.ts.map +1 -0
  201. package/dist/community/ict-institutional-order-flow.d.ts +204 -0
  202. package/dist/community/ict-institutional-order-flow.d.ts.map +1 -0
  203. package/dist/community/ict-killzones-pivots-tfo.d.ts +169 -0
  204. package/dist/community/ict-killzones-pivots-tfo.d.ts.map +1 -0
  205. package/dist/community/ict-killzones-toolkit.d.ts +141 -0
  206. package/dist/community/ict-killzones-toolkit.d.ts.map +1 -0
  207. package/dist/community/ict-liquidity-sweep-swing-fail-pattern-v-1.d.ts +115 -0
  208. package/dist/community/ict-liquidity-sweep-swing-fail-pattern-v-1.d.ts.map +1 -0
  209. package/dist/community/ict-macros.d.ts +154 -0
  210. package/dist/community/ict-macros.d.ts.map +1 -0
  211. package/dist/community/ict-power-of-three-flux-charts.d.ts +82 -0
  212. package/dist/community/ict-power-of-three-flux-charts.d.ts.map +1 -0
  213. package/dist/community/ict-silver-bullet.d.ts +86 -0
  214. package/dist/community/ict-silver-bullet.d.ts.map +1 -0
  215. package/dist/community/ict-turtle-soup-flux-charts.d.ts +90 -0
  216. package/dist/community/ict-turtle-soup-flux-charts.d.ts.map +1 -0
  217. package/dist/community/ict-unicorn-model.d.ts +69 -0
  218. package/dist/community/ict-unicorn-model.d.ts.map +1 -0
  219. package/dist/community/ideal-bb-ma.d.ts +6 -1
  220. package/dist/community/ideal-bb-ma.d.ts.map +1 -1
  221. package/dist/community/imbalance-detector.d.ts +87 -0
  222. package/dist/community/imbalance-detector.d.ts.map +1 -0
  223. package/dist/community/indicador-millo-sma20-sma200-ao-rsi-m1.d.ts +4 -3
  224. package/dist/community/indicador-millo-sma20-sma200-ao-rsi-m1.d.ts.map +1 -1
  225. package/dist/community/indicators-volume-weighted-macd-histogram.d.ts +42 -0
  226. package/dist/community/indicators-volume-weighted-macd-histogram.d.ts.map +1 -0
  227. package/dist/community/initial-balance-breakout-signals.d.ts +106 -0
  228. package/dist/community/initial-balance-breakout-signals.d.ts.map +1 -0
  229. package/dist/community/inside-bar-coloring-w-alerts.d.ts +5 -3
  230. package/dist/community/inside-bar-coloring-w-alerts.d.ts.map +1 -1
  231. package/dist/community/inside-bars.d.ts +6 -1
  232. package/dist/community/inside-bars.d.ts.map +1 -1
  233. package/dist/community/intraday-volume-swings.d.ts +6 -1
  234. package/dist/community/intraday-volume-swings.d.ts.map +1 -1
  235. package/dist/community/inversion-fair-value-gaps.d.ts +58 -0
  236. package/dist/community/inversion-fair-value-gaps.d.ts.map +1 -0
  237. package/dist/community/itg-scalper.d.ts +82 -0
  238. package/dist/community/itg-scalper.d.ts.map +1 -0
  239. package/dist/community/kalman-filter-trend-breakers.d.ts +5 -1
  240. package/dist/community/kalman-filter-trend-breakers.d.ts.map +1 -1
  241. package/dist/community/kalman-vwap-filter.d.ts +5 -3
  242. package/dist/community/kalman-vwap-filter.d.ts.map +1 -1
  243. package/dist/community/kaufman-trend-strength-signal.d.ts +6 -1
  244. package/dist/community/kaufman-trend-strength-signal.d.ts.map +1 -1
  245. package/dist/community/key-levels-spacemanbtc-idwm.d.ts +121 -0
  246. package/dist/community/key-levels-spacemanbtc-idwm.d.ts.map +1 -0
  247. package/dist/community/linear-regression-channel-curve-slope-by-dgt.d.ts +139 -0
  248. package/dist/community/linear-regression-channel-curve-slope-by-dgt.d.ts.map +1 -0
  249. package/dist/community/linear-regression-oscillator.d.ts +56 -0
  250. package/dist/community/linear-regression-oscillator.d.ts.map +1 -0
  251. package/dist/community/liquidation-reversal-signals.d.ts +77 -0
  252. package/dist/community/liquidation-reversal-signals.d.ts.map +1 -0
  253. package/dist/community/liquidity-delta-profiler.d.ts +80 -0
  254. package/dist/community/liquidity-delta-profiler.d.ts.map +1 -0
  255. package/dist/community/liquidity-heatmap.d.ts +103 -0
  256. package/dist/community/liquidity-heatmap.d.ts.map +1 -0
  257. package/dist/community/liquidity-levels-mtf-sonarlab.d.ts +108 -0
  258. package/dist/community/liquidity-levels-mtf-sonarlab.d.ts.map +1 -0
  259. package/dist/community/liquidity-pools-pro.d.ts +122 -0
  260. package/dist/community/liquidity-pools-pro.d.ts.map +1 -0
  261. package/dist/community/liquidity-pools.d.ts +62 -0
  262. package/dist/community/liquidity-pools.d.ts.map +1 -0
  263. package/dist/community/liquidity-price-depth-chart.d.ts +79 -0
  264. package/dist/community/liquidity-price-depth-chart.d.ts.map +1 -0
  265. package/dist/community/liquidity-sweep-filter.d.ts +78 -0
  266. package/dist/community/liquidity-sweep-filter.d.ts.map +1 -0
  267. package/dist/community/liquidity-swings.d.ts +65 -0
  268. package/dist/community/liquidity-swings.d.ts.map +1 -0
  269. package/dist/community/liquidity-thermal-map.d.ts +70 -0
  270. package/dist/community/liquidity-thermal-map.d.ts.map +1 -0
  271. package/dist/community/liquidity-voids.d.ts +61 -0
  272. package/dist/community/liquidity-voids.d.ts.map +1 -0
  273. package/dist/community/liquidity-zones.d.ts +67 -0
  274. package/dist/community/liquidity-zones.d.ts.map +1 -0
  275. package/dist/community/lorentzian-classification.d.ts +119 -0
  276. package/dist/community/lorentzian-classification.d.ts.map +1 -0
  277. package/dist/community/ma-cross-alert-mtf.d.ts +62 -0
  278. package/dist/community/ma-cross-alert-mtf.d.ts.map +1 -0
  279. package/dist/community/ma-sabres.d.ts +50 -0
  280. package/dist/community/ma-sabres.d.ts.map +1 -0
  281. package/dist/community/macd-based-price-forecasting.d.ts +74 -0
  282. package/dist/community/macd-based-price-forecasting.d.ts.map +1 -0
  283. package/dist/community/machine-learning-knn-trend-predictor.d.ts +5 -1
  284. package/dist/community/machine-learning-knn-trend-predictor.d.ts.map +1 -1
  285. package/dist/community/machine-learning-rsi-bullvision.d.ts +72 -0
  286. package/dist/community/machine-learning-rsi-bullvision.d.ts.map +1 -0
  287. package/dist/community/market-profile-with-tpo.d.ts +110 -0
  288. package/dist/community/market-profile-with-tpo.d.ts.map +1 -0
  289. package/dist/community/market-profile.d.ts +69 -0
  290. package/dist/community/market-profile.d.ts.map +1 -0
  291. package/dist/community/market-sentiment-technicals.d.ts +109 -0
  292. package/dist/community/market-sentiment-technicals.d.ts.map +1 -0
  293. package/dist/community/market-sessions-by-leviathan.d.ts +103 -0
  294. package/dist/community/market-sessions-by-leviathan.d.ts.map +1 -0
  295. package/dist/community/market-sessions-volume-profile.d.ts +96 -0
  296. package/dist/community/market-sessions-volume-profile.d.ts.map +1 -0
  297. package/dist/community/market-shift-levels.d.ts +6 -1
  298. package/dist/community/market-shift-levels.d.ts.map +1 -1
  299. package/dist/community/market-structure-break-ob-probability-toolkit.d.ts +82 -0
  300. package/dist/community/market-structure-break-ob-probability-toolkit.d.ts.map +1 -0
  301. package/dist/community/market-structure-break-order-block.d.ts +66 -0
  302. package/dist/community/market-structure-break-order-block.d.ts.map +1 -0
  303. package/dist/community/market-structure-by-leviathan.d.ts +63 -0
  304. package/dist/community/market-structure-by-leviathan.d.ts.map +1 -0
  305. package/dist/community/market-structure-choch-bos.d.ts +60 -0
  306. package/dist/community/market-structure-choch-bos.d.ts.map +1 -0
  307. package/dist/community/market-structure-dashboard-flux-charts.d.ts +193 -0
  308. package/dist/community/market-structure-dashboard-flux-charts.d.ts.map +1 -0
  309. package/dist/community/market-structure-oscillator.d.ts +100 -0
  310. package/dist/community/market-structure-oscillator.d.ts.map +1 -0
  311. package/dist/community/market-structure-trend.d.ts +5 -1
  312. package/dist/community/market-structure-trend.d.ts.map +1 -1
  313. package/dist/community/market-structure-with-inducements-sweeps.d.ts +63 -0
  314. package/dist/community/market-structure-with-inducements-sweeps.d.ts.map +1 -0
  315. package/dist/community/mean-reversion-channel.d.ts +95 -0
  316. package/dist/community/mean-reversion-channel.d.ts.map +1 -0
  317. package/dist/community/mfi-seiglerj.d.ts +49 -0
  318. package/dist/community/mfi-seiglerj.d.ts.map +1 -0
  319. package/dist/community/mirage-liquidity-sweep-pro.d.ts +125 -0
  320. package/dist/community/mirage-liquidity-sweep-pro.d.ts.map +1 -0
  321. package/dist/community/momentum-shift.d.ts +61 -0
  322. package/dist/community/momentum-shift.d.ts.map +1 -0
  323. package/dist/community/money-flow-index-alerts.d.ts +59 -0
  324. package/dist/community/money-flow-index-alerts.d.ts.map +1 -0
  325. package/dist/community/money-flow-profile.d.ts +89 -0
  326. package/dist/community/money-flow-profile.d.ts.map +1 -0
  327. package/dist/community/moving-vwap-kama-cloud.d.ts +8 -6
  328. package/dist/community/moving-vwap-kama-cloud.d.ts.map +1 -1
  329. package/dist/community/mtf-order-block-finder.d.ts +96 -0
  330. package/dist/community/mtf-order-block-finder.d.ts.map +1 -0
  331. package/dist/community/multi-kernel-regression.d.ts +65 -0
  332. package/dist/community/multi-kernel-regression.d.ts.map +1 -0
  333. package/dist/community/multitimeframe-fair-value-gap-fvg.d.ts +86 -0
  334. package/dist/community/multitimeframe-fair-value-gap-fvg.d.ts.map +1 -0
  335. package/dist/community/nadaraya-watson-envelope.d.ts +59 -0
  336. package/dist/community/nadaraya-watson-envelope.d.ts.map +1 -0
  337. package/dist/community/nadaraya-watson-smoothers.d.ts +54 -0
  338. package/dist/community/nadaraya-watson-smoothers.d.ts.map +1 -0
  339. package/dist/community/obv-oscillator-lazybear.d.ts +37 -0
  340. package/dist/community/obv-oscillator-lazybear.d.ts.map +1 -0
  341. package/dist/community/opening-range-breakout-with-2-profit-targets.d.ts +79 -0
  342. package/dist/community/opening-range-breakout-with-2-profit-targets.d.ts.map +1 -0
  343. package/dist/community/opening-range-breakouts-targets.d.ts +96 -0
  344. package/dist/community/opening-range-breakouts-targets.d.ts.map +1 -0
  345. package/dist/community/orb-algo-flux-charts.d.ts +95 -0
  346. package/dist/community/orb-algo-flux-charts.d.ts.map +1 -0
  347. package/dist/community/orb-opening-range-breakout.d.ts +47 -0
  348. package/dist/community/orb-opening-range-breakout.d.ts.map +1 -0
  349. package/dist/community/order-block-detector.d.ts +64 -0
  350. package/dist/community/order-block-detector.d.ts.map +1 -0
  351. package/dist/community/order-block-finder.d.ts +66 -0
  352. package/dist/community/order-block-finder.d.ts.map +1 -0
  353. package/dist/community/order-blocks-breaker-blocks.d.ts +61 -0
  354. package/dist/community/order-blocks-breaker-blocks.d.ts.map +1 -0
  355. package/dist/community/order-blocks-flux-charts.d.ts +72 -0
  356. package/dist/community/order-blocks-flux-charts.d.ts.map +1 -0
  357. package/dist/community/oscillator-matrix.d.ts +5 -1
  358. package/dist/community/oscillator-matrix.d.ts.map +1 -1
  359. package/dist/community/pivot-hh-hl-lh-ll.d.ts +5 -1
  360. package/dist/community/pivot-hh-hl-lh-ll.d.ts.map +1 -1
  361. package/dist/community/pivot-hilo-support-n-resistance-levels-r3-3.d.ts +86 -0
  362. package/dist/community/pivot-hilo-support-n-resistance-levels-r3-3.d.ts.map +1 -0
  363. package/dist/community/pivot-point-hpotter.d.ts +49 -0
  364. package/dist/community/pivot-point-hpotter.d.ts.map +1 -0
  365. package/dist/community/pivot-points-high-low-missed-reversal.d.ts +59 -0
  366. package/dist/community/pivot-points-high-low-missed-reversal.d.ts.map +1 -0
  367. package/dist/community/pivot-points-high-low-multi-time-frame.d.ts +68 -0
  368. package/dist/community/pivot-points-high-low-multi-time-frame.d.ts.map +1 -0
  369. package/dist/community/pmax-on-rsi-with-tillson-t3.d.ts +65 -0
  370. package/dist/community/pmax-on-rsi-with-tillson-t3.d.ts.map +1 -0
  371. package/dist/community/power-of-3-ict-01-amd-ict-smc-accumulations.d.ts +56 -0
  372. package/dist/community/power-of-3-ict-01-amd-ict-smc-accumulations.d.ts.map +1 -0
  373. package/dist/community/precision-sniper.d.ts +174 -0
  374. package/dist/community/precision-sniper.d.ts.map +1 -0
  375. package/dist/community/predictive-ranges.d.ts +53 -0
  376. package/dist/community/predictive-ranges.d.ts.map +1 -0
  377. package/dist/community/price-action-signals-filtered-ema.d.ts +5 -1
  378. package/dist/community/price-action-signals-filtered-ema.d.ts.map +1 -1
  379. package/dist/community/price-action-smart-money-concepts.d.ts +110 -0
  380. package/dist/community/price-action-smart-money-concepts.d.ts.map +1 -0
  381. package/dist/community/prometheus-topological-persistent-entropy.d.ts +5 -1
  382. package/dist/community/prometheus-topological-persistent-entropy.d.ts.map +1 -1
  383. package/dist/community/pullback-trading-tool-alt-r1-0-by-justunclel.d.ts +86 -0
  384. package/dist/community/pullback-trading-tool-alt-r1-0-by-justunclel.d.ts.map +1 -0
  385. package/dist/community/pulse-range.d.ts +6 -2
  386. package/dist/community/pulse-range.d.ts.map +1 -1
  387. package/dist/community/pure-coca.d.ts +6 -1
  388. package/dist/community/pure-coca.d.ts.map +1 -1
  389. package/dist/community/pure-price-action-ict-tools.d.ts +120 -0
  390. package/dist/community/pure-price-action-ict-tools.d.ts.map +1 -0
  391. package/dist/community/pure-price-action-structures.d.ts +78 -0
  392. package/dist/community/pure-price-action-structures.d.ts.map +1 -0
  393. package/dist/community/q-impulse-entry.d.ts +5 -1
  394. package/dist/community/q-impulse-entry.d.ts.map +1 -1
  395. package/dist/community/qqe-kivanc.d.ts +50 -0
  396. package/dist/community/qqe-kivanc.d.ts.map +1 -0
  397. package/dist/community/range-filter-buy-sell-5min.d.ts +47 -0
  398. package/dist/community/range-filter-buy-sell-5min.d.ts.map +1 -0
  399. package/dist/community/ranges-with-targets.d.ts +73 -0
  400. package/dist/community/ranges-with-targets.d.ts.map +1 -0
  401. package/dist/community/redk-vol-weighted-rsi.d.ts +5 -1
  402. package/dist/community/redk-vol-weighted-rsi.d.ts.map +1 -1
  403. package/dist/community/relative-strength-index-divergences-libertus.d.ts +67 -0
  404. package/dist/community/relative-strength-index-divergences-libertus.d.ts.map +1 -0
  405. package/dist/community/renko-candles-overlay.d.ts +78 -0
  406. package/dist/community/renko-candles-overlay.d.ts.map +1 -0
  407. package/dist/community/renko-flip-alert.d.ts +5 -1
  408. package/dist/community/renko-flip-alert.d.ts.map +1 -1
  409. package/dist/community/reversal-candlestick-structure.d.ts +85 -0
  410. package/dist/community/reversal-candlestick-structure.d.ts.map +1 -0
  411. package/dist/community/reversal-probability-zone-levels.d.ts +90 -0
  412. package/dist/community/reversal-probability-zone-levels.d.ts.map +1 -0
  413. package/dist/community/reversal-signals.d.ts +72 -0
  414. package/dist/community/reversal-signals.d.ts.map +1 -0
  415. package/dist/community/rsi-cyclic-smoothed-v2.d.ts +44 -0
  416. package/dist/community/rsi-cyclic-smoothed-v2.d.ts.map +1 -0
  417. package/dist/community/rsi-entry-engine.d.ts +90 -0
  418. package/dist/community/rsi-entry-engine.d.ts.map +1 -0
  419. package/dist/community/rsi-flux-charts.d.ts +80 -0
  420. package/dist/community/rsi-flux-charts.d.ts.map +1 -0
  421. package/dist/community/rsi-ma-cross-divergence-signal.d.ts +6 -2
  422. package/dist/community/rsi-ma-cross-divergence-signal.d.ts.map +1 -1
  423. package/dist/community/rsi-perfect-flip-dots.d.ts +5 -1
  424. package/dist/community/rsi-perfect-flip-dots.d.ts.map +1 -1
  425. package/dist/community/rsi-support-resistance-by-dgt.d.ts +99 -0
  426. package/dist/community/rsi-support-resistance-by-dgt.d.ts.map +1 -0
  427. package/dist/community/rsi-swing-indicator-v2.d.ts +47 -0
  428. package/dist/community/rsi-swing-indicator-v2.d.ts.map +1 -0
  429. package/dist/community/saty-atr-levels.d.ts +77 -0
  430. package/dist/community/saty-atr-levels.d.ts.map +1 -0
  431. package/dist/community/scalp-pro.d.ts +47 -0
  432. package/dist/community/scalp-pro.d.ts.map +1 -0
  433. package/dist/community/scalping-pullback-tool.d.ts +70 -0
  434. package/dist/community/scalping-pullback-tool.d.ts.map +1 -0
  435. package/dist/community/scalping-swing-trading-tool-r1-4-by-justunclel.d.ts +65 -0
  436. package/dist/community/scalping-swing-trading-tool-r1-4-by-justunclel.d.ts.map +1 -0
  437. package/dist/community/self-aware-trend-system.d.ts +154 -0
  438. package/dist/community/self-aware-trend-system.d.ts.map +1 -0
  439. package/dist/community/sequential-pattern-strength.d.ts +5 -1
  440. package/dist/community/sequential-pattern-strength.d.ts.map +1 -1
  441. package/dist/community/session-sweeps.d.ts +125 -0
  442. package/dist/community/session-sweeps.d.ts.map +1 -0
  443. package/dist/community/sessions-luxalgo.d.ts +110 -0
  444. package/dist/community/sessions-luxalgo.d.ts.map +1 -0
  445. package/dist/community/sessions-on-chart.d.ts +57 -0
  446. package/dist/community/sessions-on-chart.d.ts.map +1 -0
  447. package/dist/community/sharpshooter-30-ema-distance.d.ts +5 -1
  448. package/dist/community/sharpshooter-30-ema-distance.d.ts.map +1 -1
  449. package/dist/community/signal-forge.d.ts +115 -0
  450. package/dist/community/signal-forge.d.ts.map +1 -0
  451. package/dist/community/signal-table-autofib-sma-ema-rsi-atr-vol.d.ts +173 -0
  452. package/dist/community/signal-table-autofib-sma-ema-rsi-atr-vol.d.ts.map +1 -0
  453. package/dist/community/slow-stochastic.d.ts +42 -0
  454. package/dist/community/slow-stochastic.d.ts.map +1 -0
  455. package/dist/community/sma-dma-crossing-signal.d.ts +5 -1
  456. package/dist/community/sma-dma-crossing-signal.d.ts.map +1 -1
  457. package/dist/community/smart-money-breakout-channels.d.ts +95 -0
  458. package/dist/community/smart-money-breakout-channels.d.ts.map +1 -0
  459. package/dist/community/smart-money-breakout-signals.d.ts +66 -0
  460. package/dist/community/smart-money-breakout-signals.d.ts.map +1 -0
  461. package/dist/community/smart-money-breakouts.d.ts +70 -0
  462. package/dist/community/smart-money-breakouts.d.ts.map +1 -0
  463. package/dist/community/smart-money-concepts-luxalgo.d.ts +134 -0
  464. package/dist/community/smart-money-concepts-luxalgo.d.ts.map +1 -0
  465. package/dist/community/smart-money-concepts-probability.d.ts +79 -0
  466. package/dist/community/smart-money-concepts-probability.d.ts.map +1 -0
  467. package/dist/community/smart-money-volume-index.d.ts +58 -0
  468. package/dist/community/smart-money-volume-index.d.ts.map +1 -0
  469. package/dist/community/smarter-snr.d.ts +131 -0
  470. package/dist/community/smarter-snr.d.ts.map +1 -0
  471. package/dist/community/smc-structures-and-fvg.d.ts +107 -0
  472. package/dist/community/smc-structures-and-fvg.d.ts.map +1 -0
  473. package/dist/community/ssl-hybrid.d.ts +80 -0
  474. package/dist/community/ssl-hybrid.d.ts.map +1 -0
  475. package/dist/community/strong-burst-fader-projectsyndicate.d.ts +6 -2
  476. package/dist/community/strong-burst-fader-projectsyndicate.d.ts.map +1 -1
  477. package/dist/community/super-orderblock-fvg-bos.d.ts +116 -0
  478. package/dist/community/super-orderblock-fvg-bos.d.ts.map +1 -0
  479. package/dist/community/superbollingertrend.d.ts +68 -0
  480. package/dist/community/superbollingertrend.d.ts.map +1 -0
  481. package/dist/community/supertrend-relative-volume-kernel.d.ts +81 -0
  482. package/dist/community/supertrend-relative-volume-kernel.d.ts.map +1 -0
  483. package/dist/community/supply-and-demand-daily.d.ts +71 -0
  484. package/dist/community/supply-and-demand-daily.d.ts.map +1 -0
  485. package/dist/community/supply-and-demand-visible-range.d.ts +97 -0
  486. package/dist/community/supply-and-demand-visible-range.d.ts.map +1 -0
  487. package/dist/community/supply-and-demand-zones.d.ts +56 -0
  488. package/dist/community/supply-and-demand-zones.d.ts.map +1 -0
  489. package/dist/community/supply-demand-flux-charts.d.ts +88 -0
  490. package/dist/community/supply-demand-flux-charts.d.ts.map +1 -0
  491. package/dist/community/support-and-resistance-flux-charts.d.ts +102 -0
  492. package/dist/community/support-and-resistance-flux-charts.d.ts.map +1 -0
  493. package/dist/community/support-and-resistance-logistic-regression.d.ts +70 -0
  494. package/dist/community/support-and-resistance-logistic-regression.d.ts.map +1 -0
  495. package/dist/community/support-resistance-channels-mtf.d.ts +99 -0
  496. package/dist/community/support-resistance-channels-mtf.d.ts.map +1 -0
  497. package/dist/community/support-resistance-dynamic-v2.d.ts +70 -0
  498. package/dist/community/support-resistance-dynamic-v2.d.ts.map +1 -0
  499. package/dist/community/support-resistance-dynamic.d.ts +65 -0
  500. package/dist/community/support-resistance-dynamic.d.ts.map +1 -0
  501. package/dist/community/support-resistance-high-volume-boxes.d.ts +58 -0
  502. package/dist/community/support-resistance-high-volume-boxes.d.ts.map +1 -0
  503. package/dist/community/support-resistance-interactive.d.ts +72 -0
  504. package/dist/community/support-resistance-interactive.d.ts.map +1 -0
  505. package/dist/community/support-resistance-mtf.d.ts +62 -0
  506. package/dist/community/support-resistance-mtf.d.ts.map +1 -0
  507. package/dist/community/support-resistance-power-channel.d.ts +55 -0
  508. package/dist/community/support-resistance-power-channel.d.ts.map +1 -0
  509. package/dist/community/support-resistance-pro-toolkit.d.ts +84 -0
  510. package/dist/community/support-resistance-pro-toolkit.d.ts.map +1 -0
  511. package/dist/community/support-resistance-signals-mtf.d.ts +113 -0
  512. package/dist/community/support-resistance-signals-mtf.d.ts.map +1 -0
  513. package/dist/community/support-resistance-v2-indicator.d.ts +58 -0
  514. package/dist/community/support-resistance-v2-indicator.d.ts.map +1 -0
  515. package/dist/community/support-resistance-with-breaks-and-retests.d.ts +74 -0
  516. package/dist/community/support-resistance-with-breaks-and-retests.d.ts.map +1 -0
  517. package/dist/community/swing-failure-pattern.d.ts +74 -0
  518. package/dist/community/swing-failure-pattern.d.ts.map +1 -0
  519. package/dist/community/swing-levels-and-liquidity-by-leviathan.d.ts +93 -0
  520. package/dist/community/swing-levels-and-liquidity-by-leviathan.d.ts.map +1 -0
  521. package/dist/community/swing-profile.d.ts +66 -0
  522. package/dist/community/swing-profile.d.ts.map +1 -0
  523. package/dist/community/swing-volume-profiles.d.ts +95 -0
  524. package/dist/community/swing-volume-profiles.d.ts.map +1 -0
  525. package/dist/community/target-trend.d.ts +58 -0
  526. package/dist/community/target-trend.d.ts.map +1 -0
  527. package/dist/community/the-echo-forecast.d.ts +61 -0
  528. package/dist/community/the-echo-forecast.d.ts.map +1 -0
  529. package/dist/community/the-mean-goose-v1.d.ts +5 -1
  530. package/dist/community/the-mean-goose-v1.d.ts.map +1 -1
  531. package/dist/community/three-bar-reversal-pattern.d.ts +67 -0
  532. package/dist/community/three-bar-reversal-pattern.d.ts.map +1 -0
  533. package/dist/community/tma-overlay.d.ts +70 -0
  534. package/dist/community/tma-overlay.d.ts.map +1 -0
  535. package/dist/community/traders-reality-main.d.ts +247 -0
  536. package/dist/community/traders-reality-main.d.ts.map +1 -0
  537. package/dist/community/trading-abc.d.ts +82 -0
  538. package/dist/community/trading-abc.d.ts.map +1 -0
  539. package/dist/community/trend-channels-with-liquidity-breaks.d.ts +68 -0
  540. package/dist/community/trend-channels-with-liquidity-breaks.d.ts.map +1 -0
  541. package/dist/community/trend-direction-helper.d.ts +89 -0
  542. package/dist/community/trend-direction-helper.d.ts.map +1 -0
  543. package/dist/community/trend-direction-zone.d.ts +6 -1
  544. package/dist/community/trend-direction-zone.d.ts.map +1 -1
  545. package/dist/community/trend-duration-forecast.d.ts +65 -0
  546. package/dist/community/trend-duration-forecast.d.ts.map +1 -0
  547. package/dist/community/trend-filter.d.ts +5 -1
  548. package/dist/community/trend-filter.d.ts.map +1 -1
  549. package/dist/community/trend-indicator-a-v2.d.ts +53 -0
  550. package/dist/community/trend-indicator-a-v2.d.ts.map +1 -0
  551. package/dist/community/trend-levels.d.ts +57 -0
  552. package/dist/community/trend-levels.d.ts.map +1 -0
  553. package/dist/community/trend-lines-v2.d.ts +5 -1
  554. package/dist/community/trend-lines-v2.d.ts.map +1 -1
  555. package/dist/community/trend-lines.d.ts +55 -0
  556. package/dist/community/trend-lines.d.ts.map +1 -0
  557. package/dist/community/trend-state-signals.d.ts +6 -2
  558. package/dist/community/trend-state-signals.d.ts.map +1 -1
  559. package/dist/community/trend-targets.d.ts +67 -0
  560. package/dist/community/trend-targets.d.ts.map +1 -0
  561. package/dist/community/trend-type-indicator-by-bobrivera990.d.ts +60 -0
  562. package/dist/community/trend-type-indicator-by-bobrivera990.d.ts.map +1 -0
  563. package/dist/community/trending-market-toolkit.d.ts +78 -0
  564. package/dist/community/trending-market-toolkit.d.ts.map +1 -0
  565. package/dist/community/trendline-breakout-navigator.d.ts +80 -0
  566. package/dist/community/trendline-breakout-navigator.d.ts.map +1 -0
  567. package/dist/community/trendline-breakouts-with-targets.d.ts +62 -0
  568. package/dist/community/trendline-breakouts-with-targets.d.ts.map +1 -0
  569. package/dist/community/trendlines-jd.d.ts +67 -0
  570. package/dist/community/trendlines-jd.d.ts.map +1 -0
  571. package/dist/community/trendwave-bands.d.ts +5 -1
  572. package/dist/community/trendwave-bands.d.ts.map +1 -1
  573. package/dist/community/ttm-squeeze-greeny.d.ts +38 -0
  574. package/dist/community/ttm-squeeze-greeny.d.ts.map +1 -0
  575. package/dist/community/ttrades-daily-bias.d.ts +89 -0
  576. package/dist/community/ttrades-daily-bias.d.ts.map +1 -0
  577. package/dist/community/ultimate-moving-average-mtf.d.ts +73 -0
  578. package/dist/community/ultimate-moving-average-mtf.d.ts.map +1 -0
  579. package/dist/community/ultimate-opening-range-breakout.d.ts +100 -0
  580. package/dist/community/ultimate-opening-range-breakout.d.ts.map +1 -0
  581. package/dist/community/universal-signal-backtester.d.ts +100 -0
  582. package/dist/community/universal-signal-backtester.d.ts.map +1 -0
  583. package/dist/community/user-defined-range-selector-and-color-changing-ema-line.d.ts +7 -2
  584. package/dist/community/user-defined-range-selector-and-color-changing-ema-line.d.ts.map +1 -1
  585. package/dist/community/vdub-binary-pro-3-v2.d.ts +83 -0
  586. package/dist/community/vdub-binary-pro-3-v2.d.ts.map +1 -0
  587. package/dist/community/volumatic-variable-index-dynamic-average.d.ts +63 -0
  588. package/dist/community/volumatic-variable-index-dynamic-average.d.ts.map +1 -0
  589. package/dist/community/volume-bar-breakout.d.ts +5 -1
  590. package/dist/community/volume-bar-breakout.d.ts.map +1 -1
  591. package/dist/community/volume-based-support-resistance-zones.d.ts +132 -0
  592. package/dist/community/volume-based-support-resistance-zones.d.ts.map +1 -0
  593. package/dist/community/volume-gaps-imbalances.d.ts +77 -0
  594. package/dist/community/volume-gaps-imbalances.d.ts.map +1 -0
  595. package/dist/community/volume-order-blocks.d.ts +62 -0
  596. package/dist/community/volume-order-blocks.d.ts.map +1 -0
  597. package/dist/community/volume-orderbook.d.ts +68 -0
  598. package/dist/community/volume-orderbook.d.ts.map +1 -0
  599. package/dist/community/volume-profile-fixed-range.d.ts +64 -0
  600. package/dist/community/volume-profile-fixed-range.d.ts.map +1 -0
  601. package/dist/community/volume-profile-free-ultra-sli.d.ts +143 -0
  602. package/dist/community/volume-profile-free-ultra-sli.d.ts.map +1 -0
  603. package/dist/community/volume-profile-kv4coins.d.ts +75 -0
  604. package/dist/community/volume-profile-kv4coins.d.ts.map +1 -0
  605. package/dist/community/volume-profile-per-day-with-support.d.ts +94 -0
  606. package/dist/community/volume-profile-per-day-with-support.d.ts.map +1 -0
  607. package/dist/community/volume-profile-pivot-anchored.d.ts +87 -0
  608. package/dist/community/volume-profile-pivot-anchored.d.ts.map +1 -0
  609. package/dist/community/volume-profile-pivot-levels.d.ts +67 -0
  610. package/dist/community/volume-profile-pivot-levels.d.ts.map +1 -0
  611. package/dist/community/volume-profile.d.ts +64 -0
  612. package/dist/community/volume-profile.d.ts.map +1 -0
  613. package/dist/community/volume-sentiment-breakout-channels.d.ts +73 -0
  614. package/dist/community/volume-sentiment-breakout-channels.d.ts.map +1 -0
  615. package/dist/community/volume-spike-and-contraction-indicator.d.ts +5 -1
  616. package/dist/community/volume-spike-and-contraction-indicator.d.ts.map +1 -1
  617. package/dist/community/volume-suite-by-leviathan.d.ts +129 -0
  618. package/dist/community/volume-suite-by-leviathan.d.ts.map +1 -0
  619. package/dist/community/volume-trend-order-block-engine.d.ts +70 -0
  620. package/dist/community/volume-trend-order-block-engine.d.ts.map +1 -0
  621. package/dist/community/vwap-deviation-oscillator.d.ts +5 -1
  622. package/dist/community/vwap-deviation-oscillator.d.ts.map +1 -1
  623. package/dist/community/vwap-dual-ma-ribbon-tracker-pro.d.ts +8 -6
  624. package/dist/community/vwap-dual-ma-ribbon-tracker-pro.d.ts.map +1 -1
  625. package/dist/community/vwap-mvwap-ema-crossover.d.ts +7 -2
  626. package/dist/community/vwap-mvwap-ema-crossover.d.ts.map +1 -1
  627. package/dist/community/vwap-predictive-breakout-rsi-ob-trend-chop.d.ts +8 -6
  628. package/dist/community/vwap-predictive-breakout-rsi-ob-trend-chop.d.ts.map +1 -1
  629. package/dist/community/vwap-stdev-bands-v2-mod.d.ts +63 -0
  630. package/dist/community/vwap-stdev-bands-v2-mod.d.ts.map +1 -0
  631. package/dist/community/wavetrend-oscillator-wt.d.ts +43 -0
  632. package/dist/community/wavetrend-oscillator-wt.d.ts.map +1 -0
  633. package/dist/community/wedge-and-flag-finder.d.ts +75 -0
  634. package/dist/community/wedge-and-flag-finder.d.ts.map +1 -0
  635. package/dist/community/weis-wave-volume-lazybear.d.ts +39 -0
  636. package/dist/community/weis-wave-volume-lazybear.d.ts.map +1 -0
  637. package/dist/community/wick-volume-alert.d.ts +5 -1
  638. package/dist/community/wick-volume-alert.d.ts.map +1 -1
  639. package/dist/community/z-score-oscillator.d.ts +7 -2
  640. package/dist/community/z-score-oscillator.d.ts.map +1 -1
  641. package/dist/community/zero-lag-hma-trend-suite.d.ts +5 -3
  642. package/dist/community/zero-lag-hma-trend-suite.d.ts.map +1 -1
  643. package/dist/community/zero-lag-trend-signals.d.ts +71 -0
  644. package/dist/community/zero-lag-trend-signals.d.ts.map +1 -0
  645. package/dist/community/zig-zag-channels.d.ts +53 -0
  646. package/dist/community/zig-zag-channels.d.ts.map +1 -0
  647. package/dist/community/zigzag-fibonacci.d.ts +17 -6
  648. package/dist/community/zigzag-fibonacci.d.ts.map +1 -1
  649. package/dist/community/zigzag-multi-time-frame-with-fibonacci.d.ts +69 -0
  650. package/dist/community/zigzag-multi-time-frame-with-fibonacci.d.ts.map +1 -0
  651. package/dist/community/zigzag-percent-reversal-forecast-patterns.d.ts +86 -0
  652. package/dist/community/zigzag-percent-reversal-forecast-patterns.d.ts.map +1 -0
  653. package/dist/index.cjs +133916 -35697
  654. package/dist/index.d.ts +533 -2
  655. package/dist/index.d.ts.map +1 -1
  656. package/dist/index.mjs +126745 -27585
  657. package/dist/lower-tf-volume.d.ts +48 -0
  658. package/dist/lower-tf-volume.d.ts.map +1 -0
  659. package/dist/render/primitives.d.ts +19 -6
  660. package/dist/render/primitives.d.ts.map +1 -1
  661. package/dist/render/renderer.d.ts +2 -1
  662. package/dist/render/renderer.d.ts.map +1 -1
  663. package/dist/render.mjs +9 -5
  664. package/dist/standard/awesome-oscillator.d.ts +2 -7
  665. package/dist/standard/awesome-oscillator.d.ts.map +1 -1
  666. package/dist/standard/chande-mo.d.ts +3 -1
  667. package/dist/standard/chande-mo.d.ts.map +1 -1
  668. package/dist/standard/choppiness.d.ts +2 -0
  669. package/dist/standard/choppiness.d.ts.map +1 -1
  670. package/dist/standard/cumulative-volume-delta.d.ts +25 -7
  671. package/dist/standard/cumulative-volume-delta.d.ts.map +1 -1
  672. package/dist/standard/dema.d.ts +0 -1
  673. package/dist/standard/dema.d.ts.map +1 -1
  674. package/dist/standard/historical-volatility.d.ts +2 -5
  675. package/dist/standard/historical-volatility.d.ts.map +1 -1
  676. package/dist/standard/klinger.d.ts +3 -9
  677. package/dist/standard/klinger.d.ts.map +1 -1
  678. package/dist/standard/lsma.d.ts +1 -1
  679. package/dist/standard/lsma.d.ts.map +1 -1
  680. package/dist/standard/macd.d.ts +16 -3
  681. package/dist/standard/macd.d.ts.map +1 -1
  682. package/dist/standard/mcginley-dynamic.d.ts +1 -2
  683. package/dist/standard/mcginley-dynamic.d.ts.map +1 -1
  684. package/dist/standard/moon-phases.d.ts +7 -1
  685. package/dist/standard/moon-phases.d.ts.map +1 -1
  686. package/dist/standard/net-volume.d.ts +18 -5
  687. package/dist/standard/net-volume.d.ts.map +1 -1
  688. package/dist/standard/price-oscillator.d.ts +17 -10
  689. package/dist/standard/price-oscillator.d.ts.map +1 -1
  690. package/dist/standard/relative-volume-at-time.d.ts +15 -4
  691. package/dist/standard/relative-volume-at-time.d.ts.map +1 -1
  692. package/dist/standard/smma.d.ts +3 -1
  693. package/dist/standard/smma.d.ts.map +1 -1
  694. package/dist/standard/stoch-rsi.d.ts +3 -1
  695. package/dist/standard/stoch-rsi.d.ts.map +1 -1
  696. package/dist/standard/tema.d.ts +1 -3
  697. package/dist/standard/tema.d.ts.map +1 -1
  698. package/dist/standard/twap.d.ts +11 -2
  699. package/dist/standard/twap.d.ts.map +1 -1
  700. package/dist/standard/ulcer-index.d.ts +5 -3
  701. package/dist/standard/ulcer-index.d.ts.map +1 -1
  702. package/dist/standard/up-down-volume.d.ts +19 -5
  703. package/dist/standard/up-down-volume.d.ts.map +1 -1
  704. package/dist/standard/volume-delta.d.ts +18 -4
  705. package/dist/standard/volume-delta.d.ts.map +1 -1
  706. package/dist/standard/vwap.d.ts +39 -10
  707. package/dist/standard/vwap.d.ts.map +1 -1
  708. package/dist/standard/williams-alligator.d.ts +4 -4
  709. package/dist/standard/williams-alligator.d.ts.map +1 -1
  710. package/dist/standard/zigzag.d.ts +17 -4
  711. package/dist/standard/zigzag.d.ts.map +1 -1
  712. package/package.json +5 -5
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  **[Live Demo](https://deepentropy.github.io/lightweight-charts-indicators/)**
4
4
 
5
- 1290 technical analysis indicators for the lightweight-charts library — 95 standard indicators, 1150 community indicators, and 45 candlestick patterns. PineScript v6 compatible with full drawing primitive support (lines, boxes, labels, tables).
5
+ 1551 technical analysis indicators for the lightweight-charts library — 95 standard indicators, 1411 community indicators, and 45 candlestick patterns. PineScript v6 compatible with full drawing primitive support (lines, boxes, labels, tables).
6
6
 
7
7
  ## Installation
8
8
 
@@ -34,6 +34,38 @@ const macdResult = MACD.calculate(bars, { fastLength: 12, slowLength: 26, signal
34
34
  const bbResult = BollingerBands.calculate(bars, { length: 20, mult: 2 });
35
35
  ```
36
36
 
37
+ ## Chart Context
38
+
39
+ Some indicators read values of the chart and its symbol: the price tick, the exchange time zone, the symbol name and
40
+ type, the chart colours, the current time, or whether the last bar is still open. Give them in the optional third
41
+ argument of `calculate`:
42
+
43
+ ```typescript
44
+ import { indicatorRegistry, type ChartContext } from 'lightweight-charts-indicators';
45
+
46
+ const chart: ChartContext = {
47
+ timeframe: '15', // chart timeframe
48
+ timezone: 'America/New_York', // exchange time zone
49
+ session: '0930-1600', // session hours of the symbol
50
+ tickerid: 'NASDAQ:AAPL',
51
+ mintick: 0.01, // price tick
52
+ symbolType: 'stock',
53
+ currency: 'USD',
54
+ lastBarConfirmed: false, // the last bar is still open
55
+ };
56
+
57
+ const entry = indicatorRegistry.find((e) => e.id === 'ict-killzones-pivots-tfo')!;
58
+ const result = entry.calculate(bars, {}, chart);
59
+ ```
60
+
61
+ Every value is optional. Without a value an indicator uses a fallback: tick 0.01, UTC, no symbol name, "USD", the
62
+ dark theme colours, the computer clock, and all bars closed. The type is the oakscriptjs `ChartContext` with
63
+ `symbolType`, `currency`, `foregroundColor`, `backgroundColor` and `now` added (see `src/chart-context.ts`).
64
+
65
+ A few indicators draw from the bars visible on the chart. Give the time (in ms) of the first and last visible bar in
66
+ `leftVisibleBarTime` and `rightVisibleBarTime` (fallback: all the bars); their registry entry has
67
+ `usesVisibleRange: true`, so calculate them again when the user scrolls or zooms the chart.
68
+
37
69
  ## Drawing Results with the Renderer
38
70
 
39
71
  `lightweight-charts-indicators/render` draws a complete indicator result (plots, fills, hlines, markers, arrows, bar
@@ -204,7 +236,7 @@ chart.timeScale().subscribeVisibleLogicalRangeChange(range => {
204
236
 
205
237
  | Indicator | Export | Description |
206
238
  |-----------|--------|-------------|
207
- | MACD | `MACD` | Relationship between two EMAs |
239
+ | MACD | `MACD` | Relationship between two moving averages (EMA or SMA) |
208
240
  | Momentum | `Momentum` | Rate of change of price |
209
241
  | Rate of Change | `ROC` | Percentage change over a period |
210
242
  | Balance of Power | `BOP` | Strength of buyers vs sellers |
@@ -286,7 +318,7 @@ chart.timeScale().subscribeVisibleLogicalRangeChange(range => {
286
318
 
287
319
  ### Community Indicators (498)
288
320
 
289
- 1150 community indicators ported from PineScript sources, covering trend systems, divergence detectors, multi-MA strategies, volume analysis, market structure, and more. Full list in [docs/INDICATOR_INVENTORY_COMMUNITY.md](docs/INDICATOR_INVENTORY_COMMUNITY.md).
321
+ 1411 community indicators ported from PineScript sources, covering trend systems, divergence detectors, multi-MA strategies, volume analysis, market structure, and more. Full list in [docs/INDICATOR_INVENTORY_COMMUNITY.md](docs/INDICATOR_INVENTORY_COMMUNITY.md).
290
322
 
291
323
  Categories include: Hyper Trend, AlphaTrend, HalfTrend, QQE MOD, Hull Suite, SuperTrend variants, Market Structure Trailing Stop, Liquidity Levels, Order Blocks, ZigZag Fibonacci, Trendlines with Breaks, and many more.
292
324
 
@@ -375,6 +407,34 @@ const result = sma?.calculate(bars, sma.defaultInputs);
375
407
  const oscillators = indicatorRegistry.filter(i => i.category === 'Oscillators');
376
408
  ```
377
409
 
410
+ ### Settings dialog
411
+
412
+ Each registry entry gives its inputs in `inputConfig`, in the order, with the titles, limits and layout of the
413
+ original indicator. A settings dialog can be built from these fields:
414
+
415
+ | Field | Meaning |
416
+ |---|---|
417
+ | `title`, `type`, `defval`, `options`, `min`, `max`, `step` | Label, control and limits (an empty title has no label) |
418
+ | `group` | Section header: consecutive inputs with the same group are shown under it |
419
+ | `inline` | Inputs with the same `inline` id are shown on one row |
420
+ | `tooltip` | Info text of the input |
421
+ | `display` | Where the value is shown outside the dialog (`'all'`, `'none'`, ...) |
422
+ | `active` | The input is greyed out unless the condition on other inputs holds |
423
+
424
+ ```typescript
425
+ import { isInputActive } from 'oakscriptjs';
426
+ import { indicatorRegistry } from 'lightweight-charts-indicators';
427
+
428
+ const { inputConfig } = indicatorRegistry.find(i => i.id === 'ma-ribbon')!;
429
+ const inputs = { showMa2: false };
430
+
431
+ for (const input of inputConfig) {
432
+ const enabled = isInputActive(input, inputs, inputConfig); // ma2Type, ma2Source, ma2Length, ma2Color: false
433
+ }
434
+ ```
435
+
436
+ An inactive input still gives its value to `calculate`.
437
+
378
438
  ## Building
379
439
 
380
440
  ```bash
@@ -0,0 +1,173 @@
1
+ /**
2
+ * Timeframe periods of the bars, for ports with a timeframe input (PineScript `time(tf)`, `timeframe.change(tf)`,
3
+ * `request.security` on the chart symbol), and the chart timeframe of the bars (lower-timeframe volume ports).
4
+ *
5
+ * The original computes periods from the exchange time zone and the trading sessions of the symbol, which the bars
6
+ * do not carry. Every function takes the chart context as an optional last argument (see chart-context.ts).
7
+ *
8
+ * With `chart.timezone` and `chart.session` (the session hours of the symbol, with its corrections and holidays
9
+ * when the caller has them; `chart.regularSession` on extended-hours bars), the periods are those of the exchange
10
+ * calendar. The values come from the session functions of oakscriptjs (`periodTime`, `resampleSession`,
11
+ * `chartSessionFlags`, `tradingDayTime`, `barTimeAfter`, `barsUntil`: the values of the script API `time(tf)`,
12
+ * `request.security`, `session.*`, `time_tradingday`), which have the PineScript rules: trading days from the
13
+ * session and its holidays, sessions that cross midnight, "nD" counted in trading days from the first trading day of
14
+ * the year, weeks from Monday, the start of a D / W / M period at the session start of its first trading day, an
15
+ * intraday bar after an early close outside its day, and a higher-timeframe bar completed by the chart bar whose
16
+ * close reaches the end of the period (`securityPeriods`).
17
+ * `chart.timeframe`, when given, is the chart timeframe; else it is taken from the bar spacing.
18
+ *
19
+ * Without the time zone or the session the port uses the UTC calendar and takes the session start of a trading day
20
+ * from the bars:
21
+ * - symbols with bars on Saturdays or Sundays trade every day: each UTC day is a trading day starting at 00:00 UTC
22
+ * - other symbols: the trading days are the UTC days that have bars, and a trading day starts at its first bar
23
+ * Then, as in the original:
24
+ * - "" (the chart timeframe): every bar is its own period
25
+ * - seconds / minutes: periods of the timeframe length aligned on the session start of the trading day
26
+ * - "D": the trading day; "nD": n trading days counted from the first trading day of the year (when the bars start
27
+ * after it, the count starts at the first bar)
28
+ * - "W": the week from Monday; "nW": n weeks counted from the first Monday of the year
29
+ * - "M": the month; "nM": n months counted from January
30
+ * - `time(tf)` of D / W / M periods: the session start of the first trading day of the period (the first bar of
31
+ * the period on symbols that do not trade every day)
32
+ * This fallback is exact on UTC 24x7 symbols and on symbols whose trading day is inside the UTC day with bars from
33
+ * the session start (e.g. US stocks); not on sessions that cross 00:00 UTC (futures, forex), and a week or a "nD"
34
+ * period shortened by a holiday is only seen through the bars. Before the first bar the port has no trading days:
35
+ * the first period of the bars (the first year for "nD" on symbols that do not trade every day) can differ.
36
+ */
37
+ import { type Bar, type SessionFlags } from 'oakscriptjs';
38
+ import type { ChartContext } from './chart-context';
39
+ /** True when the context gives the exchange calendar: the time zone and the session of the symbol. */
40
+ export declare function hasCalendar(chart?: ChartContext): boolean;
41
+ /**
42
+ * PineScript `time(tf)` of each bar: the start of the `tf` period that contains the bar, in the unit of the bar
43
+ * times (seconds as lightweight-charts, or ms). A bar opens a new period (`timeframe.change(tf)`) when its value
44
+ * differs from the previous bar's (see `periodChanges` for the exact PineScript rule). `tf` = "" (the chart
45
+ * timeframe) gives the bar times.
46
+ * With the exchange calendar, `time(tf)` is na on an intraday bar that opens after an early close of its day (D
47
+ * periods): such a bar keeps the period of the bar before it; a bar for which the calendar finds no trading day is
48
+ * its own period.
49
+ * @throws RangeError for a string that is not a timeframe, or a tick timeframe
50
+ */
51
+ export declare function periodStarts(bars: ReadonlyArray<{
52
+ time: number;
53
+ }>, tf: string, chart?: ChartContext): number[];
54
+ /**
55
+ * PineScript `timeframe.change(tf)` of each bar: true on a bar that opens a new `tf` period (false on the first bar).
56
+ * With the exchange calendar it is the rule of the library: a bar whose `time(tf)` is na (an intraday bar after an
57
+ * early close, for D periods) is no change, and neither is the bar after it. Else: `periodStarts` differs from the
58
+ * previous bar's.
59
+ * @throws RangeError for a string that is not a timeframe, or a tick timeframe
60
+ */
61
+ export declare function periodChanges(bars: ReadonlyArray<{
62
+ time: number;
63
+ }>, tf: string, chart?: ChartContext): boolean[];
64
+ /**
65
+ * Chart timeframe of the bars ("1", "60", "1D", "1W", "1M", ...): `chart.timeframe` when the context gives it, else
66
+ * from the most frequent gap between two bars (`barInterval`): one day on daily bars even with weekends and
67
+ * holidays, 28 to 31 days on monthly bars. Empty string with fewer than 2 bars and no context value.
68
+ */
69
+ export declare function chartTimeframe(bars: ReadonlyArray<{
70
+ time: number;
71
+ }>, chart?: ChartContext): string;
72
+ /** Periods of a higher timeframe on the chart bars, as `request.security` on the chart symbol sees them. */
73
+ export interface SecurityPeriods {
74
+ /** Start of the period of each chart bar, in the unit of the bar times (D / W / M periods follow the regular hours) */
75
+ starts: number[];
76
+ /** Index of the period of each chart bar (0 for the first period of the bars) */
77
+ group: number[];
78
+ /** Index of the latest completed period at each chart bar (-1: none yet): the value shown without lookahead */
79
+ latest: number[];
80
+ /**
81
+ * True for a chart bar that comes after the bar that completed its period (the premarket bars of the next trading
82
+ * day on extended-hours bars): it still shows the period but is not part of its higher-timeframe bar
83
+ */
84
+ after: boolean[];
85
+ /** True when the last bar completes its period */
86
+ lastCompletes: boolean;
87
+ }
88
+ /**
89
+ * The periods of timeframe `tf` as PineScript `request.security(syminfo.tickerid, tf, ...)` builds them, from the
90
+ * exchange calendar of the context: a period is complete on the chart bar whose close reaches its end (the session
91
+ * end of its last trading day for D / W / M), or on the first bar of the next period when its last bars are
92
+ * missing. Null when the context does not give the time zone and the session: the caller keeps its own rule.
93
+ * @throws Error when `tf` is lower than the chart timeframe
94
+ */
95
+ export declare function securityPeriods(bars: ReadonlyArray<{
96
+ time: number;
97
+ }>, tf: string, chart?: ChartContext): SecurityPeriods | null;
98
+ /**
99
+ * Period start of each chart bar for a port that groups the chart bars as `request.security(..., tf)` does: with
100
+ * the exchange calendar of the context the starts of `securityPeriods` (D / W / M periods follow the regular
101
+ * hours), else `periodStarts`. A timeframe below the chart timeframe gives `periodStarts` too.
102
+ */
103
+ export declare function securityStarts(bars: ReadonlyArray<{
104
+ time: number;
105
+ }>, tf: string, chart?: ChartContext): number[];
106
+ /** The periods of a higher timeframe with their bars. */
107
+ export interface SecurityBars extends SecurityPeriods {
108
+ /**
109
+ * Bars of the timeframe built from the chart bars (the bars `after` the completion of their period are left out);
110
+ * `time` is the period start. `htf[group[i]]` is the bar of chart bar i, `htf[latest[i]]` the latest completed bar
111
+ */
112
+ htf: Bar[];
113
+ /** Index of the first chart bar of each bar of the timeframe */
114
+ first: number[];
115
+ }
116
+ /**
117
+ * `securityPeriods` with the bars of the timeframe built from the chart bars (open of the first bar, highest high,
118
+ * lowest low, close of the last bar, sum of the volumes). Null when the context does not give the time zone and
119
+ * the session (`higherTimeframeBars` adds the UTC rule for that case).
120
+ * @throws Error when `tf` is lower than the chart timeframe
121
+ */
122
+ export declare function securityBars(bars: ReadonlyArray<Bar>, tf: string, chart?: ChartContext): SecurityBars | null;
123
+ /**
124
+ * `securityBars`, and without the exchange calendar the periods of the UTC rule of `periodStarts` grouped and
125
+ * completed by the library (`resample`, `periodsOf`). A chart bar completes its period when its close reaches the
126
+ * end of the period:
127
+ * - symbols with bars on Saturdays or Sundays (and bar closes on them) trade every day: when its close time (the
128
+ * bar time plus the bar interval) is in another period
129
+ * - other symbols: the last bar of a period; the last bar of the bars when the next bar of the UTC rule of
130
+ * `timeAfterLastBar` opens another period (always with fewer than 2 bars)
131
+ * The caller handles a timeframe equal to or lower than the chart timeframe.
132
+ * @throws Error when `tf` is lower than the chart timeframe and the context gives the exchange calendar
133
+ */
134
+ export declare function higherTimeframeBars(bars: ReadonlyArray<Bar>, tf: string, chart?: ChartContext): SecurityBars;
135
+ /** PineScript `session.*` flags of each bar. */
136
+ export type { SessionFlags } from 'oakscriptjs';
137
+ /**
138
+ * PineScript `session.isfirstbar`, `session.islastbar`, `session.ismarket` ... of each bar, from the exchange
139
+ * calendar of the context. Null when the context does not give the time zone and the session.
140
+ */
141
+ export declare function sessionFlags(bars: ReadonlyArray<{
142
+ time: number;
143
+ }>, chart?: ChartContext): SessionFlags | null;
144
+ /**
145
+ * PineScript `time_tradingday` of each bar: 00:00 UTC of its trading day (on W / M bars, of the last trading day of
146
+ * the bar), in the unit of the bar times. Null when the context does not give the time zone and the session.
147
+ */
148
+ export declare function tradingDays(bars: ReadonlyArray<{
149
+ time: number;
150
+ }>, chart?: ChartContext): number[] | null;
151
+ /**
152
+ * Open time of the `count`-th bar after the last bar (PineScript `bar_index + count` on the last bar), in the unit of
153
+ * the bar times; `count` 0 is the last bar. With the exchange calendar of the context: `barTimeAfter` of the library
154
+ * (closed hours, weekends, holidays and days off skipped). Without it, the UTC rule of the bars: on symbols with bars
155
+ * on Saturdays or Sundays, one bar interval per bar; on other symbols, an intraday bar is followed by a bar on the
156
+ * same day while it is earlier in the day than the last bar of the trading day before, else by the first bar of the
157
+ * next weekday (at the time of the first bar of that trading day); D bars by the next weekday; W bars by the next
158
+ * week; M bars by the next month. NaN with fewer than 2 bars (the bar interval is not known).
159
+ */
160
+ export declare function timeAfterLastBar(bars: ReadonlyArray<{
161
+ time: number;
162
+ }>, count: number, chart?: ChartContext): number;
163
+ /**
164
+ * Number of bars from the last bar to the bar that contains `time` (in the unit of the bar times): 0 when `time` is
165
+ * in the last bar or before it. For a drawing placed at a time after the last bar (`xloc.bar_time`): the chart shows
166
+ * it on the bar of that time, `timeAfterLastBar(bars, k)` with k the result. With the exchange calendar of the
167
+ * context: `barsUntil` of the library; without it, the UTC rule of `timeAfterLastBar`. NaN with fewer than 2 bars or
168
+ * when no bar is found within 100,000 bars.
169
+ */
170
+ export declare function barsAfterLastBar(bars: ReadonlyArray<{
171
+ time: number;
172
+ }>, time: number, chart?: ChartContext): number;
173
+ //# sourceMappingURL=anchor-period.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anchor-period.d.ts","sourceRoot":"","sources":["../src/anchor-period.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAE0D,KAAK,GAAG,EAAuB,KAAK,YAAY,EAChH,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAKpD,sGAAsG;AACtG,wBAAgB,WAAW,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,CAEzD;AA8DD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,EAAE,CA0D9G;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,EAAE,CAShH;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CASlG;AAED,4GAA4G;AAC5G,MAAM,WAAW,eAAe;IAC9B,uHAAuH;IACvH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,iFAAiF;IACjF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,+GAA+G;IAC/G,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;OAGG;IACH,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,kDAAkD;IAClD,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACrC,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,YAAY,GACnB,eAAe,GAAG,IAAI,CAGxB;AA0BD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,EAAE,CAShH;AAED,yDAAyD;AACzD,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD;;;OAGG;IACH,GAAG,EAAE,GAAG,EAAE,CAAC;IACX,gEAAgE;IAChE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG,IAAI,CAW5G;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,YAAY,CAoC5G;AAED,gDAAgD;AAChD,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG,IAAI,CAG7G;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,EAAE,GAAG,IAAI,CAGxG;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAcnH;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAkBlH"}
@@ -1,3 +1,4 @@
1
+ import type { ChartContext } from '../chart-context';
1
2
  import type { Bar, IndicatorResult, InputConfig, PlotConfig } from 'oakscriptjs';
2
3
  import type { BarColorData, BgColorData, MarkerData } from '../types';
3
4
  export type PortResult = IndicatorResult & {
@@ -15,7 +16,7 @@ export interface PortIndicator {
15
16
  inputConfig: InputConfig[];
16
17
  plotConfig: PlotConfig[];
17
18
  defaultInputs: Record<string, unknown>;
18
- calculate: (bars: Bar[], inputs?: Record<string, unknown>) => PortResult;
19
+ calculate: (bars: Bar[], inputs?: Record<string, unknown>, chart?: ChartContext) => PortResult;
19
20
  }
20
21
  export interface PortEntry {
21
22
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/candlestick-port/adapter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAKtE,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG;IACzC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B,CAAC;AAQF,qFAAqF;AACrF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAClE,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC;CAC1E;AAiFD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,4DAA4D;AAC5D,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAM,CAAC;AAE3E,oDAAoD;AACpD,eAAO,MAAM,sBAAsB,EAAE,SAAS,EAK5C,CAAC;AAEH,gHAAgH;AAChH,eAAO,MAAM,0BAA0B,EAAE,SAIxC,CAAC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/candlestick-port/adapter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAKtE,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG;IACzC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B,CAAC;AAQF,qFAAqF;AACrF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAClE,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,YAAY,KAAK,UAAU,CAAC;CAChG;AAiFD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,4DAA4D;AAC5D,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAM,CAAC;AAE3E,oDAAoD;AACpD,eAAO,MAAM,sBAAsB,EAAE,SAAS,EAK5C,CAAC;AAEH,gHAAgH;AAChH,eAAO,MAAM,0BAA0B,EAAE,SAIxC,CAAC"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * What the caller knows about the chart and its symbol, for the indicators whose output depends on it: the optional
3
+ * third argument of `calculate(bars, inputs, chart)`.
4
+ *
5
+ * It is the oakscriptjs ChartContext (chart timeframe, exchange time zone, session, symbol tick, ticker id, symbol
6
+ * type and currency, chart colours, current time, state of the last bar) with the visible range of the chart. Every
7
+ * value is optional. Without a value the indicator uses the fallback given below, which is what it did before this
8
+ * argument existed.
9
+ */
10
+ import type { ChartContext as ScriptChartContext } from 'oakscriptjs/script';
11
+ export interface ChartContext extends ScriptChartContext {
12
+ /**
13
+ * Time of the first bar visible on the chart, in ms (PineScript `chart.left_visible_bar_time`); fallback: the
14
+ * first bar given to the indicator
15
+ */
16
+ leftVisibleBarTime?: number;
17
+ /**
18
+ * Time of the last bar visible on the chart, in ms (PineScript `chart.right_visible_bar_time`); fallback: the
19
+ * last bar given to the indicator. An indicator that reads the visible range (`usesVisibleRange` in its registry
20
+ * entry) must be calculated again when the user scrolls or zooms the chart.
21
+ */
22
+ rightVisibleBarTime?: number;
23
+ }
24
+ /** Symbol tick (PineScript `syminfo.mintick`); fallback 0.01 */
25
+ export declare function mintickOf(chart?: ChartContext): number;
26
+ /**
27
+ * Session hours of the symbol (the hours of `chart.session`, a string or the `session` of a session object), e.g.
28
+ * "0930-1600"; fallback: an empty string
29
+ */
30
+ export declare function sessionHoursOf(chart?: ChartContext): string;
31
+ /** Exchange time zone (PineScript `syminfo.timezone`); fallback UTC */
32
+ export declare function timezoneOf(chart?: ChartContext): string;
33
+ /** PineScript `syminfo.tickerid` ("NASDAQ:AAPL"); fallback: an empty string */
34
+ export declare function tickeridOf(chart?: ChartContext): string;
35
+ /** PineScript `syminfo.ticker` ("AAPL"): the ticker id without its exchange prefix; fallback: an empty string */
36
+ export declare function tickerOf(chart?: ChartContext): string;
37
+ /** PineScript `syminfo.type`; fallback: an empty string (no type-specific rule applies) */
38
+ export declare function symbolTypeOf(chart?: ChartContext): string;
39
+ /** PineScript `syminfo.currency`; fallback "USD" */
40
+ export declare function currencyOf(chart?: ChartContext): string;
41
+ /** PineScript `chart.fg_color`; fallback #DBDBDB */
42
+ export declare function foregroundColorOf(chart?: ChartContext): string;
43
+ /** PineScript `chart.bg_color`; fallback #0F0F0F */
44
+ export declare function backgroundColorOf(chart?: ChartContext): string;
45
+ /**
46
+ * True when the last bar is closed (PineScript `barstate.isconfirmed` on the last bar). Fallback true: without a
47
+ * context every bar given to an indicator is taken as closed.
48
+ */
49
+ export declare function lastBarConfirmedOf(chart?: ChartContext): boolean;
50
+ /** PineScript `timenow` (ms); fallback: the clock of the computer */
51
+ export declare function nowOf(chart?: ChartContext): number;
52
+ /** The bars visible on the chart: indexes in `bars` and times in ms. */
53
+ export interface VisibleRange {
54
+ /** Index of the first visible bar */
55
+ left: number;
56
+ /** Index of the last visible bar */
57
+ right: number;
58
+ /** PineScript `chart.left_visible_bar_time` (ms) */
59
+ leftTime: number;
60
+ /** PineScript `chart.right_visible_bar_time` (ms) */
61
+ rightTime: number;
62
+ }
63
+ /**
64
+ * Visible range of the chart (PineScript `chart.left_visible_bar_time` / `chart.right_visible_bar_time`); fallback:
65
+ * all the bars. The times of the context are in ms; `Bar.time` is in seconds unless `chart.timeUnit` is 'ms'. A
66
+ * visible time between two bars is taken as the next bar on the left side and the previous bar on the right side.
67
+ */
68
+ export declare function visibleRangeOf(bars: ReadonlyArray<{
69
+ time: number;
70
+ }>, chart?: ChartContext): VisibleRange;
71
+ //# sourceMappingURL=chart-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-context.d.ts","sourceRoot":"","sources":["../src/chart-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7E,MAAM,WAAW,YAAa,SAAQ,kBAAkB;IACtD;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,gEAAgE;AAChE,wBAAgB,SAAS,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAItD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAE3D;AAED,uEAAuE;AACvE,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAEvD;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAEvD;AAED,iHAAiH;AACjH,wBAAgB,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAGrD;AAED,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAEzD;AAED,oDAAoD;AACpD,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAEvD;AAED,oDAAoD;AACpD,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAE9D;AAED,oDAAoD;AACpD,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAE9D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,CAEhE;AAED,qEAAqE;AACrE,wBAAgB,KAAK,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAElD;AAED,wEAAwE;AACxE,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,YAAY,CAWxG"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * 2B Reversal Pattern (Expo)
3
+ *
4
+ * The 2B pattern: price breaks a swing high (or a swing low) and fails, then closes back through the bar that made
5
+ * the break.
6
+ * - Swing highs and lows are pivots with `Period` bars on each side.
7
+ * - When the close crosses above the last swing high (below the last swing low) a dashed line is drawn from the pivot
8
+ * to the break, and the low (the high) of the break bar becomes the level to watch. A solid line follows that level
9
+ * on each bar.
10
+ * - When the close crosses back through the level between `Minimum Break Length` and `Maximum Break Length` bars
11
+ * after the break, the pattern is complete: a solid line from the break bar and a triangle (below the bar for a
12
+ * cross up, above the bar for a cross down).
13
+ * - A cross of the level outside that window, or no cross within the maximum length, cancels the level and removes
14
+ * the line of the break.
15
+ *
16
+ * At most 500 lines are kept (the oldest are removed).
17
+ *
18
+ * Reference: "2B Reversal Pattern (Expo)" by Zeiierman
19
+ * Licence: Mozilla Public License 2.0, as the original Pine script (https://mozilla.org/MPL/2.0/).
20
+ * Original notice: © Zeiierman
21
+ */
22
+ import { type IndicatorResult, type InputConfig, type PlotConfig, type Bar } from 'oakscriptjs';
23
+ import type { LineDrawingData, MarkerData } from '../types';
24
+ export interface TwoBReversalPatternInputs {
25
+ /** Pivot period */
26
+ prd: number;
27
+ /** Maximum bars until the pattern must be complete */
28
+ max: number;
29
+ /** Minimum bars before the breakout */
30
+ min: number;
31
+ /** Colour of a breakout up */
32
+ bUp: string;
33
+ /** Colour of a breakout down */
34
+ bDn: string;
35
+ /** Colour of the pivot and level lines */
36
+ pCol: string;
37
+ }
38
+ export declare const defaultInputs: TwoBReversalPatternInputs;
39
+ export declare const inputConfig: InputConfig[];
40
+ export declare const plotConfig: PlotConfig[];
41
+ export declare const metadata: {
42
+ title: string;
43
+ shortTitle: string;
44
+ overlay: boolean;
45
+ };
46
+ export declare function calculate(bars: Bar[], inputs?: Partial<TwoBReversalPatternInputs>): IndicatorResult & {
47
+ lines: LineDrawingData[];
48
+ markers: MarkerData[];
49
+ };
50
+ export declare const TwoBReversalPattern: {
51
+ calculate: typeof calculate;
52
+ metadata: {
53
+ title: string;
54
+ shortTitle: string;
55
+ overlay: boolean;
56
+ };
57
+ defaultInputs: TwoBReversalPatternInputs;
58
+ inputConfig: InputConfig[];
59
+ plotConfig: PlotConfig[];
60
+ };
61
+ //# sourceMappingURL=2b-reversal-pattern.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2b-reversal-pattern.d.ts","sourceRoot":"","sources":["../../src/community/2b-reversal-pattern.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAwB,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,GAAG,EAAE,MAAM,aAAa,CAAC;AACtH,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE5D,MAAM,WAAW,yBAAyB;IACxC,mBAAmB;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,aAAa,EAAE,yBAO3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,WAAW,EAapC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAAU,EAAO,CAAC;AAE3C,eAAO,MAAM,QAAQ;;;;CAIpB,CAAC;AAeF,wBAAgB,SAAS,CACvB,IAAI,EAAE,GAAG,EAAE,EACX,MAAM,GAAE,OAAO,CAAC,yBAAyB,CAAM,GAC9C,eAAe,GAAG;IAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IAAC,OAAO,EAAE,UAAU,EAAE,CAAA;CAAE,CAgIvE;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;CAAkE,CAAC"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * 3rd Wave
3
+ *
4
+ * Looks for the start of a third wave on a zigzag.
5
+ * - Zigzag: a bar is a pivot high when its high is the highest of the last "ZigZag Period" bars, a pivot low when
6
+ * its low is the lowest. The direction follows the last pivot; a new direction adds a point, the same direction
7
+ * moves the last point. The last five points are kept.
8
+ * - With four points or more, wave 1 is the leg between the fourth and the third last point and wave 2 the leg
9
+ * after it. When wave 2 retraces between the minimum and the maximum rate of wave 1 and the price breaks the end
10
+ * of wave 1 (the high goes above it in an up move, the low below it in a down move), the breakout is checked once
11
+ * per zigzag direction.
12
+ * - Volume support: the linear regression of the volume since the start of wave 1 must rise on the breakout bar.
13
+ * - A breakout draws a box from the start of wave 1 to the breakout bar (between the start and the end of wave 1),
14
+ * the two waves with the labels 0, 1 and 2, a triangle at the start price of wave 1 on the breakout bar, and one
15
+ * dashed line per target (the start of wave 3 plus a multiple of wave 1, not below 0).
16
+ * - "Zig Zag" draws the zigzag itself.
17
+ *
18
+ * Drawings are kept up to 500 lines, 500 labels and 50 boxes (the oldest are removed).
19
+ *
20
+ * The zigzag functions are those of version 1 of the library "CreateAndShowZigzag" by LonesomeTheBlue (getZigzag,
21
+ * showZigzag), written in this file.
22
+ *
23
+ * Reference: "3rd Wave" by LonesomeTheBlue
24
+ * Licence: Mozilla Public License 2.0, as the original Pine script (https://mozilla.org/MPL/2.0/).
25
+ * Original notice: © LonesomeTheBlue
26
+ */
27
+ import { type IndicatorResult, type InputConfig, type PlotConfig, type Bar } from 'oakscriptjs';
28
+ import type { BoxData, LabelData, LineDrawingData } from '../types';
29
+ export interface ThirdWaveInputs {
30
+ /** ZigZag Period */
31
+ prd: number;
32
+ /** Minimum retracement of wave 2 */
33
+ retRateMin: number;
34
+ /** Maximum retracement of wave 2 */
35
+ retRateMax: number;
36
+ /** Check Volume Support */
37
+ checkvolSupport: boolean;
38
+ target1Enb: boolean;
39
+ target1Ret: number;
40
+ target2Enb: boolean;
41
+ target2Ret: number;
42
+ target3Enb: boolean;
43
+ target3Ret: number;
44
+ target4Enb: boolean;
45
+ target4Ret: number;
46
+ /** Show Wave 1 and 2 */
47
+ showwave12: boolean;
48
+ /** Zone */
49
+ showbo: boolean;
50
+ bupcol: string;
51
+ bdncol: string;
52
+ /** Zig Zag */
53
+ showzigzag: boolean;
54
+ upcol: string;
55
+ dncol: string;
56
+ }
57
+ export declare const defaultInputs: ThirdWaveInputs;
58
+ export declare const inputConfig: InputConfig[];
59
+ export declare const plotConfig: PlotConfig[];
60
+ export declare const metadata: {
61
+ title: string;
62
+ shortTitle: string;
63
+ overlay: boolean;
64
+ };
65
+ export declare function calculate(bars: Bar[], inputs?: Partial<ThirdWaveInputs>): IndicatorResult & {
66
+ lines: LineDrawingData[];
67
+ labels: LabelData[];
68
+ boxes: BoxData[];
69
+ };
70
+ export declare const ThirdWave: {
71
+ calculate: typeof calculate;
72
+ metadata: {
73
+ title: string;
74
+ shortTitle: string;
75
+ overlay: boolean;
76
+ };
77
+ defaultInputs: ThirdWaveInputs;
78
+ inputConfig: InputConfig[];
79
+ plotConfig: PlotConfig[];
80
+ };
81
+ //# sourceMappingURL=3rd-wave.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"3rd-wave.d.ts","sourceRoot":"","sources":["../../src/community/3rd-wave.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAc,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,GAAG,EAAE,MAAM,aAAa,CAAC;AAC5G,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAc,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhF,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,aAAa,EAAE,eAoB3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,WAAW,EAoBpC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,UAAU,EAAO,CAAC;AAE3C,eAAO,MAAM,QAAQ;;;;CAIpB,CAAC;AAgDF,wBAAgB,SAAS,CACvB,IAAI,EAAE,GAAG,EAAE,EACX,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,GACpC,eAAe,GAAG;IAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAAC,KAAK,EAAE,OAAO,EAAE,CAAA;CAAE,CAkJvF;AAED,eAAO,MAAM,SAAS;;;;;;;;;;CAAkE,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Absorption Bubbles
3
+ *
4
+ * The volume is scaled by its standard deviation over the lookback period (scaledVol = volume / stdev). With the
5
+ * threshold t, five bands give five bubble sizes: [t, t + 1) tiny, [t + 1, t + 2) small, [t + 2, t + 3) normal,
6
+ * [t + 3, t + 6) large and >= t + 6 huge. A bubble (circle) is drawn at the middle of the bar range
7
+ * ((high + low) / 2) when that middle is in the upper wick (green gradient, selling absorption) or in the lower wick
8
+ * (red gradient, buying absorption). The colour goes from a dark tone to a bright one as scaledVol goes from 0 to 8;
9
+ * on a white chart background the dark end is fully transparent. Bars whose middle is inside the body with
10
+ * scaledVol > t + 2 are coloured bright green (bull bar) or light red (bear bar).
11
+ *
12
+ * The chart background colour comes from the chart context (third argument); without it the dark theme value is used.
13
+ *
14
+ * Reference: "Absorption Bubbles" by profitprotrading
15
+ * Licence: Mozilla Public License 2.0, as the original Pine script (https://mozilla.org/MPL/2.0/).
16
+ * Original notice: © profitprotrading
17
+ */
18
+ import { type IndicatorResult, type InputConfig, type PlotConfig, type Bar } from 'oakscriptjs';
19
+ import type { BarColorData, MarkerData } from '../types';
20
+ import { type ChartContext } from '../chart-context';
21
+ export interface AbsorptionBubblesInputs {
22
+ showDots: boolean;
23
+ /** Absorption threshold (t) */
24
+ limitFactor: number;
25
+ /** Standard deviation length of the volume */
26
+ lookbackperiod: number;
27
+ }
28
+ export declare const defaultInputs: AbsorptionBubblesInputs;
29
+ export declare const inputConfig: InputConfig[];
30
+ export declare const plotConfig: PlotConfig[];
31
+ export declare const metadata: {
32
+ title: string;
33
+ shortTitle: string;
34
+ overlay: boolean;
35
+ };
36
+ export declare function calculate(bars: Bar[], inputs?: Partial<AbsorptionBubblesInputs>, chart?: ChartContext): Omit<IndicatorResult, 'markers'> & {
37
+ markers: MarkerData[];
38
+ barColors: BarColorData[];
39
+ };
40
+ export declare const AbsorptionBubbles: {
41
+ calculate: typeof calculate;
42
+ metadata: {
43
+ title: string;
44
+ shortTitle: string;
45
+ overlay: boolean;
46
+ };
47
+ defaultInputs: AbsorptionBubblesInputs;
48
+ inputConfig: InputConfig[];
49
+ plotConfig: PlotConfig[];
50
+ };
51
+ //# sourceMappingURL=absorption-bubbles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"absorption-bubbles.d.ts","sourceRoot":"","sources":["../../src/community/absorption-bubbles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAqB,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,GAAG,EAAE,MAAM,aAAa,CAAC;AACnH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAY,MAAM,UAAU,CAAC;AACnE,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,EAAE,uBAI3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,WAAW,EAIpC,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,UAAU,EAAO,CAAC;AAE3C,eAAO,MAAM,QAAQ;;;;CAIpB,CAAC;AAiBF,wBAAgB,SAAS,CACvB,IAAI,EAAE,GAAG,EAAE,EACX,MAAM,GAAE,OAAO,CAAC,uBAAuB,CAAM,EAC7C,KAAK,CAAC,EAAE,YAAY,GACnB,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAAC,SAAS,EAAE,YAAY,EAAE,CAAA;CAAE,CAqEzF;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;CAAkE,CAAC"}