folder Tahribat.com Forumları
linefolder Kriptoparalar & Blockchain
linefolder Binance'de Geçmiş Veri Analizi / Balina Giriş Çıkışları / Mum Detayları / Backtest Ve Daha Fazlası



Binance'de Geçmiş Veri Analizi / Balina Giriş Çıkışları / Mum Detayları / Backtest Ve Daha Fazlası

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    g3da
    g3da's avatar
    Kayıt Tarihi: 18/Ocak/2010
    Erkek

    Merhaba arkadaşlar,

    Bu konuda, JavaScript dilini kullanarak coinin geçmiş veri analizi yapacağız ve daha sonra Binance borsasında yükselişe geçen bir coini yine JavaScript ile algılayacağız.

    Ben uzun zamandır "Bir Coinin Geçmiş Analizi" ile alakalı açılan geçmiş konuları ve diğer forum sitelerinde gözlemlediğim tecrübelerimi bir araya getirme fikrindeydim. Bu nedenle, bu bilgileri sizlerle paylaşmayı ve birlikte geliştirmeyi hedefliyorum.

    Amacım, bu konunun herkes tarafından anlaşılır ve kolayca uygulanabilir olmasını sağlamak. Bu yüzden, bu yazıda "python" ve "nodejs" gibi gelişmiş programlama dillerinden ziyade, daha temel HTML ve JavaScript bilgisi olanlar için de anlaşılır olmasını amaçlıyorum.

    Bu çalışma sırasında, yaptığım çalışmayı domain üzerinden canlı olarak test etmenizi de sağlayacağım. Bu süreçte hiçbir şekilde bir üyelik yada bilgi talep etmeyeceğim. Benim temel prensibim, fikir alışverişi yaparak bu veri analizini birlikte geliştirmektir. Bu nedenle, en temel matematik bilgisine sahip olan arkadaşlarımız bile bu konuda katkıda bulunabileceklerini düşünüyorum.

    Umarım bu yazı sizler için faydalı olur ve birlikte coinin geçmiş veri analizini geliştirmeyi düşünürüz.

    İlk olarak, Binance API'sini kullanmaya başlayacağız. Bu API sayesinde, aşağıdaki adreste verilen JSON servisinden, Binance tarafından optimize edilmiş ve değiştirilmiş kline verilerini alabiliriz: https://api.binance.com/api/v3/uiKlines?symbol=BTCUSDT&interval=1m&limit=500

    Bu verileri anlamaya ve kolayca idrak edebileceğimiz şekilde listeleyeceğiz.

    Bu yazılımda, HTML etiketlerini ve CSS kodlarını en net ve anlaşılır şekilde kullanacağız. Hiçbir şekilde gereksiz JavaScript fonksiyonu yada kütüphane dahil etmeyeceğiz ve kodlarımızı "şiir gibi" yazmayı hedefliyorum. Bu sayede, coini geçmiş veri analizini herkes tarafından kolayca uygulayabilecek şekilde yapacağız.

    Bu çalışmalar sadece Binance borsası odaklı olacaktır.

    https://cryptosignist.com/history/BTCUSDT/1m/15
    ~ Bitcoine ait son 15 dakikalık veriler

    https://cryptosignist.com/history/RAYUSDT/1m/60
    ~ RAY coine ait son 1 saatlik veriler

    ~ Şimdilik sadece BUSD ve USDT paritelerine odaklanıyoruz ETH, BTC ve diğerleri dahil edilecek

    Geçen Süre
    ~ Henüz 1. gündeyiz

    Gelişmeler
    ~ Tablo listesinin başlıkları sabit hale getirildi.
    Sayfa açıldığında, scrollTop özelliği kullanılarak en sona gidilmesi sağlandı.
    Tarih verisi düzgün şekilde gösterildi.
    Kapanış fiyatı ve hacim, belirli bir format ile gösterildi.
    WebSocket kullanarak ilgili coinin son verilerini anlık olarak alıyoruz.
    ~ Sayfa yüklenirken progressbar özelliği eklendi.
    Sayfanın sağ en alt köşesine grafiğin gelmesi ve grafik üzerinden gezinirken tablodaki listenin takibinin kolaylaştırılması
    ~ Tablo listesinde BULL (Boğa) adında yeni bir sütun yer alıyor. Burası net hacmi toplayıp ilerliyor, bu sayede ilerleyişin gücünü anlıyoruz.
    ~ MA7, MA25 ve MA99 kesişimleri mesajlara dahil edildi
    ~ Messages sütununda yer alan dikey çizgiye TrandingView'deki meşhur MavilimW indikatörünü dahil ettik
    ~ +$50.000 veya -$50.000 hareketlilikte satış veya alışta (Balina Sıçrayış , Balina Dalış) simgelerini dahil ettik<strong style="font-size: 14.6667px;">
    Sağ üst köşede coin adı artık girilebiliyor 
    ~ Backtest özelliğine başlangıç yaptık. 

    Dahil ettiğimiz indikatörler
    Simple Moving Average (SMA)
    ~ Moving Average Convergence Divergence (MACD)
    ~ MavilimW

    Dahil ettiğimiz kütüphaneler
    ~ jQuery
    ~ NProgress
    ~ Binance CandleStick
    ~ Technical Indicators
    ~ Iconlar için FontAwesome Free

    Sıradaki Özellikler
    ~ Mesajlara dahil edilebilecek indikatörler;
    Relative Strength Index (RSI) 
    Bollinger Bands (BB)
    Know Sure Thing (KST)
    AwesomeOscillator (AO)
    Parabolic Stop and Reverse (PSAR)
    Triple Exponentially Smoothed Average (TRIX)
    Bu saymış olduğum indikatörlerin pozitif ve negatif durumları listede mesajlar sütununa gelecek.

    Temel olarak kodlama bilen arkadaşlar sayfanın HTML kaynağına ve aşağıdaki stil ve javascript kodlarını inceleyerek henüz basitlik ve işlevselliği değerlendirmenizi bekliyorum.
    Stil kodları
    JavaScript kodları

    Saygılarımla

    WebSocket bağlantısı ile son güncel fiyat değişimlerini aldık



    Grafik üzerinden mouse ile satır satır neler gerçekleştiğini rahatlıkla görebiliyoruz



    g3da tarafından 04/Oca/23 11:23 tarihinde düzenlenmiştir
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    g3da
    g3da's avatar
    Kayıt Tarihi: 18/Ocak/2010
    Erkek

    Öncelikle FTP tarafında dizin hiyerarşimiz şu şekilde;




    index.php


    klines.php


    script.js


    https://cryptosignist.com/history/

    Bu adresten, kodların nasıl çalıştığını görebilirsiniz.
    Bu sayfayı ilk açtığınızda, BTCUSDT paritesinin son 500 mum verisi ekranda listelenecektir.
    İlerleyen süreçte, sayfayı görselleştirme ve daha anlaşılır hale getirme aşamalarını hem detaylıca açıklayacağım hemde sayfayı yeniledikçe göreceksiniz.

     

     

     

     

     

     

     

    g3da tarafından 03/Oca/23 20:27 tarihinde düzenlenmiştir
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    g3da
    g3da's avatar
    Kayıt Tarihi: 18/Ocak/2010
    Erkek

    Sayfada yapılan güncellemeler şunlardır:

    Tablo listesinin başlıkları sabit hale getirildi.
    Sayfa açıldığında, scrollTop özelliği kullanılarak en sona gidilmesi sağlandı.
    Tarih verisi düzgün şekilde gösterildi.
    Kapanış fiyatı ve hacim, belirli bir format ile gösterildi.


     

    g3da tarafından 03/Oca/23 20:57 tarihinde düzenlenmiştir
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    g3da
    g3da's avatar
    Kayıt Tarihi: 18/Ocak/2010
    Erkek

    Önceki listemizde, kapanış fiyatı ve toplam hacim yer alıyordu.
    Şimdi ise, listeye alış hacmi, satış hacmi ve o mumda giren net hacmi de eklenmiştir.

    JavaScript dosyasında ilerleme şu şekilde

     

    g3da tarafından 03/Oca/23 21:05 tarihinde düzenlenmiştir
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    g3da
    g3da's avatar
    Kayıt Tarihi: 18/Ocak/2010
    Erkek

    URL yapısı işlevselliği arttırılmıştır. Örneğin:

    https://cryptosignist.com/history/SOLUSDT
    SOL sembolüne ait son 500 dakikalık mumlar listelenir.

    https://cryptosignist.com/history/SOLUSDT/5m
    SOL sembolüne ait son 500 adet 5 dakikalık mumlar listelenir.

    https://cryptosignist.com/history/SOLUSDT/1m/30
    Son 30 dakika listelenir.

    Bu URL yapısında,
    ilk sekmede coin adı (örneğin BTCUSDT, SOLUSDT, ETHUSDT, FISUSDT vb.),
    ikinci sekmede interval zaman ('1s', '1m', '3m', '5m', '15m', '30m', '1h', '2h', '4h', '6h', '8h', '12h', '1d', '3d', '1w', '1M')
    üçüncü sekmede limit belirtilir. Maksimun 1000'dir.

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    lazz
    lazz's avatar
    Kayıt Tarihi: 15/Ekim/2007
    Erkek

    eline sağlık hocam

    konuyu takıpteyım ne zamandır boyle paylaşımlar olmuyordu

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    g3da
    g3da's avatar
    Kayıt Tarihi: 18/Ocak/2010
    Erkek

    Özet olarak,
    Binance API'sinden verileri çekmek için PHP cuRL kullandık.
    jQuery kütüphanesini ekleyerek sayfayı dinamik hale getirdik.
    CSS ile tablo listemizin görünümünü düzenledik.
    Tablo listemizde tarih, kapanış fiyatı, hacim ve alış/satış hacimlerini gösterdik.
    URL yapısını da işlevsel hale getirdik.

    Sıradaki özellikler;
    Coinlerin tutar basamaklarının düzgün gösterimini sağlayacağız. 
    JavaScript WebSocket ve Binance WebSocket API kullanarak sayfayı dinamik hale getirip ve anlık bilgileri sayfanın en üstüne ekleyeceğiz.
    Bu sayede değişiklikleri görmek için sayfayı yenilememiz gerekmeyecek.

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    g3da
    g3da's avatar
    Kayıt Tarihi: 18/Ocak/2010
    Erkek
    lazz bunu yazdı

    eline sağlık hocam

    konuyu takıpteyım ne zamandır boyle paylaşımlar olmuyordu

    Teşekkür ederim. İlerledikçe herkes için anlaşılır hale gelecek ve farkı hissedecek arkadaşlar.

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    g3da
    g3da's avatar
    Kayıt Tarihi: 18/Ocak/2010
    Erkek

    Header'ı oluşturmaya başladık.

    index.php dosyasında header için etiketleri dahil ettik



    Görünüm şu şekilde olacaktır, 


    Amacımız Binance'deki şu verileri Web Socket ile anlık getirmek


    Burada ihtiyacımız olacak olan bilgiler;
    https://www.binance.com/exchange-api/v1/public/asset-service/product/get-products

    Burada ihtiyacımız olacak olan bilgiler, Binance API'sine bağlanarak "get-products" adındaki servisten elde edilecek.
    Bu servis, borsadaki mevcut tüm coinlerin sembol, para birimi, ad, minimum trade büyüklüğü ve tutarın basamakları gibi temel bilgileri döndürür.
    Örneğin, SOLUSDT sembolüne ait bilgileri aşağıdaki gibi bir nesne olarak saklayabiliriz:

    const pair = { symbol: 'SOLUSDT', quoteAsset: 'USDT', baseAssetName: 'Solana', baseAsset: 'SOL', minTrade: 0.01000000, tickSize: 0.01, };

    Bu nesneyi, Binance API'sinden elde edilecek tüm coin bilgilerini içeren bir diziye ekleyerek saklayabiliriz.
    Bu dizi sayesinde, kullanıcının seçtiği coin ile ilgili bilgilere ulaşmak daha kolay hale gelecektir.

     

    g3da tarafından 03/Oca/23 22:07 tarihinde düzenlenmiştir
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    g3da
    g3da's avatar
    Kayıt Tarihi: 18/Ocak/2010
    Erkek

    WebSocket kullanarak verileri anlık olarak almayı başardık ve sayfamıza yazdırdık.



    JavaScript dosyamızdaki güncellememiz

  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    g3da
    g3da's avatar
    Kayıt Tarihi: 18/Ocak/2010
    Erkek

    ~ Sayfanın en üst kısmına NProgress JavaScript kütüphanesinden faydalanarak loading bar ekledik.

    Sıradaki özellikler;
    Tablo listesini WebSocket kullanarak anlık olarak güncelleyeceğiz.
    Tablo listesinde yer alan mesaj sütununa örneğin +50K ve üzeri alımlar için "Balina Sıçrayış " -50K satışlar için "Balina Dalış " simgelerini dahil edeceğiz.
    Tablo listesinde yer alan mesaj sütununa MA7 MA25 ve MA99 kesişimlerini MACD düşüş ve yükselişlerini yazdıracağız.
    Sayfanın en sağ alt köşesine Binance grafiğini dahil edeceğiz bu grafik üzerinde gezinirken tablo listemiz otomatik olarak fokuslanacak ve ilgili mumda ne olacağını daha iyi anlayacağız.

     

     

     

     

     

    g3da tarafından 03/Oca/23 22:58 tarihinde düzenlenmiştir
Toplam Hit: 4701 Toplam Mesaj: 47
binance