Merhabalar konu çözüme kavuşturulmuştur. İlginiz için teşekkürler.
'use strict';
const Binance = require('node-binance-api');
const binance = new Binance().options({
APIKEY: '#',
APISECRET: '#'
});
function dateFormat (date, fstr, utc) {
utc = utc ? 'getUTC' : 'get';
return fstr.replace (/%[YmdHMS]/g, function (m) {
switch (m) {
case '%Y': return date[utc + 'FullYear'] (); // no leading zeros required
case '%m': m = 1 + date[utc + 'Month'] (); break;
case '%d': m = date[utc + 'Date'] (); break;
case '%H': m = date[utc + 'Hours'] (); break;
case '%M': m = date[utc + 'Minutes'] (); break;
case '%S': m = date[utc + 'Seconds'] (); break;
default: return m.slice (1); // unknown code, remove %
}
// add leading zero if required
return ('0' + m).slice (-2);
});
}
const mysql = require('mysql');
let connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'coin'
});
// const WebSocket = require('ws');
// const ws = new WebSocket('wss://stream.binance.com:9443/ws/btcusdt@trade');
// ws.on('message', function incoming(data) {
// const veri = JSON.parse(data);
// console.log(veri['p']);
// });
const priceup = async () => {
connection.query("SELECT * FROM pricetracker WHERE price_coinstatus='0'", function (err, rows, fields) {
if (err) throw err;
rows.forEach(function(row) {
let symbol = row.price_coin;
let id = row.price_coinid;
let entryprice = row.price_coinentryprice;
var day=dateFormat (new Date (), "%Y-%m-%d %H:%M:%S", true);
console.log(symbol+' Güncellendi! '+day)
binance.prices(symbol, (error, ticker) => {
var hede = ("price", ticker);
// var hededegisken = hede[symbol];
var yuzde = (hede[symbol] - entryprice) * 100 / hede[symbol];
var yuzde = Number(yuzde).toFixed(4)
if (yuzde > 2){
var percent = '<span class="bg-success p-1">+<i class="mdi mdi-arrow-up-bold"></i>'+yuzde+'%</span>';
}else if (yuzde >= 0){
var percent = '<span class="bg-warning p-1">+<i class="mdi mdi-arrow-up-bold"></i>'+yuzde+'%</span>';
}else if (yuzde >= -2){
var percent = '<span class="bg-danger p-1"><i class="mdi mdi-arrow-down-bold"></i>'+yuzde+'%</span>';
}else if (yuzde >= -4){
var percent = '<span class="bg-danger p-1"><img src="../images/patience.png" height="18" title="Dikkat!"> <i class="mdi mdi-arrow-down-bold"></i>'+yuzde+'%</span>';
}else if (yuzde >= -6){
var percent = '<span class="bg-danger p-1"><img src="../images/patience.png" height="18" title="Dikkat!"><i class="mdi mdi-arrow-down-bold"></i>'+yuzde+'%</span>';
}else if (yuzde >= -8){
var percent = '<span class="bg-danger p-1"><img src="../images/patience.png" height="18" title="Dikkat!"><i class="mdi mdi-arrow-down-bold"></i>'+yuzde+'%</span>';
}else if (yuzde >= -10){
var percent = '<span class="bg-danger p-1"><img src="../images/patience.png" height="18" title="Dikkat!"><i class="mdi mdi-arrow-down-bold"></i>'+yuzde+'%</span>';
}else{
var percent = '<span class="bg-danger p-1"><img src="../images/patience.png" height="18" title="Dikkat!"><i class="mdi mdi-arrow-down-bold"></i>'+yuzde+'%</span>';
}
// console.log(percent);
connection.connect(function(err){
var sql = "UPDATE pricetracker SET price_coin='"+symbol+"',price_lastprice='"+hede[symbol]+"',price_percent='"+percent+"',price_uptime='"+day+"' WHERE price_coinid='"+id+"'";
connection.query(sql,function(err,result){
if (err) throw err;
});
});
});
});
});
};
priceup()
setInterval(priceup,2000);
console.log('Güncellendi ##');// güncelleme:
@hkarpat; gönderdiği kodlardan yola çıkarak tüm coinlerin fiyatlarını çektirmek yerine elimde olan coinlerin fiyatlarını çektirdim. Giriş fiyatı ve son fiyat ile karşılaştırıp yüzdelik kar/zarar hesaplaması yaptırdım.