Binance Bot Yapımı – Ücretsiz Adım Adım Rehber 2022

Binance bot yapımı

Python ile kripto alım satım işlemlerinizi otomatik hale getirin.

Binance Bot Yapıyoruz

Merhaba, hoş geldiniz.

Bugünkü eğitici içeriğimizde sizinle birlikte kendi Binance botumuzu yazacağız. Rehberde mümkün olduğunca bütün detaylarıyla kendi Binance botunuzu nasıl kuracağınızı anlatacağım. Python kullanıyor olacağız. Dolayısıyla biraz teknik bilgi gerektiren bir yazı olacak.

Hazırsanız, çayınızı, kahvenizi hazırlayın başlıyoruz : )

Önce Temel Bilgiler

Binance bot yapımına geçmeden önce biraz temel bilgi paylaşalım. Belki konuyu bilmeyenler vardır. Kısa bir bilgilendirmenin ardından Binance bot kurulum aşamalarına geçelim. “Ben zaten kriptoyu yedim, yuttum” diyorsanız bu giriş kısmını atlayıp doğrudan bot yapım bölümüne geçebilirsiniz.

  • Kripto para nedir? Kripto paralar 2009 yılında Bitcoin’in doğuşuyla yaygınlaşan dijital varlıklar. Her şeyin olduğu gibi kripto paralarında ticaretini yapabilirsiniz.
  • Binance nedir? Binance dünyanın en büyük kripto para borsası. Bu platform üzerinde kripto para alıp satabilirsiniz.
  • Bot nedir? Bot herhangi bir işlemi manuel müdahale olmadan algoritmalar vasıtasıyla otomatik olarak yapan kod parçacığına denir.
  • Binance bot nedir? Binance adlı kripto para borsası üzerinde belirli algoritmalarla kripto para alıp satarak kâr elde etmeyi amaçlayan kod parçasıdır.
  • Python nedir? Python bir programalama dilidir. İşlemleri otomatikleştirmek için bu dili kullanarak bot yazabilirsiniz.

Binance Botu Ne İşimize Yarayacak?

Binance botu sayesinde Binance borsası üzerinde kripto para alım ve satım işlemlerinizi otomatiğe bağlayabilirsiniz. Bot mümkün olan en kârlı işlemleri yapmaya çalışır. Dilerseniz kendi stratejilerinizi de yazarak, bunları bota öğretebilirsiniz.

Binance Botunun Çalışma Mantığı Nedir?

Aslında en baştan bunun deneysel bir bot olduğunun altını çizelim. Kazandırabileceği gibi kaybettirebilir de. Ancak şu anda bu bot Github üzerindeki en popüler botlardan biri. Çok yaygın bir şekilde kullanılıyor ve kullanıcı yorumları genelde olumlu. Zaten birazdan yapacağımız testlerde bunu siz de göreceksiniz. Ancak dediğim gibi her zaman kazandıracak diye bir kural yok.

Peki botun çalışma mantığı ne?

Çok basit aslında.

Bu botu geliştirenler botun mantığını kendi sitelerinde uzunca anlatmışlar ama ben size kısaca özetleyeyim.

Kripto paraların pek çoğunun hemen hemen aynı şekilde hareket ettiklerini gözlemlemişler. Ne zaman biri yükselse diğerleri de yükseliyor, biri düşse diğerleri de düşüyor. Hepsi de genellikle Bitcoin’i takip ediyor. Yani Bitcoin aşağıda giderse diğer tüm kripto paralar da aşağı gidiyor, yukarı giderse hepsi yukarı gidiyor.

İşte bu gözlem ve varsayımdan yola çıkarak şöyle bir mantık geliştirilmiş: bot her zaman yükselişte olan koini düşmekte olan koinle takas ediyor. Daha sonra durum tersine dönünce geri takas işlemi yapılıyor.

Aslında tüm mantık bu.

Peki bot nasıl çalışıyor?

Botun çalışma mantığını anladıysak şimdi biraz detaya inelim.

