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.
- package/README.md +63 -3
- package/dist/anchor-period.d.ts +173 -0
- package/dist/anchor-period.d.ts.map +1 -0
- package/dist/candlestick-port/adapter.d.ts +2 -1
- package/dist/candlestick-port/adapter.d.ts.map +1 -1
- package/dist/chart-context.d.ts +71 -0
- package/dist/chart-context.d.ts.map +1 -0
- package/dist/community/2b-reversal-pattern.d.ts +61 -0
- package/dist/community/2b-reversal-pattern.d.ts.map +1 -0
- package/dist/community/3rd-wave.d.ts +81 -0
- package/dist/community/3rd-wave.d.ts.map +1 -0
- package/dist/community/absorption-bubbles.d.ts +51 -0
- package/dist/community/absorption-bubbles.d.ts.map +1 -0
- package/dist/community/adaptive-trend-finder.d.ts +73 -0
- package/dist/community/adaptive-trend-finder.d.ts.map +1 -0
- package/dist/community/adx-and-di.d.ts +40 -0
- package/dist/community/adx-and-di.d.ts.map +1 -0
- package/dist/community/ai-trading-assistant-v2.d.ts +8 -6
- package/dist/community/ai-trading-assistant-v2.d.ts.map +1 -1
- package/dist/community/amd-po3-with-live-edge-stats.d.ts +136 -0
- package/dist/community/amd-po3-with-live-edge-stats.d.ts.map +1 -0
- package/dist/community/asset-risk-metrics.d.ts +8 -6
- package/dist/community/asset-risk-metrics.d.ts.map +1 -1
- package/dist/community/atr-stop-loss-finder.d.ts +62 -0
- package/dist/community/atr-stop-loss-finder.d.ts.map +1 -0
- package/dist/community/auto-fib-retracement-alerts.d.ts +74 -0
- package/dist/community/auto-fib-retracement-alerts.d.ts.map +1 -0
- package/dist/community/auto-fib-theyangguizi.d.ts +37 -0
- package/dist/community/auto-fib-theyangguizi.d.ts.map +1 -0
- package/dist/community/auto-fibo-indicators.d.ts.map +1 -1
- package/dist/community/auto-pitchfan-fib-extension-retracement-and.d.ts +103 -0
- package/dist/community/auto-pitchfan-fib-extension-retracement-and.d.ts.map +1 -0
- package/dist/community/auto-pitchfork-fib-retracement-zig-zag.d.ts +155 -0
- package/dist/community/auto-pitchfork-fib-retracement-zig-zag.d.ts.map +1 -0
- package/dist/community/bitcoin-kill-zones.d.ts +7 -1
- package/dist/community/bitcoin-kill-zones.d.ts.map +1 -1
- package/dist/community/bjorgum-key-levels.d.ts +153 -0
- package/dist/community/bjorgum-key-levels.d.ts.map +1 -0
- package/dist/community/bjorgum-mtf-ma.d.ts +104 -0
- package/dist/community/bjorgum-mtf-ma.d.ts.map +1 -0
- package/dist/community/bjorgum-superscript.d.ts +193 -0
- package/dist/community/bjorgum-superscript.d.ts.map +1 -0
- package/dist/community/blacklab84-panel.d.ts +6 -1
- package/dist/community/blacklab84-panel.d.ts.map +1 -1
- package/dist/community/bnf-25-50-ma-pullback-screener.d.ts +5 -1
- package/dist/community/bnf-25-50-ma-pullback-screener.d.ts.map +1 -1
- package/dist/community/breaker-blocks-order-blocks-confirm-bbob-alert.d.ts +149 -0
- package/dist/community/breaker-blocks-order-blocks-confirm-bbob-alert.d.ts.map +1 -0
- package/dist/community/breaker-blocks-with-signals.d.ts +77 -0
- package/dist/community/breaker-blocks-with-signals.d.ts.map +1 -0
- package/dist/community/breakout-finder.d.ts +56 -0
- package/dist/community/breakout-finder.d.ts.map +1 -0
- package/dist/community/breakout-probability.d.ts +70 -0
- package/dist/community/breakout-probability.d.ts.map +1 -0
- package/dist/community/breakout-targets.d.ts +67 -0
- package/dist/community/breakout-targets.d.ts.map +1 -0
- package/dist/community/breakouts-with-tests-retests.d.ts +60 -0
- package/dist/community/breakouts-with-tests-retests.d.ts.map +1 -0
- package/dist/community/buy-sell-hull-crossover-signals.d.ts +6 -2
- package/dist/community/buy-sell-hull-crossover-signals.d.ts.map +1 -1
- package/dist/community/buy-sell-signal-kelfry98.d.ts +56 -0
- package/dist/community/buy-sell-signal-kelfry98.d.ts.map +1 -0
- package/dist/community/buyside-sellside-liquidity.d.ts +65 -0
- package/dist/community/buyside-sellside-liquidity.d.ts.map +1 -0
- package/dist/community/candle-color-flip.d.ts +6 -2
- package/dist/community/candle-color-flip.d.ts.map +1 -1
- package/dist/community/candlestick-trend-indicator.d.ts +91 -0
- package/dist/community/candlestick-trend-indicator.d.ts.map +1 -0
- package/dist/community/change-in-state-of-delivery-cisd.d.ts +73 -0
- package/dist/community/change-in-state-of-delivery-cisd.d.ts.map +1 -0
- package/dist/community/cm-macd-custom-mtf-v5.d.ts +87 -0
- package/dist/community/cm-macd-custom-mtf-v5.d.ts.map +1 -0
- package/dist/community/cm-macd-custom-mtf.d.ts +63 -0
- package/dist/community/cm-macd-custom-mtf.d.ts.map +1 -0
- package/dist/community/cm-parabolic-sar.d.ts +47 -0
- package/dist/community/cm-parabolic-sar.d.ts.map +1 -0
- package/dist/community/cm-pivot-points-filtered.d.ts +70 -0
- package/dist/community/cm-pivot-points-filtered.d.ts.map +1 -0
- package/dist/community/cm-stochastic-mtf.d.ts +80 -0
- package/dist/community/cm-stochastic-mtf.d.ts.map +1 -0
- package/dist/community/cm-time-lines.d.ts +8 -1
- package/dist/community/cm-time-lines.d.ts.map +1 -1
- package/dist/community/cm-ultimate-ma-mtf-v2.d.ts +81 -0
- package/dist/community/cm-ultimate-ma-mtf-v2.d.ts.map +1 -0
- package/dist/community/cm-ultimate-rsi-mtf.d.ts +73 -0
- package/dist/community/cm-ultimate-rsi-mtf.d.ts.map +1 -0
- package/dist/community/cm-vix-fix-v3-upper-text-plots.d.ts +86 -0
- package/dist/community/cm-vix-fix-v3-upper-text-plots.d.ts.map +1 -0
- package/dist/community/consolidation-zones.d.ts +11 -3
- package/dist/community/consolidation-zones.d.ts.map +1 -1
- package/dist/community/crosby-ratio-quantumresearch.d.ts +5 -1
- package/dist/community/crosby-ratio-quantumresearch.d.ts.map +1 -1
- package/dist/community/cumulative-delta-volume.d.ts +72 -0
- package/dist/community/cumulative-delta-volume.d.ts.map +1 -0
- package/dist/community/cumulative-volume-delta-divergence-periodic.d.ts +60 -0
- package/dist/community/cumulative-volume-delta-divergence-periodic.d.ts.map +1 -0
- package/dist/community/cup-finder.d.ts +66 -0
- package/dist/community/cup-finder.d.ts.map +1 -0
- package/dist/community/daily-weekly-monthly-yearly-opens.d.ts +96 -0
- package/dist/community/daily-weekly-monthly-yearly-opens.d.ts.map +1 -0
- package/dist/community/delta-flow-profile.d.ts +83 -0
- package/dist/community/delta-flow-profile.d.ts.map +1 -0
- package/dist/community/deviation-trend-profile.d.ts +66 -0
- package/dist/community/deviation-trend-profile.d.ts.map +1 -0
- package/dist/community/dip-rip-patterns-the-quant-science.d.ts +4 -3
- package/dist/community/dip-rip-patterns-the-quant-science.d.ts.map +1 -1
- package/dist/community/divergence-for-many-indicator-v3.d.ts +68 -0
- package/dist/community/divergence-for-many-indicator-v3.d.ts.map +1 -0
- package/dist/community/divergence-for-many-indicators-v4.d.ts +84 -0
- package/dist/community/divergence-for-many-indicators-v4.d.ts.map +1 -0
- package/dist/community/divergence-indicator.d.ts +7 -2
- package/dist/community/divergence-indicator.d.ts.map +1 -1
- package/dist/community/dominance-signal-apex.d.ts +5 -1
- package/dist/community/dominance-signal-apex.d.ts.map +1 -1
- package/dist/community/donalt-smart-money-toolkit.d.ts +75 -0
- package/dist/community/donalt-smart-money-toolkit.d.ts.map +1 -0
- package/dist/community/double-zig-zag-with-hhll.d.ts +56 -0
- package/dist/community/double-zig-zag-with-hhll.d.ts.map +1 -0
- package/dist/community/dr-idr-v1.d.ts +122 -0
- package/dist/community/dr-idr-v1.d.ts.map +1 -0
- package/dist/community/dtfx-algo-zones.d.ts +84 -0
- package/dist/community/dtfx-algo-zones.d.ts.map +1 -0
- package/dist/community/dynamic-liquidity-heatmap-profile.d.ts +63 -0
- package/dist/community/dynamic-liquidity-heatmap-profile.d.ts.map +1 -0
- package/dist/community/dynamic-swing-anchored-vwap.d.ts +58 -0
- package/dist/community/dynamic-swing-anchored-vwap.d.ts.map +1 -0
- package/dist/community/early-pivot-alert-v1a.d.ts +6 -2
- package/dist/community/early-pivot-alert-v1a.d.ts.map +1 -1
- package/dist/community/elliott-wave-oscillator-lazybear.d.ts +31 -0
- package/dist/community/elliott-wave-oscillator-lazybear.d.ts.map +1 -0
- package/dist/community/elliott-wave-oscillator-signals-by-dgt.d.ts +111 -0
- package/dist/community/elliott-wave-oscillator-signals-by-dgt.d.ts.map +1 -0
- package/dist/community/elliott-wave.d.ts +68 -0
- package/dist/community/elliott-wave.d.ts.map +1 -0
- package/dist/community/engulfing-sweep-v6-bars-only.d.ts +5 -1
- package/dist/community/engulfing-sweep-v6-bars-only.d.ts.map +1 -1
- package/dist/community/entry-signals-long-short.d.ts +4 -2
- package/dist/community/entry-signals-long-short.d.ts.map +1 -1
- package/dist/community/equalhigh-japanese-triple-rci.d.ts +7 -2
- package/dist/community/equalhigh-japanese-triple-rci.d.ts.map +1 -1
- package/dist/community/fair-value-gap-luxalgo.d.ts +81 -0
- package/dist/community/fair-value-gap-luxalgo.d.ts.map +1 -0
- package/dist/community/fibo-levels-with-volume-profile-and-targets.d.ts +96 -0
- package/dist/community/fibo-levels-with-volume-profile-and-targets.d.ts.map +1 -0
- package/dist/community/fibonacci-auto-trend-scouter.d.ts +137 -0
- package/dist/community/fibonacci-auto-trend-scouter.d.ts.map +1 -0
- package/dist/community/fibonacci-confluence-toolkit.d.ts +85 -0
- package/dist/community/fibonacci-confluence-toolkit.d.ts.map +1 -0
- package/dist/community/fibonacci-extension-retracement-pivot-points.d.ts +123 -0
- package/dist/community/fibonacci-extension-retracement-pivot-points.d.ts.map +1 -0
- package/dist/community/fibonacci-projection-with-volume-delta-profile.d.ts +110 -0
- package/dist/community/fibonacci-projection-with-volume-delta-profile.d.ts.map +1 -0
- package/dist/community/fibonacci-ranges.d.ts +72 -0
- package/dist/community/fibonacci-ranges.d.ts.map +1 -0
- package/dist/community/fibonacci-structure-engine.d.ts +157 -0
- package/dist/community/fibonacci-structure-engine.d.ts.map +1 -0
- package/dist/community/fibonacci-trend.d.ts +58 -0
- package/dist/community/fibonacci-trend.d.ts.map +1 -0
- package/dist/community/fluidtrades-smc-lite.d.ts +63 -0
- package/dist/community/fluidtrades-smc-lite.d.ts.map +1 -0
- package/dist/community/fractals-v9.d.ts +69 -0
- package/dist/community/fractals-v9.d.ts.map +1 -0
- package/dist/community/fvg-ifvg-ict-inversion-fair-value-gap-signal.d.ts +101 -0
- package/dist/community/fvg-ifvg-ict-inversion-fair-value-gap-signal.d.ts.map +1 -0
- package/dist/community/fvg-instantaneous-mitigation-signals.d.ts +66 -0
- package/dist/community/fvg-instantaneous-mitigation-signals.d.ts.map +1 -0
- package/dist/community/fvg-order-blocks.d.ts +59 -0
- package/dist/community/fvg-order-blocks.d.ts.map +1 -0
- package/dist/community/fvg-sessions.d.ts +74 -0
- package/dist/community/fvg-sessions.d.ts.map +1 -0
- package/dist/community/fx-market-sessions.d.ts +169 -0
- package/dist/community/fx-market-sessions.d.ts.map +1 -0
- package/dist/community/fxn-asian-session-range.d.ts +150 -0
- package/dist/community/fxn-asian-session-range.d.ts.map +1 -0
- package/dist/community/fxn-week-and-day-separator.d.ts +77 -0
- package/dist/community/fxn-week-and-day-separator.d.ts.map +1 -0
- package/dist/community/ghost-tangent-crossings.d.ts +67 -0
- package/dist/community/ghost-tangent-crossings.d.ts.map +1 -0
- package/dist/community/harmonic-pattern-detection-prediction-and.d.ts +139 -0
- package/dist/community/harmonic-pattern-detection-prediction-and.d.ts.map +1 -0
- package/dist/community/harmonic-pattern-detection.d.ts +60 -0
- package/dist/community/harmonic-pattern-detection.d.ts.map +1 -0
- package/dist/community/higher-high-lower-low-strategy.d.ts +59 -0
- package/dist/community/higher-high-lower-low-strategy.d.ts.map +1 -0
- package/dist/community/higher-order-orderblocks-breakerblocks-range.d.ts +78 -0
- package/dist/community/higher-order-orderblocks-breakerblocks-range.d.ts.map +1 -0
- package/dist/community/hourly-trading-system.d.ts +99 -0
- package/dist/community/hourly-trading-system.d.ts.map +1 -0
- package/dist/community/htf-candles-mini-charts-by-dgt.d.ts +144 -0
- package/dist/community/htf-candles-mini-charts-by-dgt.d.ts.map +1 -0
- package/dist/community/ichimoku-hpotter.d.ts +42 -0
- package/dist/community/ichimoku-hpotter.d.ts.map +1 -0
- package/dist/community/ichimoku-theories.d.ts +113 -0
- package/dist/community/ichimoku-theories.d.ts.map +1 -0
- package/dist/community/ict-concept-order-block-fvg-liquidity-sweeps.d.ts +115 -0
- package/dist/community/ict-concept-order-block-fvg-liquidity-sweeps.d.ts.map +1 -0
- package/dist/community/ict-concepts.d.ts +163 -0
- package/dist/community/ict-concepts.d.ts.map +1 -0
- package/dist/community/ict-immediate-rebalance-toolkit.d.ts +152 -0
- package/dist/community/ict-immediate-rebalance-toolkit.d.ts.map +1 -0
- package/dist/community/ict-institutional-order-flow.d.ts +204 -0
- package/dist/community/ict-institutional-order-flow.d.ts.map +1 -0
- package/dist/community/ict-killzones-pivots-tfo.d.ts +169 -0
- package/dist/community/ict-killzones-pivots-tfo.d.ts.map +1 -0
- package/dist/community/ict-killzones-toolkit.d.ts +141 -0
- package/dist/community/ict-killzones-toolkit.d.ts.map +1 -0
- package/dist/community/ict-liquidity-sweep-swing-fail-pattern-v-1.d.ts +115 -0
- package/dist/community/ict-liquidity-sweep-swing-fail-pattern-v-1.d.ts.map +1 -0
- package/dist/community/ict-macros.d.ts +154 -0
- package/dist/community/ict-macros.d.ts.map +1 -0
- package/dist/community/ict-power-of-three-flux-charts.d.ts +82 -0
- package/dist/community/ict-power-of-three-flux-charts.d.ts.map +1 -0
- package/dist/community/ict-silver-bullet.d.ts +86 -0
- package/dist/community/ict-silver-bullet.d.ts.map +1 -0
- package/dist/community/ict-turtle-soup-flux-charts.d.ts +90 -0
- package/dist/community/ict-turtle-soup-flux-charts.d.ts.map +1 -0
- package/dist/community/ict-unicorn-model.d.ts +69 -0
- package/dist/community/ict-unicorn-model.d.ts.map +1 -0
- package/dist/community/ideal-bb-ma.d.ts +6 -1
- package/dist/community/ideal-bb-ma.d.ts.map +1 -1
- package/dist/community/imbalance-detector.d.ts +87 -0
- package/dist/community/imbalance-detector.d.ts.map +1 -0
- package/dist/community/indicador-millo-sma20-sma200-ao-rsi-m1.d.ts +4 -3
- package/dist/community/indicador-millo-sma20-sma200-ao-rsi-m1.d.ts.map +1 -1
- package/dist/community/indicators-volume-weighted-macd-histogram.d.ts +42 -0
- package/dist/community/indicators-volume-weighted-macd-histogram.d.ts.map +1 -0
- package/dist/community/initial-balance-breakout-signals.d.ts +106 -0
- package/dist/community/initial-balance-breakout-signals.d.ts.map +1 -0
- package/dist/community/inside-bar-coloring-w-alerts.d.ts +5 -3
- package/dist/community/inside-bar-coloring-w-alerts.d.ts.map +1 -1
- package/dist/community/inside-bars.d.ts +6 -1
- package/dist/community/inside-bars.d.ts.map +1 -1
- package/dist/community/intraday-volume-swings.d.ts +6 -1
- package/dist/community/intraday-volume-swings.d.ts.map +1 -1
- package/dist/community/inversion-fair-value-gaps.d.ts +58 -0
- package/dist/community/inversion-fair-value-gaps.d.ts.map +1 -0
- package/dist/community/itg-scalper.d.ts +82 -0
- package/dist/community/itg-scalper.d.ts.map +1 -0
- package/dist/community/kalman-filter-trend-breakers.d.ts +5 -1
- package/dist/community/kalman-filter-trend-breakers.d.ts.map +1 -1
- package/dist/community/kalman-vwap-filter.d.ts +5 -3
- package/dist/community/kalman-vwap-filter.d.ts.map +1 -1
- package/dist/community/kaufman-trend-strength-signal.d.ts +6 -1
- package/dist/community/kaufman-trend-strength-signal.d.ts.map +1 -1
- package/dist/community/key-levels-spacemanbtc-idwm.d.ts +121 -0
- package/dist/community/key-levels-spacemanbtc-idwm.d.ts.map +1 -0
- package/dist/community/linear-regression-channel-curve-slope-by-dgt.d.ts +139 -0
- package/dist/community/linear-regression-channel-curve-slope-by-dgt.d.ts.map +1 -0
- package/dist/community/linear-regression-oscillator.d.ts +56 -0
- package/dist/community/linear-regression-oscillator.d.ts.map +1 -0
- package/dist/community/liquidation-reversal-signals.d.ts +77 -0
- package/dist/community/liquidation-reversal-signals.d.ts.map +1 -0
- package/dist/community/liquidity-delta-profiler.d.ts +80 -0
- package/dist/community/liquidity-delta-profiler.d.ts.map +1 -0
- package/dist/community/liquidity-heatmap.d.ts +103 -0
- package/dist/community/liquidity-heatmap.d.ts.map +1 -0
- package/dist/community/liquidity-levels-mtf-sonarlab.d.ts +108 -0
- package/dist/community/liquidity-levels-mtf-sonarlab.d.ts.map +1 -0
- package/dist/community/liquidity-pools-pro.d.ts +122 -0
- package/dist/community/liquidity-pools-pro.d.ts.map +1 -0
- package/dist/community/liquidity-pools.d.ts +62 -0
- package/dist/community/liquidity-pools.d.ts.map +1 -0
- package/dist/community/liquidity-price-depth-chart.d.ts +79 -0
- package/dist/community/liquidity-price-depth-chart.d.ts.map +1 -0
- package/dist/community/liquidity-sweep-filter.d.ts +78 -0
- package/dist/community/liquidity-sweep-filter.d.ts.map +1 -0
- package/dist/community/liquidity-swings.d.ts +65 -0
- package/dist/community/liquidity-swings.d.ts.map +1 -0
- package/dist/community/liquidity-thermal-map.d.ts +70 -0
- package/dist/community/liquidity-thermal-map.d.ts.map +1 -0
- package/dist/community/liquidity-voids.d.ts +61 -0
- package/dist/community/liquidity-voids.d.ts.map +1 -0
- package/dist/community/liquidity-zones.d.ts +67 -0
- package/dist/community/liquidity-zones.d.ts.map +1 -0
- package/dist/community/lorentzian-classification.d.ts +119 -0
- package/dist/community/lorentzian-classification.d.ts.map +1 -0
- package/dist/community/ma-cross-alert-mtf.d.ts +62 -0
- package/dist/community/ma-cross-alert-mtf.d.ts.map +1 -0
- package/dist/community/ma-sabres.d.ts +50 -0
- package/dist/community/ma-sabres.d.ts.map +1 -0
- package/dist/community/macd-based-price-forecasting.d.ts +74 -0
- package/dist/community/macd-based-price-forecasting.d.ts.map +1 -0
- package/dist/community/machine-learning-knn-trend-predictor.d.ts +5 -1
- package/dist/community/machine-learning-knn-trend-predictor.d.ts.map +1 -1
- package/dist/community/machine-learning-rsi-bullvision.d.ts +72 -0
- package/dist/community/machine-learning-rsi-bullvision.d.ts.map +1 -0
- package/dist/community/market-profile-with-tpo.d.ts +110 -0
- package/dist/community/market-profile-with-tpo.d.ts.map +1 -0
- package/dist/community/market-profile.d.ts +69 -0
- package/dist/community/market-profile.d.ts.map +1 -0
- package/dist/community/market-sentiment-technicals.d.ts +109 -0
- package/dist/community/market-sentiment-technicals.d.ts.map +1 -0
- package/dist/community/market-sessions-by-leviathan.d.ts +103 -0
- package/dist/community/market-sessions-by-leviathan.d.ts.map +1 -0
- package/dist/community/market-sessions-volume-profile.d.ts +96 -0
- package/dist/community/market-sessions-volume-profile.d.ts.map +1 -0
- package/dist/community/market-shift-levels.d.ts +6 -1
- package/dist/community/market-shift-levels.d.ts.map +1 -1
- package/dist/community/market-structure-break-ob-probability-toolkit.d.ts +82 -0
- package/dist/community/market-structure-break-ob-probability-toolkit.d.ts.map +1 -0
- package/dist/community/market-structure-break-order-block.d.ts +66 -0
- package/dist/community/market-structure-break-order-block.d.ts.map +1 -0
- package/dist/community/market-structure-by-leviathan.d.ts +63 -0
- package/dist/community/market-structure-by-leviathan.d.ts.map +1 -0
- package/dist/community/market-structure-choch-bos.d.ts +60 -0
- package/dist/community/market-structure-choch-bos.d.ts.map +1 -0
- package/dist/community/market-structure-dashboard-flux-charts.d.ts +193 -0
- package/dist/community/market-structure-dashboard-flux-charts.d.ts.map +1 -0
- package/dist/community/market-structure-oscillator.d.ts +100 -0
- package/dist/community/market-structure-oscillator.d.ts.map +1 -0
- package/dist/community/market-structure-trend.d.ts +5 -1
- package/dist/community/market-structure-trend.d.ts.map +1 -1
- package/dist/community/market-structure-with-inducements-sweeps.d.ts +63 -0
- package/dist/community/market-structure-with-inducements-sweeps.d.ts.map +1 -0
- package/dist/community/mean-reversion-channel.d.ts +95 -0
- package/dist/community/mean-reversion-channel.d.ts.map +1 -0
- package/dist/community/mfi-seiglerj.d.ts +49 -0
- package/dist/community/mfi-seiglerj.d.ts.map +1 -0
- package/dist/community/mirage-liquidity-sweep-pro.d.ts +125 -0
- package/dist/community/mirage-liquidity-sweep-pro.d.ts.map +1 -0
- package/dist/community/momentum-shift.d.ts +61 -0
- package/dist/community/momentum-shift.d.ts.map +1 -0
- package/dist/community/money-flow-index-alerts.d.ts +59 -0
- package/dist/community/money-flow-index-alerts.d.ts.map +1 -0
- package/dist/community/money-flow-profile.d.ts +89 -0
- package/dist/community/money-flow-profile.d.ts.map +1 -0
- package/dist/community/moving-vwap-kama-cloud.d.ts +8 -6
- package/dist/community/moving-vwap-kama-cloud.d.ts.map +1 -1
- package/dist/community/mtf-order-block-finder.d.ts +96 -0
- package/dist/community/mtf-order-block-finder.d.ts.map +1 -0
- package/dist/community/multi-kernel-regression.d.ts +65 -0
- package/dist/community/multi-kernel-regression.d.ts.map +1 -0
- package/dist/community/multitimeframe-fair-value-gap-fvg.d.ts +86 -0
- package/dist/community/multitimeframe-fair-value-gap-fvg.d.ts.map +1 -0
- package/dist/community/nadaraya-watson-envelope.d.ts +59 -0
- package/dist/community/nadaraya-watson-envelope.d.ts.map +1 -0
- package/dist/community/nadaraya-watson-smoothers.d.ts +54 -0
- package/dist/community/nadaraya-watson-smoothers.d.ts.map +1 -0
- package/dist/community/obv-oscillator-lazybear.d.ts +37 -0
- package/dist/community/obv-oscillator-lazybear.d.ts.map +1 -0
- package/dist/community/opening-range-breakout-with-2-profit-targets.d.ts +79 -0
- package/dist/community/opening-range-breakout-with-2-profit-targets.d.ts.map +1 -0
- package/dist/community/opening-range-breakouts-targets.d.ts +96 -0
- package/dist/community/opening-range-breakouts-targets.d.ts.map +1 -0
- package/dist/community/orb-algo-flux-charts.d.ts +95 -0
- package/dist/community/orb-algo-flux-charts.d.ts.map +1 -0
- package/dist/community/orb-opening-range-breakout.d.ts +47 -0
- package/dist/community/orb-opening-range-breakout.d.ts.map +1 -0
- package/dist/community/order-block-detector.d.ts +64 -0
- package/dist/community/order-block-detector.d.ts.map +1 -0
- package/dist/community/order-block-finder.d.ts +66 -0
- package/dist/community/order-block-finder.d.ts.map +1 -0
- package/dist/community/order-blocks-breaker-blocks.d.ts +61 -0
- package/dist/community/order-blocks-breaker-blocks.d.ts.map +1 -0
- package/dist/community/order-blocks-flux-charts.d.ts +72 -0
- package/dist/community/order-blocks-flux-charts.d.ts.map +1 -0
- package/dist/community/oscillator-matrix.d.ts +5 -1
- package/dist/community/oscillator-matrix.d.ts.map +1 -1
- package/dist/community/pivot-hh-hl-lh-ll.d.ts +5 -1
- package/dist/community/pivot-hh-hl-lh-ll.d.ts.map +1 -1
- package/dist/community/pivot-hilo-support-n-resistance-levels-r3-3.d.ts +86 -0
- package/dist/community/pivot-hilo-support-n-resistance-levels-r3-3.d.ts.map +1 -0
- package/dist/community/pivot-point-hpotter.d.ts +49 -0
- package/dist/community/pivot-point-hpotter.d.ts.map +1 -0
- package/dist/community/pivot-points-high-low-missed-reversal.d.ts +59 -0
- package/dist/community/pivot-points-high-low-missed-reversal.d.ts.map +1 -0
- package/dist/community/pivot-points-high-low-multi-time-frame.d.ts +68 -0
- package/dist/community/pivot-points-high-low-multi-time-frame.d.ts.map +1 -0
- package/dist/community/pmax-on-rsi-with-tillson-t3.d.ts +65 -0
- package/dist/community/pmax-on-rsi-with-tillson-t3.d.ts.map +1 -0
- package/dist/community/power-of-3-ict-01-amd-ict-smc-accumulations.d.ts +56 -0
- package/dist/community/power-of-3-ict-01-amd-ict-smc-accumulations.d.ts.map +1 -0
- package/dist/community/precision-sniper.d.ts +174 -0
- package/dist/community/precision-sniper.d.ts.map +1 -0
- package/dist/community/predictive-ranges.d.ts +53 -0
- package/dist/community/predictive-ranges.d.ts.map +1 -0
- package/dist/community/price-action-signals-filtered-ema.d.ts +5 -1
- package/dist/community/price-action-signals-filtered-ema.d.ts.map +1 -1
- package/dist/community/price-action-smart-money-concepts.d.ts +110 -0
- package/dist/community/price-action-smart-money-concepts.d.ts.map +1 -0
- package/dist/community/prometheus-topological-persistent-entropy.d.ts +5 -1
- package/dist/community/prometheus-topological-persistent-entropy.d.ts.map +1 -1
- package/dist/community/pullback-trading-tool-alt-r1-0-by-justunclel.d.ts +86 -0
- package/dist/community/pullback-trading-tool-alt-r1-0-by-justunclel.d.ts.map +1 -0
- package/dist/community/pulse-range.d.ts +6 -2
- package/dist/community/pulse-range.d.ts.map +1 -1
- package/dist/community/pure-coca.d.ts +6 -1
- package/dist/community/pure-coca.d.ts.map +1 -1
- package/dist/community/pure-price-action-ict-tools.d.ts +120 -0
- package/dist/community/pure-price-action-ict-tools.d.ts.map +1 -0
- package/dist/community/pure-price-action-structures.d.ts +78 -0
- package/dist/community/pure-price-action-structures.d.ts.map +1 -0
- package/dist/community/q-impulse-entry.d.ts +5 -1
- package/dist/community/q-impulse-entry.d.ts.map +1 -1
- package/dist/community/qqe-kivanc.d.ts +50 -0
- package/dist/community/qqe-kivanc.d.ts.map +1 -0
- package/dist/community/range-filter-buy-sell-5min.d.ts +47 -0
- package/dist/community/range-filter-buy-sell-5min.d.ts.map +1 -0
- package/dist/community/ranges-with-targets.d.ts +73 -0
- package/dist/community/ranges-with-targets.d.ts.map +1 -0
- package/dist/community/redk-vol-weighted-rsi.d.ts +5 -1
- package/dist/community/redk-vol-weighted-rsi.d.ts.map +1 -1
- package/dist/community/relative-strength-index-divergences-libertus.d.ts +67 -0
- package/dist/community/relative-strength-index-divergences-libertus.d.ts.map +1 -0
- package/dist/community/renko-candles-overlay.d.ts +78 -0
- package/dist/community/renko-candles-overlay.d.ts.map +1 -0
- package/dist/community/renko-flip-alert.d.ts +5 -1
- package/dist/community/renko-flip-alert.d.ts.map +1 -1
- package/dist/community/reversal-candlestick-structure.d.ts +85 -0
- package/dist/community/reversal-candlestick-structure.d.ts.map +1 -0
- package/dist/community/reversal-probability-zone-levels.d.ts +90 -0
- package/dist/community/reversal-probability-zone-levels.d.ts.map +1 -0
- package/dist/community/reversal-signals.d.ts +72 -0
- package/dist/community/reversal-signals.d.ts.map +1 -0
- package/dist/community/rsi-cyclic-smoothed-v2.d.ts +44 -0
- package/dist/community/rsi-cyclic-smoothed-v2.d.ts.map +1 -0
- package/dist/community/rsi-entry-engine.d.ts +90 -0
- package/dist/community/rsi-entry-engine.d.ts.map +1 -0
- package/dist/community/rsi-flux-charts.d.ts +80 -0
- package/dist/community/rsi-flux-charts.d.ts.map +1 -0
- package/dist/community/rsi-ma-cross-divergence-signal.d.ts +6 -2
- package/dist/community/rsi-ma-cross-divergence-signal.d.ts.map +1 -1
- package/dist/community/rsi-perfect-flip-dots.d.ts +5 -1
- package/dist/community/rsi-perfect-flip-dots.d.ts.map +1 -1
- package/dist/community/rsi-support-resistance-by-dgt.d.ts +99 -0
- package/dist/community/rsi-support-resistance-by-dgt.d.ts.map +1 -0
- package/dist/community/rsi-swing-indicator-v2.d.ts +47 -0
- package/dist/community/rsi-swing-indicator-v2.d.ts.map +1 -0
- package/dist/community/saty-atr-levels.d.ts +77 -0
- package/dist/community/saty-atr-levels.d.ts.map +1 -0
- package/dist/community/scalp-pro.d.ts +47 -0
- package/dist/community/scalp-pro.d.ts.map +1 -0
- package/dist/community/scalping-pullback-tool.d.ts +70 -0
- package/dist/community/scalping-pullback-tool.d.ts.map +1 -0
- package/dist/community/scalping-swing-trading-tool-r1-4-by-justunclel.d.ts +65 -0
- package/dist/community/scalping-swing-trading-tool-r1-4-by-justunclel.d.ts.map +1 -0
- package/dist/community/self-aware-trend-system.d.ts +154 -0
- package/dist/community/self-aware-trend-system.d.ts.map +1 -0
- package/dist/community/sequential-pattern-strength.d.ts +5 -1
- package/dist/community/sequential-pattern-strength.d.ts.map +1 -1
- package/dist/community/session-sweeps.d.ts +125 -0
- package/dist/community/session-sweeps.d.ts.map +1 -0
- package/dist/community/sessions-luxalgo.d.ts +110 -0
- package/dist/community/sessions-luxalgo.d.ts.map +1 -0
- package/dist/community/sessions-on-chart.d.ts +57 -0
- package/dist/community/sessions-on-chart.d.ts.map +1 -0
- package/dist/community/sharpshooter-30-ema-distance.d.ts +5 -1
- package/dist/community/sharpshooter-30-ema-distance.d.ts.map +1 -1
- package/dist/community/signal-forge.d.ts +115 -0
- package/dist/community/signal-forge.d.ts.map +1 -0
- package/dist/community/signal-table-autofib-sma-ema-rsi-atr-vol.d.ts +173 -0
- package/dist/community/signal-table-autofib-sma-ema-rsi-atr-vol.d.ts.map +1 -0
- package/dist/community/slow-stochastic.d.ts +42 -0
- package/dist/community/slow-stochastic.d.ts.map +1 -0
- package/dist/community/sma-dma-crossing-signal.d.ts +5 -1
- package/dist/community/sma-dma-crossing-signal.d.ts.map +1 -1
- package/dist/community/smart-money-breakout-channels.d.ts +95 -0
- package/dist/community/smart-money-breakout-channels.d.ts.map +1 -0
- package/dist/community/smart-money-breakout-signals.d.ts +66 -0
- package/dist/community/smart-money-breakout-signals.d.ts.map +1 -0
- package/dist/community/smart-money-breakouts.d.ts +70 -0
- package/dist/community/smart-money-breakouts.d.ts.map +1 -0
- package/dist/community/smart-money-concepts-luxalgo.d.ts +134 -0
- package/dist/community/smart-money-concepts-luxalgo.d.ts.map +1 -0
- package/dist/community/smart-money-concepts-probability.d.ts +79 -0
- package/dist/community/smart-money-concepts-probability.d.ts.map +1 -0
- package/dist/community/smart-money-volume-index.d.ts +58 -0
- package/dist/community/smart-money-volume-index.d.ts.map +1 -0
- package/dist/community/smarter-snr.d.ts +131 -0
- package/dist/community/smarter-snr.d.ts.map +1 -0
- package/dist/community/smc-structures-and-fvg.d.ts +107 -0
- package/dist/community/smc-structures-and-fvg.d.ts.map +1 -0
- package/dist/community/ssl-hybrid.d.ts +80 -0
- package/dist/community/ssl-hybrid.d.ts.map +1 -0
- package/dist/community/strong-burst-fader-projectsyndicate.d.ts +6 -2
- package/dist/community/strong-burst-fader-projectsyndicate.d.ts.map +1 -1
- package/dist/community/super-orderblock-fvg-bos.d.ts +116 -0
- package/dist/community/super-orderblock-fvg-bos.d.ts.map +1 -0
- package/dist/community/superbollingertrend.d.ts +68 -0
- package/dist/community/superbollingertrend.d.ts.map +1 -0
- package/dist/community/supertrend-relative-volume-kernel.d.ts +81 -0
- package/dist/community/supertrend-relative-volume-kernel.d.ts.map +1 -0
- package/dist/community/supply-and-demand-daily.d.ts +71 -0
- package/dist/community/supply-and-demand-daily.d.ts.map +1 -0
- package/dist/community/supply-and-demand-visible-range.d.ts +97 -0
- package/dist/community/supply-and-demand-visible-range.d.ts.map +1 -0
- package/dist/community/supply-and-demand-zones.d.ts +56 -0
- package/dist/community/supply-and-demand-zones.d.ts.map +1 -0
- package/dist/community/supply-demand-flux-charts.d.ts +88 -0
- package/dist/community/supply-demand-flux-charts.d.ts.map +1 -0
- package/dist/community/support-and-resistance-flux-charts.d.ts +102 -0
- package/dist/community/support-and-resistance-flux-charts.d.ts.map +1 -0
- package/dist/community/support-and-resistance-logistic-regression.d.ts +70 -0
- package/dist/community/support-and-resistance-logistic-regression.d.ts.map +1 -0
- package/dist/community/support-resistance-channels-mtf.d.ts +99 -0
- package/dist/community/support-resistance-channels-mtf.d.ts.map +1 -0
- package/dist/community/support-resistance-dynamic-v2.d.ts +70 -0
- package/dist/community/support-resistance-dynamic-v2.d.ts.map +1 -0
- package/dist/community/support-resistance-dynamic.d.ts +65 -0
- package/dist/community/support-resistance-dynamic.d.ts.map +1 -0
- package/dist/community/support-resistance-high-volume-boxes.d.ts +58 -0
- package/dist/community/support-resistance-high-volume-boxes.d.ts.map +1 -0
- package/dist/community/support-resistance-interactive.d.ts +72 -0
- package/dist/community/support-resistance-interactive.d.ts.map +1 -0
- package/dist/community/support-resistance-mtf.d.ts +62 -0
- package/dist/community/support-resistance-mtf.d.ts.map +1 -0
- package/dist/community/support-resistance-power-channel.d.ts +55 -0
- package/dist/community/support-resistance-power-channel.d.ts.map +1 -0
- package/dist/community/support-resistance-pro-toolkit.d.ts +84 -0
- package/dist/community/support-resistance-pro-toolkit.d.ts.map +1 -0
- package/dist/community/support-resistance-signals-mtf.d.ts +113 -0
- package/dist/community/support-resistance-signals-mtf.d.ts.map +1 -0
- package/dist/community/support-resistance-v2-indicator.d.ts +58 -0
- package/dist/community/support-resistance-v2-indicator.d.ts.map +1 -0
- package/dist/community/support-resistance-with-breaks-and-retests.d.ts +74 -0
- package/dist/community/support-resistance-with-breaks-and-retests.d.ts.map +1 -0
- package/dist/community/swing-failure-pattern.d.ts +74 -0
- package/dist/community/swing-failure-pattern.d.ts.map +1 -0
- package/dist/community/swing-levels-and-liquidity-by-leviathan.d.ts +93 -0
- package/dist/community/swing-levels-and-liquidity-by-leviathan.d.ts.map +1 -0
- package/dist/community/swing-profile.d.ts +66 -0
- package/dist/community/swing-profile.d.ts.map +1 -0
- package/dist/community/swing-volume-profiles.d.ts +95 -0
- package/dist/community/swing-volume-profiles.d.ts.map +1 -0
- package/dist/community/target-trend.d.ts +58 -0
- package/dist/community/target-trend.d.ts.map +1 -0
- package/dist/community/the-echo-forecast.d.ts +61 -0
- package/dist/community/the-echo-forecast.d.ts.map +1 -0
- package/dist/community/the-mean-goose-v1.d.ts +5 -1
- package/dist/community/the-mean-goose-v1.d.ts.map +1 -1
- package/dist/community/three-bar-reversal-pattern.d.ts +67 -0
- package/dist/community/three-bar-reversal-pattern.d.ts.map +1 -0
- package/dist/community/tma-overlay.d.ts +70 -0
- package/dist/community/tma-overlay.d.ts.map +1 -0
- package/dist/community/traders-reality-main.d.ts +247 -0
- package/dist/community/traders-reality-main.d.ts.map +1 -0
- package/dist/community/trading-abc.d.ts +82 -0
- package/dist/community/trading-abc.d.ts.map +1 -0
- package/dist/community/trend-channels-with-liquidity-breaks.d.ts +68 -0
- package/dist/community/trend-channels-with-liquidity-breaks.d.ts.map +1 -0
- package/dist/community/trend-direction-helper.d.ts +89 -0
- package/dist/community/trend-direction-helper.d.ts.map +1 -0
- package/dist/community/trend-direction-zone.d.ts +6 -1
- package/dist/community/trend-direction-zone.d.ts.map +1 -1
- package/dist/community/trend-duration-forecast.d.ts +65 -0
- package/dist/community/trend-duration-forecast.d.ts.map +1 -0
- package/dist/community/trend-filter.d.ts +5 -1
- package/dist/community/trend-filter.d.ts.map +1 -1
- package/dist/community/trend-indicator-a-v2.d.ts +53 -0
- package/dist/community/trend-indicator-a-v2.d.ts.map +1 -0
- package/dist/community/trend-levels.d.ts +57 -0
- package/dist/community/trend-levels.d.ts.map +1 -0
- package/dist/community/trend-lines-v2.d.ts +5 -1
- package/dist/community/trend-lines-v2.d.ts.map +1 -1
- package/dist/community/trend-lines.d.ts +55 -0
- package/dist/community/trend-lines.d.ts.map +1 -0
- package/dist/community/trend-state-signals.d.ts +6 -2
- package/dist/community/trend-state-signals.d.ts.map +1 -1
- package/dist/community/trend-targets.d.ts +67 -0
- package/dist/community/trend-targets.d.ts.map +1 -0
- package/dist/community/trend-type-indicator-by-bobrivera990.d.ts +60 -0
- package/dist/community/trend-type-indicator-by-bobrivera990.d.ts.map +1 -0
- package/dist/community/trending-market-toolkit.d.ts +78 -0
- package/dist/community/trending-market-toolkit.d.ts.map +1 -0
- package/dist/community/trendline-breakout-navigator.d.ts +80 -0
- package/dist/community/trendline-breakout-navigator.d.ts.map +1 -0
- package/dist/community/trendline-breakouts-with-targets.d.ts +62 -0
- package/dist/community/trendline-breakouts-with-targets.d.ts.map +1 -0
- package/dist/community/trendlines-jd.d.ts +67 -0
- package/dist/community/trendlines-jd.d.ts.map +1 -0
- package/dist/community/trendwave-bands.d.ts +5 -1
- package/dist/community/trendwave-bands.d.ts.map +1 -1
- package/dist/community/ttm-squeeze-greeny.d.ts +38 -0
- package/dist/community/ttm-squeeze-greeny.d.ts.map +1 -0
- package/dist/community/ttrades-daily-bias.d.ts +89 -0
- package/dist/community/ttrades-daily-bias.d.ts.map +1 -0
- package/dist/community/ultimate-moving-average-mtf.d.ts +73 -0
- package/dist/community/ultimate-moving-average-mtf.d.ts.map +1 -0
- package/dist/community/ultimate-opening-range-breakout.d.ts +100 -0
- package/dist/community/ultimate-opening-range-breakout.d.ts.map +1 -0
- package/dist/community/universal-signal-backtester.d.ts +100 -0
- package/dist/community/universal-signal-backtester.d.ts.map +1 -0
- package/dist/community/user-defined-range-selector-and-color-changing-ema-line.d.ts +7 -2
- package/dist/community/user-defined-range-selector-and-color-changing-ema-line.d.ts.map +1 -1
- package/dist/community/vdub-binary-pro-3-v2.d.ts +83 -0
- package/dist/community/vdub-binary-pro-3-v2.d.ts.map +1 -0
- package/dist/community/volumatic-variable-index-dynamic-average.d.ts +63 -0
- package/dist/community/volumatic-variable-index-dynamic-average.d.ts.map +1 -0
- package/dist/community/volume-bar-breakout.d.ts +5 -1
- package/dist/community/volume-bar-breakout.d.ts.map +1 -1
- package/dist/community/volume-based-support-resistance-zones.d.ts +132 -0
- package/dist/community/volume-based-support-resistance-zones.d.ts.map +1 -0
- package/dist/community/volume-gaps-imbalances.d.ts +77 -0
- package/dist/community/volume-gaps-imbalances.d.ts.map +1 -0
- package/dist/community/volume-order-blocks.d.ts +62 -0
- package/dist/community/volume-order-blocks.d.ts.map +1 -0
- package/dist/community/volume-orderbook.d.ts +68 -0
- package/dist/community/volume-orderbook.d.ts.map +1 -0
- package/dist/community/volume-profile-fixed-range.d.ts +64 -0
- package/dist/community/volume-profile-fixed-range.d.ts.map +1 -0
- package/dist/community/volume-profile-free-ultra-sli.d.ts +143 -0
- package/dist/community/volume-profile-free-ultra-sli.d.ts.map +1 -0
- package/dist/community/volume-profile-kv4coins.d.ts +75 -0
- package/dist/community/volume-profile-kv4coins.d.ts.map +1 -0
- package/dist/community/volume-profile-per-day-with-support.d.ts +94 -0
- package/dist/community/volume-profile-per-day-with-support.d.ts.map +1 -0
- package/dist/community/volume-profile-pivot-anchored.d.ts +87 -0
- package/dist/community/volume-profile-pivot-anchored.d.ts.map +1 -0
- package/dist/community/volume-profile-pivot-levels.d.ts +67 -0
- package/dist/community/volume-profile-pivot-levels.d.ts.map +1 -0
- package/dist/community/volume-profile.d.ts +64 -0
- package/dist/community/volume-profile.d.ts.map +1 -0
- package/dist/community/volume-sentiment-breakout-channels.d.ts +73 -0
- package/dist/community/volume-sentiment-breakout-channels.d.ts.map +1 -0
- package/dist/community/volume-spike-and-contraction-indicator.d.ts +5 -1
- package/dist/community/volume-spike-and-contraction-indicator.d.ts.map +1 -1
- package/dist/community/volume-suite-by-leviathan.d.ts +129 -0
- package/dist/community/volume-suite-by-leviathan.d.ts.map +1 -0
- package/dist/community/volume-trend-order-block-engine.d.ts +70 -0
- package/dist/community/volume-trend-order-block-engine.d.ts.map +1 -0
- package/dist/community/vwap-deviation-oscillator.d.ts +5 -1
- package/dist/community/vwap-deviation-oscillator.d.ts.map +1 -1
- package/dist/community/vwap-dual-ma-ribbon-tracker-pro.d.ts +8 -6
- package/dist/community/vwap-dual-ma-ribbon-tracker-pro.d.ts.map +1 -1
- package/dist/community/vwap-mvwap-ema-crossover.d.ts +7 -2
- package/dist/community/vwap-mvwap-ema-crossover.d.ts.map +1 -1
- package/dist/community/vwap-predictive-breakout-rsi-ob-trend-chop.d.ts +8 -6
- package/dist/community/vwap-predictive-breakout-rsi-ob-trend-chop.d.ts.map +1 -1
- package/dist/community/vwap-stdev-bands-v2-mod.d.ts +63 -0
- package/dist/community/vwap-stdev-bands-v2-mod.d.ts.map +1 -0
- package/dist/community/wavetrend-oscillator-wt.d.ts +43 -0
- package/dist/community/wavetrend-oscillator-wt.d.ts.map +1 -0
- package/dist/community/wedge-and-flag-finder.d.ts +75 -0
- package/dist/community/wedge-and-flag-finder.d.ts.map +1 -0
- package/dist/community/weis-wave-volume-lazybear.d.ts +39 -0
- package/dist/community/weis-wave-volume-lazybear.d.ts.map +1 -0
- package/dist/community/wick-volume-alert.d.ts +5 -1
- package/dist/community/wick-volume-alert.d.ts.map +1 -1
- package/dist/community/z-score-oscillator.d.ts +7 -2
- package/dist/community/z-score-oscillator.d.ts.map +1 -1
- package/dist/community/zero-lag-hma-trend-suite.d.ts +5 -3
- package/dist/community/zero-lag-hma-trend-suite.d.ts.map +1 -1
- package/dist/community/zero-lag-trend-signals.d.ts +71 -0
- package/dist/community/zero-lag-trend-signals.d.ts.map +1 -0
- package/dist/community/zig-zag-channels.d.ts +53 -0
- package/dist/community/zig-zag-channels.d.ts.map +1 -0
- package/dist/community/zigzag-fibonacci.d.ts +17 -6
- package/dist/community/zigzag-fibonacci.d.ts.map +1 -1
- package/dist/community/zigzag-multi-time-frame-with-fibonacci.d.ts +69 -0
- package/dist/community/zigzag-multi-time-frame-with-fibonacci.d.ts.map +1 -0
- package/dist/community/zigzag-percent-reversal-forecast-patterns.d.ts +86 -0
- package/dist/community/zigzag-percent-reversal-forecast-patterns.d.ts.map +1 -0
- package/dist/index.cjs +133916 -35697
- package/dist/index.d.ts +533 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +126745 -27585
- package/dist/lower-tf-volume.d.ts +48 -0
- package/dist/lower-tf-volume.d.ts.map +1 -0
- package/dist/render/primitives.d.ts +19 -6
- package/dist/render/primitives.d.ts.map +1 -1
- package/dist/render/renderer.d.ts +2 -1
- package/dist/render/renderer.d.ts.map +1 -1
- package/dist/render.mjs +9 -5
- package/dist/standard/awesome-oscillator.d.ts +2 -7
- package/dist/standard/awesome-oscillator.d.ts.map +1 -1
- package/dist/standard/chande-mo.d.ts +3 -1
- package/dist/standard/chande-mo.d.ts.map +1 -1
- package/dist/standard/choppiness.d.ts +2 -0
- package/dist/standard/choppiness.d.ts.map +1 -1
- package/dist/standard/cumulative-volume-delta.d.ts +25 -7
- package/dist/standard/cumulative-volume-delta.d.ts.map +1 -1
- package/dist/standard/dema.d.ts +0 -1
- package/dist/standard/dema.d.ts.map +1 -1
- package/dist/standard/historical-volatility.d.ts +2 -5
- package/dist/standard/historical-volatility.d.ts.map +1 -1
- package/dist/standard/klinger.d.ts +3 -9
- package/dist/standard/klinger.d.ts.map +1 -1
- package/dist/standard/lsma.d.ts +1 -1
- package/dist/standard/lsma.d.ts.map +1 -1
- package/dist/standard/macd.d.ts +16 -3
- package/dist/standard/macd.d.ts.map +1 -1
- package/dist/standard/mcginley-dynamic.d.ts +1 -2
- package/dist/standard/mcginley-dynamic.d.ts.map +1 -1
- package/dist/standard/moon-phases.d.ts +7 -1
- package/dist/standard/moon-phases.d.ts.map +1 -1
- package/dist/standard/net-volume.d.ts +18 -5
- package/dist/standard/net-volume.d.ts.map +1 -1
- package/dist/standard/price-oscillator.d.ts +17 -10
- package/dist/standard/price-oscillator.d.ts.map +1 -1
- package/dist/standard/relative-volume-at-time.d.ts +15 -4
- package/dist/standard/relative-volume-at-time.d.ts.map +1 -1
- package/dist/standard/smma.d.ts +3 -1
- package/dist/standard/smma.d.ts.map +1 -1
- package/dist/standard/stoch-rsi.d.ts +3 -1
- package/dist/standard/stoch-rsi.d.ts.map +1 -1
- package/dist/standard/tema.d.ts +1 -3
- package/dist/standard/tema.d.ts.map +1 -1
- package/dist/standard/twap.d.ts +11 -2
- package/dist/standard/twap.d.ts.map +1 -1
- package/dist/standard/ulcer-index.d.ts +5 -3
- package/dist/standard/ulcer-index.d.ts.map +1 -1
- package/dist/standard/up-down-volume.d.ts +19 -5
- package/dist/standard/up-down-volume.d.ts.map +1 -1
- package/dist/standard/volume-delta.d.ts +18 -4
- package/dist/standard/volume-delta.d.ts.map +1 -1
- package/dist/standard/vwap.d.ts +39 -10
- package/dist/standard/vwap.d.ts.map +1 -1
- package/dist/standard/williams-alligator.d.ts +4 -4
- package/dist/standard/williams-alligator.d.ts.map +1 -1
- package/dist/standard/zigzag.d.ts +17 -4
- package/dist/standard/zigzag.d.ts.map +1 -1
- 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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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;
|
|
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"}
|