pricehistory
Version:
Series data with technical indicators.
166 lines (165 loc) • 4.99 kB
TypeScript
import { ChangeSymbolType } from "simpul/dist/math";
export type DataPoint = Record<string, number | string | Date> & {
datetime: number | string | Date;
open: number;
high: number;
low: number;
close: number;
volume: number;
};
export interface Option {
basePrice?: number;
datetime?: string;
open?: string;
high?: string;
low?: string;
close?: string;
volume?: string;
volumeFill?: boolean;
date?: boolean;
time?: boolean;
price?: boolean;
leverage?: number | null;
limit?: boolean;
obv?: boolean;
vwap?: boolean;
rsi?: boolean | number;
ema?: boolean;
macd?: boolean;
color?: boolean;
periods?: number[];
sma?: boolean;
smaStats?: ("variance" | "standarddeviation" | "zscore" | "trendSlope")[] | boolean;
candlestick?: boolean;
trend?: boolean;
crossover?: boolean;
valueCap?: number;
anchor?: number[];
normalize?: string[];
signalize?: boolean;
}
export interface Candle {
dateString?: string;
dateObject?: Date;
dateYear?: number;
dateQuarter?: number;
dateMonth?: number;
dateMonthName?: string;
dateDate?: number;
dateWeekday?: number;
dateWeekdayName?: string;
timeHour?: number;
timeHourQuarter?: number;
timeMinute?: number;
timeSpan?: number;
timeTillNext?: number;
timeTillNextProgress?: number;
timeIsPremarket?: boolean;
timeIsIntraday?: boolean;
timeIsPostmarket?: boolean;
timeIsDark?: boolean;
priceOpen?: number;
priceHigh?: number;
priceLow?: number;
priceClose?: number;
priceClose2?: number;
priceMean?: number;
priceChange?: number;
priceChangePremarket?: number;
priceChangeIntraday?: number;
priceChangeCumulative?: number;
priceRange?: number;
priceRangeDiff?: number;
priceRangeMean?: number;
priceLimit?: (limit: number, threshold?: number) => {
priceLimit: number;
isHit: boolean;
} | void;
volume?: number;
volumeFilled?: boolean;
volumeEstimate?: number;
volumeDiff?: number;
obv?: number;
vwap?: number;
vwapSignal?: number;
vwapValue?: number;
volumeTotal?: number;
volumeValue?: number;
averageGain?: number;
averageLoss?: number;
rsi?: number;
ema9?: number;
ema12?: number;
ema26?: number;
ema9macd?: number;
macd?: number;
macdSignal?: number;
macdHist?: number;
color?: "green" | "red" | "gray";
colorsGreen?: number;
colorsRed?: number;
colorsGray?: number;
colorVolumeGreen?: number;
colorVolumeRed?: number;
colorVolumeGray?: number;
colorVolumeDiscrepancy?: number;
candlestickBody?: number;
candlestickUpper?: number;
candlestickLower?: number;
candlestickUpperGap?: number;
candlestickLowerGap?: number;
candlestickIsBullish?: boolean;
candlestickIsBearish?: boolean;
candlestickIsNeutral?: boolean;
candlestickIsBullishPrev1?: boolean;
candlestickIsBullishPrev2?: boolean;
candlestickIsEngulfed?: boolean;
candlestickIsGapUp?: boolean;
candlestickIsGapDown?: boolean;
candlestickIsUpper0?: boolean;
candlestickIsBody0?: boolean;
candlestickIsLower0?: boolean;
candlestickIsUpperGap0?: boolean;
candlestickIsLowerGap0?: boolean;
candlestickIsUpper1?: boolean;
candlestickIsBody1?: boolean;
candlestickIsLower1?: boolean;
candlestickIsUpperGap1?: boolean;
candlestickIsLowerGap1?: boolean;
candlestickIsUpperGreaterThanBody1?: boolean;
candlestickIsUpperGreaterThanBody2?: boolean;
candlestickIsUpperGreaterThanBody3?: boolean;
candlestickIsUpperSmallerThanBody1?: boolean;
candlestickIsUpperSmallerThanBody2?: boolean;
candlestickIsUpperSmallerThanBody3?: boolean;
candlestickIsLowerGreaterThanBody1?: boolean;
candlestickIsLowerGreaterThanBody2?: boolean;
candlestickIsLowerGreaterThanBody3?: boolean;
candlestickIsLowerSmallerThanBody1?: boolean;
candlestickIsLowerSmallerThanBody2?: boolean;
candlestickIsLowerSmallerThanBody3?: boolean;
candlestickIsUpperGapGreaterThanLowerGap1?: boolean;
candlestickIsUpperGapGreaterThanLowerGap2?: boolean;
candlestickIsUpperGapGreaterThanLowerGap3?: boolean;
candlestickIsLowerGapGreaterThanUpperGap1?: boolean;
candlestickIsLowerGapGreaterThanUpperGap2?: boolean;
candlestickIsLowerGapGreaterThanUpperGap3?: boolean;
valueCap?: number;
signalA?: number;
signalAN?: number;
signalAChange?: number;
signalATrend?: ChangeSymbolType[] | [];
signalB?: number;
signalBN?: number;
signalBChange?: number;
signalBTrend?: ChangeSymbolType[] | [];
signalC?: number;
signalCN?: number;
signalCChange?: number;
signalCTrend?: ChangeSymbolType[] | [];
signalD?: number;
signalDN?: number;
signalDChange?: number;
signalDTrend?: ChangeSymbolType[] | [];
[key: string]: any;
}