Dizüstünüzde bir trading bot, sıkıcı tek bir nedenle kötü bir fikirdir: dizüstünüz 7/24 çevrimiçi değildir, piyasalar ise öyledir. Kapağı işlem ortasında kapatın ve bot açık bir pozisyonu yönetmeyi bırakır. Freqtrade — popüler açık kaynaklı Python trading botu — gözetimsiz çalışmak için tasarlanmıştır ve küçük bir VPS tam da bunun içindir. İşte gerçekte neye ihtiyacı olduğu, Docker ile nasıl kurulacağı ve takılana kadar kimsenin bahsetmediği dürüst sınırlar.
Neden kendi makinen değil, bir sunucu
İki sebep, ikisi de pratik:
- Çalışma süresi. Bot piyasayı gün boyu izlemeli ve pozisyonları yönetmelidir. Dizüstünüz her uyuduğunda ya da yeniden başladığında bot kördür — kaçırılmış bir giriş ya da daha kötüsü, kimsenin izlemediği açık bir pozisyon.
- Gecikme ve kararlılık. Bir VPS, borsaya sabit bir rotayla bir veri merkezi bağlantısında durur. Ev wifi'sinin dalgalanması ve NAT sıfırlamaları, fiyata tepki veren bir bota yardımcı olmaz.
Bu, herhangi bir trading botunu bir VPS'te çalıştırmanın arkasındaki mantığın aynısı — Freqtrade sadece gereksinimleri somutlaştırıyor.
Gerçekte neye ihtiyacı var
Freqtrade'in kendisi hafiftir ama iş yükü konusunda gerçekçi ol:
- Canlı / dry-run bot: 2 GB RAM rahat bir tabandır. Docker imajı, birkaç parite, göstergeler ve SQLite işlem veritabanı biraz pay ister. Bir $5 Micro (2 vCPU / 2 GB / 25 GB) doğru başlangıç noktasıdır. 1 GB, birkaç paritede tek basit stratejiyi çalıştırabilir ama sınıra daha yakınsın.
- Çok parite / birden çok strateji: bir $8 Small (4 vCPU / 4 GB / 35 GB)'e yüksel — daha çok parite, daha çok eşzamanlı gösterge hesabı ve bellekte daha büyük bir dataframe demektir.
- Disk: mütevazı. İmaj,
user_data'nız ve işlem veritabanı 25 GB'a rahat sığar. Backtest için indirilen geçmiş veri, büyüyen tek şeydir — ve o da çoğunlukla yerel makinende yaşar (aşağıya bak).
Docker Compose ile kur
Docker, Freqtrade'i çalıştırmanın bakımı yapılan, en az sancılı yoludur. Taze bir kutuda:
sudo apt update && sudo apt install -y docker.io docker-compose-v2
mkdir ~/ft && cd ~/ft
docker run --rm -v "$(pwd)/user_data:/freqtrade/user_data" \
freqtradeorg/freqtrade:stable create-userdir --userdir user_data
Resmi compose dosyasını al ve etkileşimli olarak bir config oluştur (borsanı, stake'ini ve dry-run'ı soracak):
curl -s https://raw.githubusercontent.com/freqtrade/freqtrade/stable/docker-compose.yml -o docker-compose.yml
docker compose run --rm freqtrade new-config --config user_data/config.json
Önce dry-run — her zaman
Taze bir stratejiyi asla gerçek paraya yöneltme. Freqtrade varsayılan olarak dry-run'a (kağıt üzerinde işlem) düşer ve strateji bir süre canlı piyasa verisinde kendini kanıtlayana kadar orada bırakmalısın. config.json'da:
{
"dry_run": true,
"dry_run_wallet": 1000
}
Başlat ve izle:
docker compose up -d
docker compose logs -f
Compose dosyasındaki restart: unless-stopped politikası, burada senin systemd karşılığın — Docker, bir çökme ya da sunucu yeniden başlatmasından sonra botu geri getirir, elle bir adım yok. (Docker dışında çalıştırmayı tercih ediyorsan, Restart=always içeren bir systemd birimi aynı işi görür — herhangi bir botu ayakta tutmakla aynı ilke.)
Borsa API anahtarları — insanları ısıran kısım
Bir trading kurulumunun pahalıya patladığı yer burasıdır. İki kural, pazarlıksız:
- Yalnızca işlem izni. Asla çekimi etkinleştirme. Anahtar sızarsa en kötü senaryo istenmeyen işlemlerdir — fonlarınızın kapıdan yürüyüp gitmesi değil. Freqtrade'in hiçbir zaman çekim erişimine ihtiyacı yoktur.
- Anahtarı IP whitelist ile kilitle. Çoğu borsa, bir API anahtarını belirli IP'lere bağlamana izin verir. Bu, bir özel IP planında çalışmak için somut bir sebeptir: anahtar yalnızca sunucunun sabit adresinden çalışır. Bir NAT planında bot düğümün giden IP'sini paylaşır, o da tek başına senin değildir — botun çalışması için sorun değil, ama onu düzgün whitelist edemezsin.
Anahtarları config.json'da tut, herkese açık okunmaz yap (chmod 600) ve konteyneri root olmayan bir kullanıcı olarak çalıştır. Ve önce kutuyu kilitle — yeni VPS güvenlik kontrol listesi on dakika sürer ve önemli kapıları kapatır.
user_data'yı yedekle
Stratejileriniz, config'iniz ve işlem geçmişinizin hepsi user_data'da yaşar. Kaybetmek istemeyeceğiniz şey budur:
tar czf ft-backup-$(date +%F).tar.gz user_data
Onu sunucudan düzenli olarak (ya da nesne depolamaya) çek. İşlem veritabanını kaybetmek performans geçmişini kaybetmek demektir; ayarlanmış bir stratejiyi kaybetmek optimizasyonu baştan yapmak demektir.
Dürüst sınırlar
- Backtest ve hyperopt ağırdır — onları yerelde yap. CPU'yu uzun süre doldururlar ve paylaşımlı, patlamaya yönelik bir VPS ani iş yükleri için yapılmıştır, saatlerce sürekli %100 yük için değil (bu da kabul edilebilir kullanım politikasına takılır). Kendi makinende optimize et, sonucu canlı çalıştırmak için dağıt. VPS canlı bot içindir, araştırma için değil.
- CPU paylaşımlı/patlamalıdır. Çoğunlukla mumları bekleyip tepki veren bir canlı bot için harika; bir yıllık 1 dakikalık veriyi hyperopt'tan geçirmek için yanlış.
- Tek bölge, yalnızca CPU. Sunucu Almanya'dadır ve GPU yoktur. Freqtrade için sorun değil (bu CPU/mantıktır, ML eğitimi değil) — stratejin ağır bir ML modeline dayanıyorsa bilmekte fayda var, o da yine yerelde daha iyi eğitilir.
Sonuç
Bir VPS'te Freqtrade, canlı bot için doğru kurulumdur: odaklı bir strateji için $5 Micro, çok parite çalıştırıyorsan $8 Small, çalışma süresi için restart: unless-stopped ile Docker Compose ve bir sızıntının seni boşaltamaması için yalnızca işlem izinli, IP whitelist'li bir API anahtarı. Ağır backtest ve hyperopt'u dizüstünde tut, user_data'yı yedekle ve sunucunun iyi olduğu tek şeyi yapmasına izin ver — piyasa hareket ederken çevrimiçi kalmak. Kayıt yalnızca e-postayla yapılır ve USDC ya da USDT ile ödersin; özel IP, burada değmeye değer tek yükseltmedir, tamamen API anahtarı whitelist'i için.
Dağıtmaya hazır mısın? Freqtrade bir Micro planında rahattır; daha ağır backtest'ler ya da çok parite için Small'a yüksel.
Yorumlar
Henüz yorum yok. İlk olun.