Burada hemen aklınıza şöyle bir soru gelebilir: hocam iyi güzel de Binance’te her kripto çiftinin ticaretine izin verilmiyor ki. Örneğin diyelim ki yükselişe geçen koinimiz DASH olsun. Düşüşe geçen koinimiz de ADA olsun. Binance DASH/ADA çiftinin ticaretine izin vermiyor ki. Bu durumda bot nasıl bunları takas edecek?

Böyle bir durumda botun “bridge currency” ya da Türkçe ifadeyle “köprü para birimi” adını verdiği bir yöntemi var. Aslında bu yöntem adından da anlaşılacağı üzere takas çifti olmayan koinler arasında bir köprü görevi görüyor ve botun köprü olarak kullandığı koin: Tether (USDT)

Coin A → USDT → Coin B

Bot her zaman şunu yapıyor: yükselişte olan yani güçlü olan koini düşüşte olan yani zayıf koinle takas ediyor. Çünkü eninde sonunda tekrar tersine döneceğini biliyor. Nerden biliyor? Geçmiş piyasa hareketlerinden. Yani zayıf olan tekrar yükselişe geçecektir. Ancak bazı özel durumlar hariç. Örneğin yakın zamanda LUNA çöktü biliyorsunuz. 120 dolardan 0’ın altına indi. Şimdi bu özel durumda LUNA’nın tekrar yükselişe geçmesi ve sıfırın üzerine çıkması pek mümkün gözükmüyor. Bu özel durumlarda da botun afallayabileceğini unutmayın.

Bot burada her zaman elindeki orijinal sayıyı arttırmaya çalışıyor. Burası çok önemli olduğu için tekrar etmekte fayda görüyorum: Bot her zaman elindeki koin miktarını arttırmaya çalışıyor.

Yani başlangıçta elimizde 10 adet ADA olsun. Botumuzun nihai hedefi farklı koinleri alıp satarak tekrar ADA’ya döndüğünde 10’un üzerinde bir sayıyla dönmek. Dolayısıyla miktar olarak genelde bunu başarılı bir şekilde yapıyor. Ancak ADA’nın fiyatının çakılacağını bot bilemediği için ona yapabileceği bir şey yok. Bot için önemli olan miktar.

Aşağıdaki hareketlerden gördüğünüz gibi bot Coin A ile ticarete başladı ve yine Coin A ile ticareti bitirdi ve bitirdiğinde elinde başlangıçtakinden daha fazla Coin A olmuş oldu.

Coin A → USDT → Coin B

Coin B → USDT → Coin C

Coin C → USDT → Coin A

Yani botumuz durum ne olursa olsun başlangıçtaki miktardan az sayıda bir pozisyona asla girmiyor.

Botun çalışma mantığını anladıysanız şimdi işin teknik kısımlarına geçelim. Öncelikle Binance’de bazı ayarlar yapmamız lazım.

Haydi başlayalım..

Binance API Ayarları

Binance’de bir hesabınız olduğunu varsayıyorum. Yoksa da önce bir hesap açmanız lazım. Yalnız sadece hesap açmak yetmiyor. Binance API’lerini kullanabilmeniz için iki adımlı doğrulamayı da (two-factor authentication) aktif hale getirmelisiniz.

Burada şu soruyu sorabilirsiniz, neden Binance API’ye ihtiyacımız var ve nedir bu Binance API denilen şey?

Binance API, Binance’in kullanıcılarına sunduğu bir veri hizmeti aslında. Bu şekilde otomatik bot yazanların kullanabilmesi için hazırladıkları bir servis. Bu API sayesinde Binance’de bazı işlemleri platforma login olmadan otomatik yapabiliyorsunuz. 

Peki Binance API ile ne tür işlemler yapılabilir?

  • Binance’deki verilerinizi okuyabilirsiniz. (Bizim botumuz bunu kullanacak)
  • Marj ve transfer işlemleri yapabilirsiniz.
  • Vanilla Opsiyonları kullanabilirsiniz.
  • Spot ve marj alım satımı yapabilirsiniz. (Bizim botumuz bunu kullanacak)
  • Vadeli işlemleri kullanabilirsiniz.
  • Whitelist’e işlem çifti ekleyebilirsiniz.
  • Çekim yapabilirsiniz.
  • Genel transferleri gerçekleştirebilirsiniz.
