@thoshpathi/utils-smartapi
Version:
Extended utilities for Angel One's smartapi-javascript SDK, including custom methods and helpers for market data like candles, P&L, and more.
28 lines (25 loc) • 1.02 kB
JavaScript
import {
intervalMinuteConfigs
} from "./chunk-K6S6WDGB.mjs";
// src/candle_utils.ts
function getLastCompletedMarketCandle(interval, marketOpenTime = "09:15:00") {
const [openHour, openMinute] = marketOpenTime.split(":").map((s) => +s.trim());
const marketOpen = /* @__PURE__ */ new Date();
marketOpen.setHours(openHour, openMinute, 0, 0);
const diffMs = +/* @__PURE__ */ new Date() - +marketOpen;
if (diffMs < 0) return null;
const diffMinutes = Math.floor(diffMs / 6e4);
const intervalMinutes = intervalMinuteConfigs[interval];
let completedCandles = Math.floor(diffMinutes / intervalMinutes);
const minutesSinceLastCandle = diffMinutes % intervalMinutes;
if (minutesSinceLastCandle === 0 && diffMinutes !== 0) {
completedCandles -= 1;
}
const lastCandleMinutes = completedCandles * intervalMinutes;
const lastCandleTime = new Date(marketOpen);
lastCandleTime.setMinutes(marketOpen.getMinutes() + lastCandleMinutes);
return lastCandleTime;
}
export {
getLastCompletedMarketCandle
};