Skip to content

Commit 300f7f1

Browse files
Merge pull request #54 from Capstone-C2SE02-TI/update-chart-api
update chart api
2 parents a18ce54 + 19bbbbc commit 300f7f1

File tree

2 files changed

+27
-5
lines changed

2 files changed

+27
-5
lines changed

src/controllers/Display.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -559,9 +559,9 @@ function DisplayController() {
559559
};
560560

561561
this.getIndicators = async (req, res, next) => {
562-
const {symbol, interval} = req.query
562+
const {symbol, interval, period} = req.query
563563
console.log(symbol, interval);
564-
const data = await getIndicatorsData(`https://api3.binance.com/api/v3/klines?symbol=${symbol}&interval=${interval}`);
564+
const data = await getIndicatorsData(`https://api3.binance.com/api/v3/klines?symbol=${symbol}&interval=${interval}`, period);
565565
return res.status(200).json({
566566
message: "successfully",
567567
error: null,

src/services/crudDatabase/user.js

+25-3
Original file line numberDiff line numberDiff line change
@@ -590,7 +590,7 @@ export const getLengthOfTransactionsList = async () => {
590590
}
591591
};
592592

593-
export const getIndicatorsData = async (urlApis) => {
593+
export const getIndicatorsData = async (urlApis, period) => {
594594
const resp = await got(urlApis);
595595
const data = JSON.parse(resp.body);
596596
let klinedata = data.map((d) => ({
@@ -610,7 +610,7 @@ export const getIndicatorsData = async (urlApis) => {
610610
}))
611611
});
612612

613-
tulind.indicators.ema.indicator([closeData], [21], function(err, results) {
613+
tulind.indicators.ema.indicator([closeData], [period], function(err, results) {
614614

615615
const emas = results[0]
616616
klinedata = klinedata.map((d, index) => ({
@@ -630,6 +630,28 @@ export const getIndicatorsData = async (urlApis) => {
630630
: false;
631631
return { ...d, long, short };
632632
});
633-
633+
634+
tulind.indicators.rsi.indicator([closeData], [period], function(err, results) {
635+
636+
const rsis = results[0]
637+
klinedata = klinedata.map((d, index) => ({
638+
...d,
639+
rsi: rsis[index]
640+
}))
641+
});
642+
643+
tulind.indicators.macd.indicator([closeData], [12, 26 , 9], function(err, results) {
644+
645+
const madc1 = results[0]
646+
const madc2 = results[1]
647+
const madc3 = results[2]
648+
klinedata = klinedata.map((d, index) => ({
649+
...d,
650+
macd_fast: madc1[index],
651+
macd_slow: madc2[index],
652+
macd_histogram: madc3[index],
653+
}))
654+
});
655+
634656
return klinedata;
635657
};

0 commit comments

Comments
 (0)