pricehistory
Version:
Transforms raw OHLCV series data into enriched candles with technical indicators, pattern recognition, and trend analysis.
191 lines • 5.09 kB
TypeScript
export type Color = "green" | "red" | "gray";
export type DataPoint = Record<string, number | string | Date>;
export type NumberOrUndefined = number | undefined;
export type PriceLimit = (limit: number, threshold?: number) => {
priceLimit: number;
isHit: boolean;
} | undefined;
export interface Candle {
index: number;
date?: Date;
dateString?: string;
dateYear?: number;
dateQuarter?: number;
dateMonth?: number;
dateMonthName?: string;
dateDate?: number;
dateWeekday?: number;
dateWeekdayName?: string;
halvingDate?: Date;
halvingEpoch?: number;
halvingYear?: number;
halvingProgress?: number;
timeHour?: number;
timeHourQuarter?: number;
timeMinute?: number;
timeIsPremarket?: boolean;
timeIsIntraday?: boolean;
timeIsPostmarket?: boolean;
timeIsDark?: boolean;
priceOpen?: number;
priceHigh?: number;
priceLow?: number;
priceClose?: number;
priceMean?: number;
priceChange?: number;
priceChangePremarket?: number;
priceChangeIntraday?: number;
priceChangeCumulative?: number;
priceRange?: number;
priceRangeDiff?: number;
priceRangeMean?: number;
priceLimit?: PriceLimit;
volume?: number;
volumeValue?: number;
obv?: number;
obvValue?: number;
vwap?: number;
fibonacci0?: number;
fibonacci236?: number;
fibonacci382?: number;
fibonacci5?: number;
fibonacci618?: number;
fibonacci786?: number;
fibonacci1?: number;
rsi?: number;
averageGain?: number;
averageLoss?: number;
macd?: number;
macdSignal?: number;
macdHist?: number;
macdPivot?: number;
color?: Color;
colorGreen?: number;
colorRed?: number;
colorGray?: number;
colorVolumeGreen?: number;
colorVolumeRed?: number;
colorVolumeGray?: number;
candlestickTop?: number;
candlestickBottom?: number;
candlestickSize?: number;
candlestickUpper?: number;
candlestickBody?: number;
candlestickLower?: number;
candlestickIsGapUp?: boolean;
candlestickIsGapDown?: boolean;
candlestickGapSize?: number | null;
candlestickGapTarget?: number | null;
candlestickIsBullish?: boolean;
candlestickIsBearish?: boolean;
candlestickIsNeutral?: boolean;
candlestickIsHammer?: boolean;
candlestickIsHammerGreen?: boolean;
candlestickIsInvertedHammer?: boolean;
candlestickIsInvertedHammerRed?: boolean;
candlestickIsMarubozu?: boolean;
candlestickIsMarubozuGreen?: boolean;
candlestickIsMarubozuRed?: boolean;
candlestickIsRejectionTop?: boolean;
candlestickIsRejectionBottom?: boolean;
phaseDistribution?: number;
phaseAccumulation?: number;
pressureSelling?: number;
pressureBuying?: number;
[key: string]: unknown;
}
export interface Context {
prevClose?: number;
prevClose2?: number;
obv: number;
obvValue: number;
vwapPV: number;
vwapVolume: number;
fib: {
high?: number;
low?: number;
};
window: Record<string, number[]>;
rsi: {
initialized?: boolean;
prevAvgGain?: number;
prevAvgLoss?: number;
};
ema: Record<string, {
initialized?: boolean;
prev?: number;
}>;
macd: {
initialized?: boolean;
prev?: number;
count?: number;
};
color: Record<string, [Color, NumberOrUndefined][]>;
prevTopBottom: [] | [number, number];
trend: Record<string, [number, number, number, number]>;
}
export interface Option {
datetime?: string;
open?: string;
high?: string;
low?: string;
close?: string;
volume?: string;
date?: boolean;
halving?: boolean;
time?: boolean;
leverage?: number;
basePrice?: number;
price?: boolean;
limit?: boolean;
obv?: boolean;
vwap?: boolean;
fibonacci?: boolean;
color?: boolean;
candlestick?: boolean;
gap?: "body" | "wick" | null;
trend?: boolean;
rsi?: boolean | number;
ema?: boolean | number[];
macd?: boolean | [number, number, number];
macdPivot?: boolean;
sma?: boolean | number[];
signal?: (string | string[])[];
phase?: boolean | number;
pressure?: boolean | number;
anchor?: boolean | number[];
normalize?: string[];
}
export interface NormalizedOption {
datetime: string;
open: string;
high: string;
low: string;
close: string;
volume: string;
date?: boolean;
halving?: boolean;
time?: boolean;
leverage?: number;
basePrice?: number;
price?: boolean;
limit?: boolean;
obv?: boolean;
vwap?: boolean;
fibonacci?: boolean;
color?: boolean;
candlestick?: boolean;
gap?: "body" | "wick" | null;
trend?: boolean;
rsi: number | false;
ema: number[];
macd: [number, number, number] | false;
macdPivot: boolean;
sma: number[];
signal: string[][];
phase: number | false;
pressure: number | false;
anchor: number[];
normalize: string[];
}
//# sourceMappingURL=interfaces.d.ts.map