API yönetimine aşağıdaki linkten ya da ekranda kırmızı ile işaretlediğim yerden erişebilirsiniz.

Binance API Yönetimi: https://www.binance.com/tr/my/settings/api-management

Yukarıda da belirttiğim gibi biz API’deki sadece iki seçeneği kullanacağız. Bir veri okuyacağız yani Binance’te ne kadar bakiyemiz var, hangi koinlere sahibiz bu bilgiler olmadan bot herhangi bir işlem açamaz. İkincisi bu bilgileri alıp analiz ettikten sonra botumuz spot ticareti yapacak.

Binance Bot Yapımı

API yönetim linkine tıkladığınızda karşınıza aşağıdaki gibi bir sayfa açılacak. Bu sayfadan API’lerinizi yönetebilirsiniz. Binance üzerinde her kullanıcının en fazla 30 tane API üretme hakkı var. Üreteceğiniz API’ler sadece size özeldir ve kesinlikle kimseyle paylaşmayın!

Açılan ekranda “Oluşturulan API” butonuna tıklıyoruz. Binance tabii burada çeviriyi iyi yapamamış. Aslında bu butonda “API Oluştur” yazması gerekirdi.. Neyse..

Açılan pencerede API’mize bir isim veriyoruz. Herhangi bir şey yazabilirsiniz. Ben Binance Bot dedim mesela..

Sonraki adımda Binance sizden güvenlik doğrulaması yapmanızı isteyecek. Telefonunuza ve e-posta kutunuza gelen kodları ve Google Authenticator ile oluşturduğunuz kodu buraya girmeniz lazım.

Tebrikler! Binance API’nizi oluşturdunuz. Açılan ekranda API bilgilerinizi görebilirsiniz.

Bu ekranda en üstte API Key ve Secret Key yazan yerdeki değerleri bir kenara not etmeniz lazım.

Önemli not: Bu ekranı kapatırsanız Secret Key’inizi bir daha göremezsiniz. O yüzden ekranı kapatmadan önce API key ile Secret key’i muhakkak bir kenara kaydedin.

API ile ilgili işlemimiz henüz bitmedi. Yapmamız gereken son bir ayar daha var. Binance API’sı varsayılan olarak sadece okuma izni aktif şekilde gelir. Bunu değiştirmemiz lazım. En üstte sağda “Kısıtlamaları düzenle” yazan yere tıklayın.

Aşağıda işaretlediğim gibi Spot ve Marjin Alım Satımını Etkinleştir kısmını da seçmelisiniz ki botunuz al-sat yapabilsin.

API ayarlarını bitirdik. Şimdi botumuzun kurulumuna geçebiliriz.

Binance Bot Kurulumu İçin Gerekenler

Binance bot kurulumu için gerekenleri aşağıda açıklamalarıyla birlikte listeledim.

  • Bilgisayar (PC, MacBook, Server vb..)
  • İşletim Sistemi (Windows, MacOS, Ubuntu vb..)
  • Python 3.7 / 3.8
  • Kod Editörü (Visual Studio Code, Notepad++ vb..)
  • Github hesabı
Şimdi bu kısımda bazı önemli detaylardan bahsetmem lazım.
 
Ben kişisel olarak 2017 model bir MacBook Pro kullanıyorum. Özellikleri aşağıdaki şekilde ve Python ile ilgili tüm işlerimi görüyor.
 

