• 10-10-2021, 19:24:00
    #1
    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.
  • 10-10-2021, 19:37:16
    #2
    NoSQL ile daha iyi olur hocam MySQL CPU sorunu yaşarsınız
  • 10-10-2021, 19:43:03
    #3
    alenazte adlı üyeden alıntı: mesajı görüntüle
    NoSQL ile daha iyi olur hocam merhaba SQL CPU sorunu yaşarsınız
    Evet hocam haklınız ancak o verileri tekrarında işlemem gerekiyor. Bu nedenle mecburen mysql kullanmak zorundayım. Şu an rest api ile verileri alıyorum ancak bir süre sonra api limitlerine takılıyorum. Bu şekilde o sorundan kurtulmak istiyorum.
  • 10-10-2021, 19:59:47
    #4
    hasip adlı üyeden alıntı: mesajı görüntüle
    Evet hocam haklınız ancak o verileri tekrarında işlemem gerekiyor. Bu nedenle mecburen mysql kullanmak zorundayım. Şu an rest api ile verileri alıyorum ancak bir süre sonra api limitlerine takılıyorum. Bu şekilde o sorundan kurtulmak istiyorum.
    İşleminize engel değil aslında bu durum bende yapay zeka üzerinde bu verileri isliyecegim bı projem var
  • 11-10-2021, 02:32:51
    #5
    Ben 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:21
    #6
    hkarpat adlı üyeden alıntı: mesajı görüntüle
    Ben 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.
    Hamit hocam konuma dönüş yapan olmadığı için siz benimle kodları paylaşırsanız bende sizin yöntemle ilerleyebilirim. Şimdiden teşekkürler.
  • 11-11-2021, 14:24:09
    #7
    Hocam pm atarsan yardımcı olabilirim websocket ile
  • 11-11-2021, 21:32:40
    #8
    Merhabalar konu çözüme kavuşturulmuştur. İlginiz için teşekkürler.
  • 05-01-2022, 03:11:25
    #9
    TELEGRAM-MOBİL OTOMASYON
    hasip adlı üyeden alıntı: mesajı görüntüle
    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.