const fs = require('fs'); const chartStartDt = 1601524800; // 2020-10-01T04:00:00.000Z const chartEndDt = 1617249600; // moment(chartStartDt * 1000).add(6, 'months').valueOf() / 1000; function getRandomArbitrary(min, max) { return Math.floor(Math.random() * (max - min) + min); } function addMoredays(StartTickTime, timePeriod, offset = 0) { let lastTick = StartTickTime; const moreTicks = [] if(timePeriod === '6M') { lastTick = chartEndDt // got using moment(endTick).subtrack(6, "months").valueOf() } let currentTime = StartTickTime + offset; while(currentTime <= (lastTick + offset)){ moreTicks.push({ "time": currentTime, "close": getRandomArbitrary(4100, 4800), "volume": getRandomArbitrary(200011089, 559999999) }) currentTime = currentTime + 60*60*24 } return moreTicks } const writeToFile = async ({result, fileName}) => { try { await fs.promises.writeFile(fileName, JSON.stringify(result, null, 4), 'utf8'); console.log('data is written successfully in the file') } catch (err) { console.log('not able to write data in the file ') } } const pleaseGenerateChartData = async (intervalStartPoint) => { const ticks =[] // const prevOffset = (60*60*24*29 + 60*60*13 ) // const offsetBy6Days = 60*60*24*6 const modified_ticks= addMoredays(intervalStartPoint, '6M') console.log(modified_ticks.length) console.log(modified_ticks[0]) console.log(modified_ticks[modified_ticks.length - 1]) const result = { "result": { "spx:ind": { "historical": true, "ticksType": "DayTick", "ticks": modified_ticks, "low": "4000.04", "high": "5079.95", "first": modified_ticks[0].time, "last": modified_ticks[modified_ticks.length -1].time, "security": { "open": "4311.73", "prevClose": "4079.95", "ticker": "spx:ind" }, "hasVolume": true } } } await writeToFile({result, fileName: './generated_data.json'}) } pleaseGenerateChartData(chartStartDt)