FFAutomaton / trade-logic

9 stars 9 forks source link

Trade Logic

Bu repo, elimizdeki sinyalleri toplayıp ana mantığı uygulayacağımız ve al sat yapacak end pointi tetikleyecek kodun yazıldığı repodur.

Binance'e baglanmak icin API_KEY = "xxxx" API_SECRET = "xxxxxx" degiskenleri config.py dosyasina koyarak debug yapabilirsiniz.

ENV

PYTHON_ENV = "TEST". Bunu degiskenlerinize local denemelerinizde ekleyin. Botu calistirirken bu degiskeni TEST harici birsey yapabilirsiniz.

Localde calistirma

Dockerfile ve bash_scripts kalsoru altindaki scriptlerdeki path giti degiskenlerin dogrulugundan emin olun.

rebuild.sh dosyasini executable hale getirin, sonrasinda ./bash_scripts/rebuild.sh komutu ile docker container icinde botu calistirabilirsiniz.

docker ps komutu ile trader-bot container id'yi cekin ve container'a baglanin. app klasoru icinde main.py dosyasini calistirarak calistigindan emin olun.

Calisan container'in id'sini alip asagidaki komuta ekleyerek container'a baglanabilirsin. docker ps

docker container exec -it <container_id> /bin/bash
docker container exec -it 9d81461c9338 /bin/bash

AWS EC2 instance'a baglanma

EC2 instance olustur, default degerler ile ilerle, sadece disk size arttirabilirsin, eger bunu yaparsen docker ayarlarinda volume arttirma adimlarini gecebilirsin.

Son adimlarda ssh key indirmen gerekecek, duzgun bir isim ver ve dosyayi indir

Security group'lardan ilgili gruba inbound SSH roule ekle kendi ip'in icin, ip'in degisirse burayi guncellemen gerekir, istersen burayi her IP'ye izin verecek sekilde ayarlayabilirsin, SSH keylerin gerekli guvenligi saglayacaktir.

Public DNS icin instance'a girdikten sonra baglan(connect) tusundan ssh secenegine bakabilirsiniz. ssh -i "<anahtar dosya path'i>" <kullanici_adi>@<Public DNS>

scp -i "<anahtar dosya path'i>" <config.py_dosyasina_path> <kullanici_adi>@<Public DNS>:<trade_logic_repo_path> scp -i "trade-bot.pem" /Users/sevki/Documents/repos/turkish-gekko-organization/trade-logic/config.py ubuntu@ec2-54-173-54-47.compute-1.amazonaws.com:/home/ubuntu/trade-logic

EC2'ye docker yukleme

Sirasiyla su komutlari calistirin curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh

Docker islemleri

Docker islemlerine baslamak icin Dockerfile dosyasinin dogru ve duzgun calistigindan emin olun

Docker dosyamizi container icinde cron calisacak hale getirdik. Bu sayade olayin akisi tamamen container icinde devam edecek. loglari da disari bir dosyaya yazacak bir kodu ekledik. Ayrintilar icin: https://github.com/mloning/minimal-python-app-using-docker-cron

Ek linkler: https://stackoverflow.com/questions/41782038/how-to-move-docker-containers-to-aws