@tradecanvas/core 1.20.0 → 1.22.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 +1 -1
- package/dist/finance/BarChartRenderer.d.ts +39 -0
- package/dist/finance/BarChartRenderer.d.ts.map +1 -0
- package/dist/finance/BaseFinanceChart.d.ts +2 -0
- package/dist/finance/BaseFinanceChart.d.ts.map +1 -1
- package/dist/finance/CalendarRenderer.d.ts +53 -0
- package/dist/finance/CalendarRenderer.d.ts.map +1 -0
- package/dist/finance/CounterClockRenderer.d.ts +45 -0
- package/dist/finance/CounterClockRenderer.d.ts.map +1 -0
- package/dist/finance/DonutRenderer.d.ts +33 -0
- package/dist/finance/DonutRenderer.d.ts.map +1 -0
- package/dist/finance/HeatmapLayout.d.ts +31 -0
- package/dist/finance/HeatmapLayout.d.ts.map +1 -1
- package/dist/finance/HeatmapRenderer.d.ts +2 -2
- package/dist/finance/HeatmapRenderer.d.ts.map +1 -1
- package/dist/finance/HistogramRenderer.d.ts +37 -0
- package/dist/finance/HistogramRenderer.d.ts.map +1 -0
- package/dist/finance/MatrixRenderer.d.ts +56 -0
- package/dist/finance/MatrixRenderer.d.ts.map +1 -0
- package/dist/finance/ScatterRenderer.d.ts +32 -0
- package/dist/finance/ScatterRenderer.d.ts.map +1 -0
- package/dist/finance/chartKit.d.ts +67 -0
- package/dist/finance/chartKit.d.ts.map +1 -0
- package/dist/finance/colorScale.d.ts +25 -0
- package/dist/finance/colorScale.d.ts.map +1 -0
- package/dist/finance/index.d.ts +20 -2
- package/dist/finance/index.d.ts.map +1 -1
- package/dist/index.cjs +5 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3622 -1885
- package/dist/index.js.map +1 -1
- package/dist/indicators/overlay/DeMarkRange.d.ts +14 -0
- package/dist/indicators/overlay/DeMarkRange.d.ts.map +1 -0
- package/dist/indicators/overlay/MARainbow.d.ts +16 -0
- package/dist/indicators/overlay/MARainbow.d.ts.map +1 -0
- package/dist/indicators/overlay/PriceAverages.d.ts +5 -0
- package/dist/indicators/overlay/PriceAverages.d.ts.map +1 -1
- package/dist/indicators/overlay/TimeSeriesForecast.d.ts +12 -0
- package/dist/indicators/overlay/TimeSeriesForecast.d.ts.map +1 -0
- package/dist/indicators/panel/ABRatio.d.ts +16 -0
- package/dist/indicators/panel/ABRatio.d.ts.map +1 -0
- package/dist/indicators/panel/BinaryWave.d.ts +17 -0
- package/dist/indicators/panel/BinaryWave.d.ts.map +1 -0
- package/dist/indicators/panel/IntradayIntensity.d.ts +16 -0
- package/dist/indicators/panel/IntradayIntensity.d.ts.map +1 -0
- package/dist/indicators/panel/PsychologicalLine.d.ts +24 -0
- package/dist/indicators/panel/PsychologicalLine.d.ts.map +1 -0
- package/dist/indicators/panel/RSquared.d.ts +13 -0
- package/dist/indicators/panel/RSquared.d.ts.map +1 -0
- package/dist/indicators/panel/RandomWalkIndex.d.ts +15 -0
- package/dist/indicators/panel/RandomWalkIndex.d.ts.map +1 -0
- package/dist/indicators/panel/Sigma.d.ts +13 -0
- package/dist/indicators/panel/Sigma.d.ts.map +1 -0
- package/dist/indicators/panel/SmoothedROC.d.ts +12 -0
- package/dist/indicators/panel/SmoothedROC.d.ts.map +1 -0
- package/dist/indicators/panel/Sonar.d.ts +13 -0
- package/dist/indicators/panel/Sonar.d.ts.map +1 -0
- package/dist/indicators/panel/TrueRange.d.ts +9 -0
- package/dist/indicators/panel/TrueRange.d.ts.map +1 -0
- package/dist/indicators/panel/VerticalHorizontalFilter.d.ts +13 -0
- package/dist/indicators/panel/VerticalHorizontalFilter.d.ts.map +1 -0
- package/dist/indicators/panel/VolumeComparisons.d.ts +25 -0
- package/dist/indicators/panel/VolumeComparisons.d.ts.map +1 -0
- package/dist/indicators/panel/VolumeIndexes.d.ts +26 -0
- package/dist/indicators/panel/VolumeIndexes.d.ts.map +1 -0
- package/dist/indicators/panel/VolumeRatio.d.ts +14 -0
- package/dist/indicators/panel/VolumeRatio.d.ts.map +1 -0
- package/dist/indicators/registry.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorValue } from '@tradecanvas/commons';
|
|
2
|
+
import { PointwiseIndicator } from '../PointwiseIndicator.js';
|
|
3
|
+
/**
|
|
4
|
+
* DeMark projected range: the high and low the previous bar points to for
|
|
5
|
+
* this one. From the previous bar, X = 2·high + low + close when it closed up,
|
|
6
|
+
* high + 2·low + close when it closed down, high + low + 2·close when flat;
|
|
7
|
+
* the projected high is X/2 − its low, the projected low X/2 − its high.
|
|
8
|
+
*/
|
|
9
|
+
export declare class DeMarkRangeIndicator extends PointwiseIndicator<null> {
|
|
10
|
+
descriptor: IndicatorDescriptor;
|
|
11
|
+
protected read(_config: IndicatorConfig): null;
|
|
12
|
+
protected pointAt(data: DataSeries, i: number): IndicatorValue | null;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=DeMarkRange.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeMarkRange.d.ts","sourceRoot":"","sources":["../../../src/indicators/overlay/DeMarkRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,kBAAkB,CAAC,IAAI,CAAC;IAChE,UAAU,EAAE,mBAAmB,CAU7B;IAEF,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAI9C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CAMtE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
|
|
2
|
+
import { IndicatorBase } from '../IndicatorBase.js';
|
|
3
|
+
/** Lines at most: more can't be told apart. */
|
|
4
|
+
export declare const MAX_RAINBOW_LINES = 20;
|
|
5
|
+
/**
|
|
6
|
+
* Moving Average Rainbow: `count` moving averages of the close, the first
|
|
7
|
+
* over `first` bars and each next one `step` bars longer (10, 20, 30… by
|
|
8
|
+
* default), simple or (`exponential: 1`) exponential. In a trend the lines
|
|
9
|
+
* fan out in order; tangled lines mean no trend. The lines take the palette's
|
|
10
|
+
* colours in turn; `updateIndicatorStyle(id, { colors })` gives each its own.
|
|
11
|
+
*/
|
|
12
|
+
export declare class MARainbowIndicator extends IndicatorBase {
|
|
13
|
+
descriptor: IndicatorDescriptor;
|
|
14
|
+
calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=MARainbow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MARainbow.d.ts","sourceRoot":"","sources":["../../../src/indicators/overlay/MARainbow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAiC,MAAM,sBAAsB,CAAC;AAE7I,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,+CAA+C;AAC/C,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC;;;;;;GAMG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,UAAU,EAAE,mBAAmB,CAY7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CAoBtE"}
|
|
@@ -21,5 +21,10 @@ export declare class TypicalPriceIndicator extends BarPriceIndicator {
|
|
|
21
21
|
descriptor: IndicatorDescriptor;
|
|
22
22
|
protected price(b: OHLCBar): number;
|
|
23
23
|
}
|
|
24
|
+
/** Weighted Close: (high + low + 2 × close) / 4, the bar's price leaning to its close. */
|
|
25
|
+
export declare class WeightedCloseIndicator extends BarPriceIndicator {
|
|
26
|
+
descriptor: IndicatorDescriptor;
|
|
27
|
+
protected price(b: OHLCBar): number;
|
|
28
|
+
}
|
|
24
29
|
export {};
|
|
25
30
|
//# sourceMappingURL=PriceAverages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PriceAverages.d.ts","sourceRoot":"","sources":["../../../src/indicators/overlay/PriceAverages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACtH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,uEAAuE;AACvE,uBAAe,iBAAkB,SAAQ,kBAAkB,CAAC,IAAI,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAE9C,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAI9C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CAGtE;AAED,sDAAsD;AACtD,qBAAa,qBAAsB,SAAQ,iBAAiB;IAC1D,UAAU,EAAE,mBAAmB,CAO7B;IAEF,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;CAGpC;AAED,sCAAsC;AACtC,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,UAAU,EAAE,mBAAmB,CAO7B;IAEF,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;CAGpC;AAED,+CAA+C;AAC/C,qBAAa,qBAAsB,SAAQ,iBAAiB;IAC1D,UAAU,EAAE,mBAAmB,CAO7B;IAEF,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;CAGpC"}
|
|
1
|
+
{"version":3,"file":"PriceAverages.d.ts","sourceRoot":"","sources":["../../../src/indicators/overlay/PriceAverages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACtH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,uEAAuE;AACvE,uBAAe,iBAAkB,SAAQ,kBAAkB,CAAC,IAAI,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAE9C,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAI9C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CAGtE;AAED,sDAAsD;AACtD,qBAAa,qBAAsB,SAAQ,iBAAiB;IAC1D,UAAU,EAAE,mBAAmB,CAO7B;IAEF,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;CAGpC;AAED,sCAAsC;AACtC,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,UAAU,EAAE,mBAAmB,CAO7B;IAEF,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;CAGpC;AAED,+CAA+C;AAC/C,qBAAa,qBAAsB,SAAQ,iBAAiB;IAC1D,UAAU,EAAE,mBAAmB,CAO7B;IAEF,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;CAGpC;AAED,0FAA0F;AAC1F,qBAAa,sBAAuB,SAAQ,iBAAiB;IAC3D,UAAU,EAAE,mBAAmB,CAO7B;IAEF,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;CAGpC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorValue } from '@tradecanvas/commons';
|
|
2
|
+
import { PointwiseIndicator } from '../PointwiseIndicator.js';
|
|
3
|
+
/**
|
|
4
|
+
* Time Series Forecast: the least-squares line through the last `period`
|
|
5
|
+
* closes, carried one bar on: where the trend says the next close would be.
|
|
6
|
+
*/
|
|
7
|
+
export declare class TimeSeriesForecastIndicator extends PointwiseIndicator<number> {
|
|
8
|
+
descriptor: IndicatorDescriptor;
|
|
9
|
+
protected read(config: IndicatorConfig): number;
|
|
10
|
+
protected pointAt(data: DataSeries, i: number, period: number): IndicatorValue | null;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=TimeSeriesForecast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeSeriesForecast.d.ts","sourceRoot":"","sources":["../../../src/indicators/overlay/TimeSeriesForecast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAI9D;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IACzE,UAAU,EAAE,mBAAmB,CAO7B;IAEF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAI/C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CAItF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorValue } from '@tradecanvas/commons';
|
|
2
|
+
import { PointwiseIndicator } from '../PointwiseIndicator.js';
|
|
3
|
+
/**
|
|
4
|
+
* AB Ratio, over `period` bars:
|
|
5
|
+
* - A: the rise above the open against the fall below it,
|
|
6
|
+
* Σ(high − open) / Σ(open − low) × 100: the strength within the bars.
|
|
7
|
+
* - B: the same from the previous close, counting only the part above it
|
|
8
|
+
* and below it: Σ max(0, high − prev close) / Σ max(0, prev close − low) × 100.
|
|
9
|
+
* 100 is balance. A line has no value while its denominator is 0.
|
|
10
|
+
*/
|
|
11
|
+
export declare class ABRatioIndicator extends PointwiseIndicator<number> {
|
|
12
|
+
descriptor: IndicatorDescriptor;
|
|
13
|
+
protected read(config: IndicatorConfig): number;
|
|
14
|
+
protected pointAt(data: DataSeries, i: number, period: number): IndicatorValue | null;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=ABRatio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ABRatio.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/ABRatio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D;;;;;;;GAOG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IAC9D,UAAU,EAAE,mBAAmB,CAW7B;IAEF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAI/C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CAmBtF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
|
|
2
|
+
import { IndicatorBase } from '../IndicatorBase.js';
|
|
3
|
+
/**
|
|
4
|
+
* Binary Wave: four trend tests, +1 when each says up and −1 when it says
|
|
5
|
+
* down, added up from −4 to 4:
|
|
6
|
+
* - the close above its `ma`-bar SMA;
|
|
7
|
+
* - MACD (`fast`, `slow`) above its `signal` line;
|
|
8
|
+
* - the `roc`-bar rate of change above 0;
|
|
9
|
+
* - stochastic %K (`stoch` bars) above 50.
|
|
10
|
+
* A tie (the close on its average, %K at 50) votes down. All four agreeing
|
|
11
|
+
* marks a strong trend; the swings between show it waning.
|
|
12
|
+
*/
|
|
13
|
+
export declare class BinaryWaveIndicator extends IndicatorBase {
|
|
14
|
+
descriptor: IndicatorDescriptor;
|
|
15
|
+
calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=BinaryWave.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BinaryWave.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/BinaryWave.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;;;;;GASG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,UAAU,EAAE,mBAAmB,CAS7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CAoBtE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorValue } from '@tradecanvas/commons';
|
|
2
|
+
import { PointwiseIndicator } from '../PointwiseIndicator.js';
|
|
3
|
+
/**
|
|
4
|
+
* Intraday Intensity (Bostian), as a percent: over `period` bars, the volume
|
|
5
|
+
* weighted by where each bar closed in its range, Σ volume × (2·close − high
|
|
6
|
+
* − low) / (high − low), over Σ volume × 100. +100: every bar closed on its
|
|
7
|
+
* high; −100: on its low. Bars with no range count as the middle; a window
|
|
8
|
+
* with no volume gives 0. Each window is summed afresh, so a long run of
|
|
9
|
+
* fractional volumes can't leave rounding residue behind.
|
|
10
|
+
*/
|
|
11
|
+
export declare class IntradayIntensityIndicator extends PointwiseIndicator<number> {
|
|
12
|
+
descriptor: IndicatorDescriptor;
|
|
13
|
+
protected read(config: IndicatorConfig): number;
|
|
14
|
+
protected pointAt(data: DataSeries, i: number, period: number): IndicatorValue | null;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=IntradayIntensity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IntradayIntensity.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/IntradayIntensity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D;;;;;;;GAOG;AACH,qBAAa,0BAA2B,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IACxE,UAAU,EAAE,mBAAmB,CAS7B;IAEF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAI/C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CAYtF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorValue } from '@tradecanvas/commons';
|
|
2
|
+
import { PointwiseIndicator } from '../PointwiseIndicator.js';
|
|
3
|
+
/**
|
|
4
|
+
* Psychological Line: the share of the last `period` bars that closed higher
|
|
5
|
+
* than the bar before, in percent. Above 75 the crowd is too keen, below 25
|
|
6
|
+
* too gloomy.
|
|
7
|
+
*/
|
|
8
|
+
export declare class PsychologicalLineIndicator extends PointwiseIndicator<number> {
|
|
9
|
+
descriptor: IndicatorDescriptor;
|
|
10
|
+
protected read(config: IndicatorConfig): number;
|
|
11
|
+
protected pointAt(data: DataSeries, i: number, period: number): IndicatorValue | null;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* New Psychological Line: the Psychological Line weighed by how far prices
|
|
15
|
+
* moved. Over `period` bars, (rises × total of the rises − falls × total of the
|
|
16
|
+
* falls) / (total of all moves × period) × 100, from −100 to 100; 0 when
|
|
17
|
+
* nothing moved.
|
|
18
|
+
*/
|
|
19
|
+
export declare class NewPsychologicalLineIndicator extends PointwiseIndicator<number> {
|
|
20
|
+
descriptor: IndicatorDescriptor;
|
|
21
|
+
protected read(config: IndicatorConfig): number;
|
|
22
|
+
protected pointAt(data: DataSeries, i: number, period: number): IndicatorValue | null;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=PsychologicalLine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PsychologicalLine.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/PsychologicalLine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IACxE,UAAU,EAAE,mBAAmB,CAS7B;IAEF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAI/C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CAMtF;AAED;;;;;GAKG;AACH,qBAAa,6BAA8B,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IAC3E,UAAU,EAAE,mBAAmB,CAS7B;IAEF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAI/C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CAatF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorValue } from '@tradecanvas/commons';
|
|
2
|
+
import { PointwiseIndicator } from '../PointwiseIndicator.js';
|
|
3
|
+
/**
|
|
4
|
+
* R-squared: how well a straight line fits the last `period` closes, from 0
|
|
5
|
+
* (no fit) to 1 (the closes lie on a line). High values mark a steady trend,
|
|
6
|
+
* whichever way it goes.
|
|
7
|
+
*/
|
|
8
|
+
export declare class RSquaredIndicator extends PointwiseIndicator<number> {
|
|
9
|
+
descriptor: IndicatorDescriptor;
|
|
10
|
+
protected read(config: IndicatorConfig): number;
|
|
11
|
+
protected pointAt(data: DataSeries, i: number, period: number): IndicatorValue | null;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=RSquared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RSquared.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/RSquared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAI9D;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IAC/D,UAAU,EAAE,mBAAmB,CAQ7B;IAEF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAI/C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CAItF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorValue } from '@tradecanvas/commons';
|
|
2
|
+
import { PointwiseIndicator } from '../PointwiseIndicator.js';
|
|
3
|
+
/**
|
|
4
|
+
* Random Walk Index: whether prices moved further than a random walk would.
|
|
5
|
+
* For each span k from 2 to `period` bars: high − the low k bars ago (RWI
|
|
6
|
+
* high), and the high k bars ago − low (RWI low), each over the average true
|
|
7
|
+
* range of those k bars × √k; the largest over k, from 0. Above 1 the move
|
|
8
|
+
* beats chance.
|
|
9
|
+
*/
|
|
10
|
+
export declare class RandomWalkIndexIndicator extends PointwiseIndicator<number> {
|
|
11
|
+
descriptor: IndicatorDescriptor;
|
|
12
|
+
protected read(config: IndicatorConfig): number;
|
|
13
|
+
protected pointAt(data: DataSeries, i: number, period: number): IndicatorValue | null;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=RandomWalkIndex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RandomWalkIndex.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/RandomWalkIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAU9D;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IACtE,UAAU,EAAE,mBAAmB,CAW7B;IAEF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAI/C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CAkBtF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorValue } from '@tradecanvas/commons';
|
|
2
|
+
import { PointwiseIndicator } from '../PointwiseIndicator.js';
|
|
3
|
+
/**
|
|
4
|
+
* Sigma: how many standard deviations the close is from its `period`-bar
|
|
5
|
+
* average, (close − SMA) / standard deviation. Past ±2 the close is
|
|
6
|
+
* stretched, as at a Bollinger band. 0 when the closes don't vary.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SigmaIndicator extends PointwiseIndicator<number> {
|
|
9
|
+
descriptor: IndicatorDescriptor;
|
|
10
|
+
protected read(config: IndicatorConfig): number;
|
|
11
|
+
protected pointAt(data: DataSeries, i: number, period: number): IndicatorValue | null;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=Sigma.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Sigma.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/Sigma.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAI9D;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IAC5D,UAAU,EAAE,mBAAmB,CAQ7B;IAEF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAI/C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CAOtF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
|
|
2
|
+
import { IndicatorBase } from '../IndicatorBase.js';
|
|
3
|
+
/**
|
|
4
|
+
* Smoothed Rate of Change: the percent change of an EMA of the close over
|
|
5
|
+
* `roc` bars, (EMA − EMA `roc` bars ago) / EMA `roc` bars ago × 100. A rate of
|
|
6
|
+
* change with less noise; its turns and zero crossings mark the trend's.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SmoothedROCIndicator extends IndicatorBase {
|
|
9
|
+
descriptor: IndicatorDescriptor;
|
|
10
|
+
calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=SmoothedROC.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmoothedROC.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/SmoothedROC.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,UAAU,EAAE,mBAAmB,CAQ7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CAStE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
|
|
2
|
+
import { IndicatorBase } from '../IndicatorBase.js';
|
|
3
|
+
/**
|
|
4
|
+
* Sonar: how far an EMA of the close has moved over `lookback` bars,
|
|
5
|
+
* EMA(close, period) now − the same EMA `lookback` bars ago, with an EMA of
|
|
6
|
+
* that as its signal. Above zero the trend is up; the signal crossing gives
|
|
7
|
+
* the turns.
|
|
8
|
+
*/
|
|
9
|
+
export declare class SonarIndicator extends IndicatorBase {
|
|
10
|
+
descriptor: IndicatorDescriptor;
|
|
11
|
+
calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=Sonar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Sonar.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/Sonar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,aAAa;IAC/C,UAAU,EAAE,mBAAmB,CAW7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CAatE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorValue } from '@tradecanvas/commons';
|
|
2
|
+
import { PointwiseIndicator } from '../PointwiseIndicator.js';
|
|
3
|
+
/** True Range: each bar's range, stretched to the previous close when it gapped; ATR is its average. */
|
|
4
|
+
export declare class TrueRangeIndicator extends PointwiseIndicator<null> {
|
|
5
|
+
descriptor: IndicatorDescriptor;
|
|
6
|
+
protected read(_config: IndicatorConfig): null;
|
|
7
|
+
protected pointAt(data: DataSeries, i: number): IndicatorValue | null;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=TrueRange.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrueRange.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/TrueRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,wGAAwG;AACxG,qBAAa,kBAAmB,SAAQ,kBAAkB,CAAC,IAAI,CAAC;IAC9D,UAAU,EAAE,mBAAmB,CAO7B;IAEF,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAI9C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CAMtE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorValue } from '@tradecanvas/commons';
|
|
2
|
+
import { PointwiseIndicator } from '../PointwiseIndicator.js';
|
|
3
|
+
/**
|
|
4
|
+
* Vertical Horizontal Filter: whether prices trend or range. Over `period`
|
|
5
|
+
* changes, (highest close − lowest close) / the sum of the closes' absolute
|
|
6
|
+
* changes. Near 1 the closes went one way; low values mean back and forth.
|
|
7
|
+
*/
|
|
8
|
+
export declare class VerticalHorizontalFilterIndicator extends PointwiseIndicator<number> {
|
|
9
|
+
descriptor: IndicatorDescriptor;
|
|
10
|
+
protected read(config: IndicatorConfig): number;
|
|
11
|
+
protected pointAt(data: DataSeries, i: number, period: number): IndicatorValue | null;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=VerticalHorizontalFilter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VerticalHorizontalFilter.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/VerticalHorizontalFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D;;;;GAIG;AACH,qBAAa,iCAAkC,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IAC/E,UAAU,EAAE,mBAAmB,CAO7B;IAEF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAI/C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CActF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorValue } from '@tradecanvas/commons';
|
|
2
|
+
import { PointwiseIndicator } from '../PointwiseIndicator.js';
|
|
3
|
+
/** Volume against its average: (volume − SMA(volume, period)) / SMA × 100, as a histogram. */
|
|
4
|
+
export declare class VolumeVsAverageIndicator extends PointwiseIndicator<number> {
|
|
5
|
+
descriptor: IndicatorDescriptor;
|
|
6
|
+
protected read(config: IndicatorConfig): number;
|
|
7
|
+
protected pointAt(data: DataSeries, i: number, period: number): IndicatorValue | null;
|
|
8
|
+
}
|
|
9
|
+
/** Volume, each bar coloured by whether it traded at least as much as the bar before (`up`: 1) or less (0). */
|
|
10
|
+
export declare class VolumeChangeIndicator extends PointwiseIndicator<null> {
|
|
11
|
+
descriptor: IndicatorDescriptor;
|
|
12
|
+
protected read(_config: IndicatorConfig): null;
|
|
13
|
+
protected pointAt(data: DataSeries, i: number): IndicatorValue | null;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Trade Value: an estimate of the money traded in each bar, close × volume,
|
|
17
|
+
* coloured by whether the bar closed up from its open. Price boards show the
|
|
18
|
+
* exchange's own figure; this is close to it on liquid symbols.
|
|
19
|
+
*/
|
|
20
|
+
export declare class TradeValueIndicator extends PointwiseIndicator<null> {
|
|
21
|
+
descriptor: IndicatorDescriptor;
|
|
22
|
+
protected read(_config: IndicatorConfig): null;
|
|
23
|
+
protected pointAt(data: DataSeries, i: number): IndicatorValue | null;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=VolumeComparisons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VolumeComparisons.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/VolumeComparisons.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,8FAA8F;AAC9F,qBAAa,wBAAyB,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IACtE,UAAU,EAAE,mBAAmB,CAS7B;IAEF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAI/C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CAQtF;AAED,+GAA+G;AAC/G,qBAAa,qBAAsB,SAAQ,kBAAkB,CAAC,IAAI,CAAC;IACjE,UAAU,EAAE,mBAAmB,CAQ7B;IAEF,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAI9C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CAKtE;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,kBAAkB,CAAC,IAAI,CAAC;IAC/D,UAAU,EAAE,mBAAmB,CAQ7B;IAEF,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAI9C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CAKtE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
|
|
2
|
+
import { IndicatorBase } from '../IndicatorBase.js';
|
|
3
|
+
/**
|
|
4
|
+
* An index from 1000 that takes the close's percent change only on the bars
|
|
5
|
+
* whose volume moved the way `counts` says, with an EMA of it as a signal.
|
|
6
|
+
*/
|
|
7
|
+
declare abstract class VolumeIndex extends IndicatorBase {
|
|
8
|
+
protected abstract counts(volume: number, previous: number): boolean;
|
|
9
|
+
calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Negative Volume Index: follows the close only on bars when volume fell,
|
|
13
|
+
* where the informed money is said to trade. Above its signal (an EMA,
|
|
14
|
+
* 255 bars by default) leans bullish.
|
|
15
|
+
*/
|
|
16
|
+
export declare class NegativeVolumeIndexIndicator extends VolumeIndex {
|
|
17
|
+
descriptor: IndicatorDescriptor;
|
|
18
|
+
protected counts(volume: number, previous: number): boolean;
|
|
19
|
+
}
|
|
20
|
+
/** Positive Volume Index: follows the close only on bars when volume rose, the crowd's days. */
|
|
21
|
+
export declare class PositiveVolumeIndexIndicator extends VolumeIndex {
|
|
22
|
+
descriptor: IndicatorDescriptor;
|
|
23
|
+
protected counts(volume: number, previous: number): boolean;
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=VolumeIndexes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VolumeIndexes.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/VolumeIndexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMpD;;;GAGG;AACH,uBAAe,WAAY,SAAQ,aAAa;IAC9C,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAEpE,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CActE;AAED;;;;GAIG;AACH,qBAAa,4BAA6B,SAAQ,WAAW;IAC3D,UAAU,EAAE,mBAAmB,CAU7B;IAEF,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;CAG5D;AAED,gGAAgG;AAChG,qBAAa,4BAA6B,SAAQ,WAAW;IAC3D,UAAU,EAAE,mBAAmB,CAU7B;IAEF,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;CAG5D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorValue } from '@tradecanvas/commons';
|
|
2
|
+
import { PointwiseIndicator } from '../PointwiseIndicator.js';
|
|
3
|
+
/**
|
|
4
|
+
* Volume Ratio: the volume of the last `period` bars that closed up against
|
|
5
|
+
* those that closed down, unchanged bars split half and half, in percent.
|
|
6
|
+
* 100 is balance; below 70 often marks a low, above 450 an overheated market.
|
|
7
|
+
* No value while nothing fell or stayed flat.
|
|
8
|
+
*/
|
|
9
|
+
export declare class VolumeRatioIndicator extends PointwiseIndicator<number> {
|
|
10
|
+
descriptor: IndicatorDescriptor;
|
|
11
|
+
protected read(config: IndicatorConfig): number;
|
|
12
|
+
protected pointAt(data: DataSeries, i: number, period: number): IndicatorValue | null;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=VolumeRatio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VolumeRatio.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/VolumeRatio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IAClE,UAAU,EAAE,mBAAmB,CAQ7B;IAEF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAI/C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CActF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/indicators/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/indicators/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAiI5D,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAwIvE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tradecanvas/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.22.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Canvas rendering engine for @tradecanvas/chart",
|
|
6
6
|
"license": "MIT",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"README.md"
|
|
39
39
|
],
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@tradecanvas/commons": "1.
|
|
41
|
+
"@tradecanvas/commons": "1.22.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"jsdom": "^25.0.1",
|