Yalnız başka projeler için de kendi bilgisayarımda çok fazla Python kullanıyorum ve makinemde Python’un en son versiyonu yani 3.9 kurulu. Ancak bizim kuracağımız bot 3.9 ile düzgün çalışmıyor. Ya 3.7 ya da 3.8 kurmanız lazım. O yüzden önünüzde bir kaç seçenek var ve siz kendiniz için en uygun olanı seçebilirsiniz;

  1. Bilgisayarınızda illa Python 3.9 kullanmanız gerekmiyorsa onu tamamen silip yerine 3.8’i kurabilirsiniz.
  2. Bilgisayarınızda illa Python 3.9 kullanmanız gerekiyorsa, onu silmeden 3.8’i de ekstradan kurabilirsiniz. Bu işlem için pyenv gibi araçlar var dilerseniz göz atabilirsiniz.
  3. Sıfırdan bir sunucu kurup Python 3.8 kurabilirsiniz.
İkinci seçenek bana daha yorucu ve uzun geldiği için onu es geçtim. E birinci seçenek de işime gelmiyor. Geriye en son seçenek kaldı. Yani bir sunucu kurdum ve botu bu sunucuya kurdum. Aslında botun 7/24 çalışmasını istiyorsanız zaten ilk iki seçenek işinize yaramaz. Sunucu üzerinde çalıştırmanız lazım.

Ben sunucu ve Python kurulum kısımlarına girmeyeceğim çünkü o zaman konudan çok kopmuş oluruz. Size aşağıda kendi final setup’ımı gösteriyorum. Bu şekilde bir ortam hazır etmeniz yeterli.

Final Setup

Digital Ocean üzerinden aylık 5 dolara aşağıdaki gibi bir sunucu kurabilirsiniz. Python kurulumu içinse bu linkteki adımları takip edebilirsiniz.

  • Sunucu: 1 GB Memory / 1 Intel CPU / 25 GB Disk
  • İşletim Sistemi: Ubuntu 20.04
  • Python 3.8.10

Binance Botun Sunucuya Kurulması

Şimdi bu noktada artık ortamınızı ayarladığınız varsayıyorum. Sunucunuz kuruldu. Python 3.8 yüklendi. Sıra botumuzun sunucuya kurulmasına geldi.

Botu sunucu üzerinde dilediğiniz bir yere kurabilirsiniz. Ben Home klasörüne kurdum.

Tek yapmanız gereken kodun bulunduğu aşağıdaki adrese gidip Zip dosyasını indirmek ve bu dosyayı sunucuya yüklemek.

Repo adresi: https://github.com/donmezgel/binance-bot

Aşağıdaki ekranda gördüğünüz Code yazan yere tıklayıp Download ZIP yazan yere tıklarsanız botun kodlarını bilgisayarınıza indirmiş olursunuz.

Ya da alternatif olarak aşağıdaki linkten botun kodlarını indirebilirsiniz.

ZIP dosyası: https://github.com/donmezgel/binance-bot/archive/refs/heads/main.zip

Lütfen bu zip dosyasını henüz sunucuya yüklemeyin. Önce bilgisayarımızda bazı değişiklikler yapacağız, sonra sunucuya göndereceğiz.

Bot Ayarlarının Yapılması

Şimdi botu indirdiniz. Sıra geldi botun ayarlarını yapmaya.

Öncelikle botun yapısını ve dosyaları bir inceleyelim.

Zip dosyasını açtığınızda aşağıdaki dosyaları göreceksiniz.

  1. user.cfg: Bu dosyayı biz oluşturacağız. İçinde Binance API anahtarlarımız ve kullanıcı ayarlarımız olacak. En önemli dosyalardan biri bu.
  2. supported_coin_list: Bu dosyanın içinde botun desteklediği coinlerin isimleri var. Maalesef bu coinler dışında alım ve satım yapamazsınız. Botun desteklediği coinler: ADA, ATOM, BAT, BTTC, DASH, DOGE, EOS, ETC, ICX, IOTA, NEO, OMG, ONT, QTUM, TRX, VET, XLM, XMR. Unutmayın botun çalışabilmesi için spot cüzdanınızda bu coinlerden bir tanesinden bir miktar olmalı.
Şimdi sırayla user.cfg dosyasının içeriğini inceleyelim.

