Showing
2 changed files
with
71 additions
and
6 deletions
| ... | @@ -28,8 +28,9 @@ async function get_marketName() { | ... | @@ -28,8 +28,9 @@ async function get_marketName() { |
| 28 | }) | 28 | }) |
| 29 | return data; | 29 | return data; |
| 30 | } | 30 | } |
| 31 | -async function get_marketInfo(name_list) { | 31 | +async function get_marketInfo() { |
| 32 | //각 암호화폐 정보 조회 | 32 | //각 암호화폐 정보 조회 |
| 33 | + var name_list = await get_marketName(); | ||
| 33 | const url2 = `https://api.upbit.com/v1/ticker/?markets=${name_list}`; | 34 | const url2 = `https://api.upbit.com/v1/ticker/?markets=${name_list}`; |
| 34 | var arr = new Array(); | 35 | var arr = new Array(); |
| 35 | let response2 = await fetch(url2, options) | 36 | let response2 = await fetch(url2, options) |
| ... | @@ -43,7 +44,8 @@ async function get_marketInfo(name_list) { | ... | @@ -43,7 +44,8 @@ async function get_marketInfo(name_list) { |
| 43 | }) | 44 | }) |
| 44 | return arr | 45 | return arr |
| 45 | } | 46 | } |
| 46 | -async function sort_data(arr) { | 47 | +async function sort_data() { |
| 48 | + arr = await get_marketInfo(); | ||
| 47 | arr.sort((a, b) => { | 49 | arr.sort((a, b) => { |
| 48 | return b[1] - a[1]; | 50 | return b[1] - a[1]; |
| 49 | }) | 51 | }) |
| ... | @@ -75,7 +77,6 @@ async function get_candle(minute, market) { | ... | @@ -75,7 +77,6 @@ async function get_candle(minute, market) { |
| 75 | .then(json => candle = json) | 77 | .then(json => candle = json) |
| 76 | return candle; | 78 | return candle; |
| 77 | } | 79 | } |
| 78 | - | ||
| 79 | app.get('/get_market', async (req, res) => { | 80 | app.get('/get_market', async (req, res) => { |
| 80 | var name_list = (await get_marketName()); | 81 | var name_list = (await get_marketName()); |
| 81 | var market_info = (await get_marketInfo(name_list)); | 82 | var market_info = (await get_marketInfo(name_list)); |
| ... | @@ -90,13 +91,73 @@ app.get('/get_candle', async (req, res) => { | ... | @@ -90,13 +91,73 @@ app.get('/get_candle', async (req, res) => { |
| 90 | get_candle(5, item.name) | 91 | get_candle(5, item.name) |
| 91 | .then(result => { | 92 | .then(result => { |
| 92 | Coin.findOneAndUpdate({ name: result[0].market }, { five_candle: result[0].trade_price }, { new: true }, (err, doc) => { | 93 | Coin.findOneAndUpdate({ name: result[0].market }, { five_candle: result[0].trade_price }, { new: true }, (err, doc) => { |
| 93 | - console.log(doc); | 94 | + // console.log(doc); |
| 94 | }) | 95 | }) |
| 95 | }) | 96 | }) |
| 96 | }) | 97 | }) |
| 97 | }); | 98 | }); |
| 98 | 99 | ||
| 99 | }) | 100 | }) |
| 100 | -app.listen(5000, () => { | 101 | +async function refresh_db() { |
| 101 | - console.log('server') | 102 | + Coin.find() |
| 103 | + .then(result => { | ||
| 104 | + if (result.length !== 0) { | ||
| 105 | + Coin.deleteMany({ tid: { $gt: 0 } }, (err, result) => { | ||
| 106 | + if (err) { | ||
| 107 | + console.log(err); | ||
| 108 | + } else { | ||
| 109 | + console.log(result); | ||
| 110 | + } | ||
| 111 | + }) | ||
| 112 | + } | ||
| 113 | + save_coin(sort_info); | ||
| 114 | + }) | ||
| 115 | +} | ||
| 116 | +async function repeat_check(t1) { | ||
| 117 | + await Coin.find().then(result => { | ||
| 118 | + for (var key in result) { | ||
| 119 | + t1.push(result[key].name) | ||
| 120 | + } | ||
| 121 | + }) | ||
| 122 | + setTimeout(() => { | ||
| 123 | + setInterval(async () => { | ||
| 124 | + for (var i = 0; i < t1.length; i++) { | ||
| 125 | + // console.log(t1.length); | ||
| 126 | + // console.log(t1[i]); | ||
| 127 | + var candle = await get_candle(5, t1[i]); | ||
| 128 | + // console.log(i+"번째 코인 가격 "+candle[0].trade_price); | ||
| 129 | + await Coin.findOne({ name: candle[0].market }).then((result) => { | ||
| 130 | + | ||
| 131 | + //가격이 떨어졌을때 | ||
| 132 | + if (result.current_price > candle[0].trade_price) { | ||
| 133 | + Coin.updateOne({ name: candle[0].market }, { current_price: candle[0].trade_price, $inc: { count: 1 } }, (err, result) => { | ||
| 134 | + if (err) { | ||
| 135 | + console.log(err); | ||
| 136 | + } else { | ||
| 137 | + } | ||
| 138 | + }) | ||
| 139 | + }//그대로 이거나 올랐을때 | ||
| 140 | + else { | ||
| 141 | + Coin.updateOne({ name: candle[0].market }, { current_price: candle[0].trade_price, count: 0 }, (err, result) => { | ||
| 142 | + if (err) { | ||
| 143 | + console.log(err); | ||
| 144 | + } else { | ||
| 145 | + } | ||
| 146 | + }) | ||
| 147 | + | ||
| 148 | + } | ||
| 149 | + }) | ||
| 150 | + } | ||
| 151 | + }, 600 * 5); | ||
| 152 | + }, 600 * 5); | ||
| 153 | +} | ||
| 154 | +app.listen(5000, async () => { | ||
| 155 | + console.log('server start') | ||
| 156 | + //coin 이름,가격,거래대금 저장 | ||
| 157 | + sort_info = (await sort_data()); | ||
| 158 | + //DB 최신화 | ||
| 159 | + (await refresh_db()); | ||
| 160 | + var t1 = new Array(); | ||
| 161 | + test_data = await (repeat_check(t1)); | ||
| 162 | + //반복 | ||
| 102 | }) | 163 | }) |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment