Merhabalar,
MySQL uzerinden belirledigim kripto paralarin Binance websocket üzerinden fiyatlarini mysql veritabina kaydedecek bir node js dosyasina ihtiyacım var. Teslim suresi ve fiyat bilgisi atarsaniz en kısa sürede yaptırmak istiyorum.
Binance Websocket Piyasa Bilgileri
8
●213
- 10-10-2021, 19:43:03alenazte adlı üyeden alıntı: mesajı görüntüle
- 10-10-2021, 19:59:47hasip adlı üyeden alıntı: mesajı görüntüle
- 11-10-2021, 02:32:51Ben kendim için böyle bir şey yaptım. Node js ile Binance Websocket üzerinden verileri çekip, kendi oluşturduğum PHP sayfasına istek gönderdim. Orada da veri tabanına kaydettirdim. Fakat Node js bilgim sıfır sayılır. Tamamen amatörce ve İnternetten araştıra araştıra yaptım. Eğer profesyonel arkadaşlar yazmazsa işinizin görülmesi açısından yardımcı olabilirim.
- 11-10-2021, 10:51:21hkarpat adlı üyeden alıntı: mesajı görüntüle
- 05-01-2022, 03:11:25hasip adlı üyeden alıntı: mesajı görüntüle
'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.