User.cfg Dosyasının Düzenlenmesi

user.cfg dosyasının içinde parametrik ayarlara birlikte bakalım.

  1. api_key: Buraya Binance API ekranında oluşturduğunuz api anahtarını yapıştırmanız lazım.
  2. api_secret_key: Buraya Binance API ekranında oluşturduğunız secret key’i yapıştırmanız lazım.
  3. current_coin: Buraya botun desteklediği coinlerden birini yazabilirsiniz. Bot burada yazılı olan coinle ticarete başlar. Bu kısmı ben şahsen boş bırakıyorum. Boş bırakınca bot köprü para birimi olan USDT ile işlemlere başlıyor.
  4. bridge: Burada herhangi bir değişiklik yapmanıza gerek yok. USDT olarak kalabilir. Bot al-sat işlemlerinde USDT’ye geçişler yapacak.
  5. tld: Eğer ABD’de yaşıyor ve binance.us versiyonu kullanıyorsanız buraya “us” yazabilirsiniz. Türkiye’de yaşayanlar ve binance.com kullananların bu kısımda herhangi bir değişiklik yapmasına gerek yok.
  6. hourToKeepScoutHistory: Lokal veritabanında kaç saatlik keşif bilgilerinin tutulacağını kontrol eder. Belirtilen süre geçtikten sonra bu bilgiler silinir. Keşif değeri ne ola ki diyeceksiniz? Bot bir nevi keşfe çıkıyor. Coin fiyatlarını analiz ediyor fellik fellik ve bunları lokalde bir veritabanında tutuyor. Ben buraya dokunmadım. Varsayılanda 1 saat tutuyor bilgileri ama o kadar önemli değil. Bu haliyle bırakabilirsiniz.
  7. scout_sleep_time: Keşfe çıkarken arada ne kadar mola vereceğini burada tanımlıyoruz. Sonuçta bot da olsa o kadar yüklenmemek lazım : ) Bu alanın varsayılan değeri 1 saniye. Ben bu kısma dokunmadım. Böyle bırakabilirsiniz.
  8. scout_margin: İşlem başına bir coinden kazanılan minimum yüzde. Örneğin 0.8 değeri, %0.1 ücret karşılığında 5’lik bir scout_multiplier anlamına gelir.
  9. scout_multiplier: Coin oranlarının mevcut durumu ile oranların önceki durumu arasındaki farkın çarpıldığı değeri kontrol eder. Daha büyük değerler için bot, ticaret yapmadan önce daha büyük marjların gelmesini bekler. 3-7 arası bir değer girilmesi önerilir. Ben buraya da dokunmadım ve 5 bıraktım.
  10. use_margin: Botun marj kullanmasını istiyorsanız buraya yes yazabilirsiniz. Ben varsayılan değer no tuttum. Aşağıda marjdan kastın ne olduğunu yazdım.
  11. strategy: Bu kısım botun kullandığı stratejiyi tanımlar. binance_trade_bot klasörü içinde strategies adında bir klasör var. Bu klasöre siz de kendi stratejilerinizi yükleyebilirsiniz. Strateji ile ilgili aşağıda detaylı açıklama yaptım. Oraya bakabilirsiniz.
  12. buy_timeout: Bir “limit buy” emrini iptal etmeden ve “keşif” moduna dönmeden önce kaç dakika bekleneceğini burası belirler. Bu kısma 0 yazarsanız o emrin hiçbir zaman zamanından önce iptal edilmeyeceği anlamına gelir.
  13. sell_timeout: Bir “limit sell” emrini iptal etmeden ve “keşif” moduna dönmeden önce kaç dakika bekleneceğini burası belirler. Bu kısma 0 yazarsanız o emrin hiçbir zaman zamanından önce iptal edilmeyeceği anlamına gelir.
user.cfg dosyasında gerekli tanımlamaları yaptıysak artık hazırız. Botumuzu çalıştırmaya başlayabiliriz. Ama öncesinde yukarıda bahsettiğim strateji konusunu bir inceleyelim.

