Enterprise Indicators
Institutional-grade tools for precise market structure analysis.
The Enterprise Tier unlocks the most computationally intensive and specialized algorithms on the platform.
Volatility-based envelopes set above and below an exponential moving average. Similar to Bollinger Bands, but uses ATR for the width calculation, providing smoother reaction to volatility.
- Endpoint:
/api/indicators/keltner - Method:
POST
| Name | Type | Default | Description |
|---|---|---|---|
period | integer | 20 | EMA Period. |
multiplier | number | 1 | ATR Multiplier. |
[
{
"middle": 50000,
"upper": 51500,
"lower": 48500
}
]- Trend Confirmation: An uptrend is confirmed when price creates new highs above the Upper Channel.
- Pullbacks: In an uptrend, price often pulls back to the Middle Line (EMA).
import { IndicatorsApi, CandlesApi } from "tickcatcher";
// 1. Get Candles
const candles = await new CandlesApi(config).basicCandles({ symbol: "XRPUSDT", timeframe: "1h", limit: 100 });
// 2. Calculate Keltner Channels
const values = await new IndicatorsApi(config).keltner({
keltnerRequest: {
data: candles,
params: { period: 20, multiplier: 2, atrPeriod: 10 }
}
});
const last = values[values.length - 1];
console.log(`Upper: ${last.upper}, Middle: ${last.middle}, Lower: ${last.lower}`);The benchmark used by institutional traders. It gives the average price a security has traded at throughout the day, based on both volume and price.
- Endpoint:
/api/indicators/vwap - Method:
POST
None. Calculates over the provided dataset.
[ 64100.2, 64150.5, ... ]- Fair Value: VWAP is often considered the "fair value" for the day.
- Execution: Institutions try to buy below VWAP and sell above VWAP.
import { IndicatorsApi, CandlesApi } from "tickcatcher";
// 1. Get Candles
const candles = await new CandlesApi(config).basicCandles({ symbol: "XRPUSDT", timeframe: "1h", limit: 100 });
// 2. Calculate VWAP
const values = await new IndicatorsApi(config).vwap({ vwapRequest: { data: candles } });
console.log(`Current VWAP: ${values[values.length - 1]}`);ZigZag filters out "noise" (price movements smaller than a specific percentage). It is primarily used to identify broad market trends and structure (Highs and Lows).
- Endpoint:
/api/indicators/zigzag - Method:
POST
| Name | Type | Default | Description |
|---|---|---|---|
deviation | number | 1 | Deviation percentage. |
Returns an array of numbers representing pivot points. null values indicate no pivot at that index.
[
50000,
null,
null,
45000,
...
]- Structure: Highlights Higher Highs (HH) and Lower Lows (LL) clearly.
import { IndicatorsApi, CandlesApi } from "tickcatcher";
// 1. Get Candles
const candles = await new CandlesApi(config).basicCandles({ symbol: "XRPUSDT", timeframe: "1h", limit: 100 });
// 2. Calculate ZigZag
const pivots = await new IndicatorsApi(config).zigzag({
zigzagRequest: {
data: candles,
params: { deviation: 5 }
}
});
const lastPivot = pivots.filter(p => p !== null).pop();
console.log(`Last Pivot: ${lastPivot}`);Automatically calculates support (S1, S2, S3) and resistance (R1, R2, R3) levels based on previous period data. Essential for day trading.
- Endpoint:
/api/indicators/pivot - Method:
POST
[
{
"p": 65000,
"r1": 65500,
"r2": 66000,
"r3": 66500,
"s1": 64500,
"s2": 64000,
"s3": 63500
}
]import { IndicatorsApi, CandlesApi } from "tickcatcher";
// 1. Get Candles
const candles = await new CandlesApi(config).basicCandles({ symbol: "XRPUSDT", timeframe: "1h", limit: 100 });
// 2. Calculate Pivot Points
const levels = await new IndicatorsApi(config).pivot({ pivotRequest: { data: candles } });
const last = levels[levels.length - 1];
console.log(`Pivot: ${last.p}, R1: ${last.r1}, S1: ${last.s1}`);