Botun Kullandığı Stratejiler

Botumuzun kullandığı iki ayrı strateji var. Bunları bir inceleyelim.

  1. default_strategy: Bu varsayılan stratejidir. Yani sadece tek seferde tek coin üzerinden işlem yapar. Ben genelde bunu kullanıyorum.
  2. multiple_coins_strategy: Bu da çoklu coin stratejisi. İsterseniz bu stratejiyi de seçebilirsiniz. Aynı anda birden fazla coin üzerinde işlem yapar.
Eğer Python kod yazabiliyorsanız kendi stratejinizi yazıp user.cfg dosyasında tanımlayabilirsiniz.

Botun Çalıştırılması

Eveet. Artık neredeyse en önemli ve son adımlardan birine geldik. Şimdi her şey hazır. Sadece botun çalışması kaldı.

Botu çalıştırmadan önce kodun gerektirdiği bazı Python paketlerini ve virtual environment’ı kurmamız lazım. Öncelikle aşağıdaki komutları sırasıyla çalıştıralım.

python3 -m venv env

source env/bin/activate

pip install -r requirements.txt

Yukarıdaki komutları sadece bir kez çalıştırmanız yeterli olacak. Ancak aşağıdaki komutu botu her çalıştırmak istediğinizde kullanmanız gerekecek. Gerçi botu bir defa çalıştırdıktan sonra artık çok fazla durdurmamanız lazım.

Aşağıdaki komutu yazıp enter’a basıyoruz ve botumuz çalışmaya başlıyor!

python -m binance_trade_bot

Bot çalıştıktan sonra aşağıdaki gibi ekranda yapılan işlemler tek tek yazıyor olacak..

Aşağıdaki ekran görüntüsünde göreceğiniz üzere kurduğum bot çalışır çalışmaz DOGE satın aldı ilk olarak. Sonrasında bu DOGE’leri sattı ve XMR satın aldı. Botum şu an halen nerdeyse 10 dakika geçti XMR’de bekliyor. Uygun alım fırsatı olduğunda tekrar başa yani DOGE’ye geri dönecek. DOGE’nin miktarını arttırmadan geri dönmeyecek. Dolayısıyla beklemede.

Botunuzun yaptığı alım ve satımları görmek için Emir Geçmişi sayfasına gidebilirsiniz. Mesela bot aşağıdaki işaretlediğim alım-satımları yapmış ve şu an XMR’de bekliyor.

Son Söz

Ve rehberimizin sonuna geldik. Gördüğünüz gibi Binance botumuzun adım adım tüm kurulum aşamalarını gerçekleştirdik ve çok kolay bir şekilde başlattık. Bu botun bir de yaptığı alım ve satım işlemlerini bildirim şeklinde telegram botu üzerinden gönderme özelliği var. Yani siz botu kurduktan sonra bütün gün başında oturup ekranı izlemek zorunda değilsiniz. Botu sunucuya kurun ve o alım satım yaptığı zaman size bildirim gelsin. Bu özelliği de başka bir yazı da ele alırız.

Şimdilik benden bu kadar. 

Umarım faydalanırsınız.

Bol kazançlar herkese.

Deneyim ve sorularınızı yorum kısmına yazarsanız, diğer kullanıcılar da istifade etmiş olur.

İlginizi Çekebilir:

Binance'de NFT Oluşturma

Dünyanın en büyük kripto para borsası Binance'de kendi NFT koleksiyonunuzu oluşturup satışa çıkarabilirsiniz. Detaylar için tıklayın.

Evrim Dönmez

Kripto para dünyasına ilgilidir. Okur, araştırır, öğrenir, paylaşır.

This Post Has 2 Comments

  1. hakan

    User.cfg dosyaların içerisinde bulunmuyor yazıyı tekrar kontrol edermisin.

    1. Evrim Dönmez

      user.cfg dosyasını normalde sizin oluşturmanız gerekli api vs bilgilerinize göre ama ben yine de repo’ya ekledim.

Yorumunuz Varsa Paylaşın