სავაჭრო ბოტი თქვენს laptop-ზე ცუდი იდეაა ერთი მოსაწყენი მიზეზით: თქვენი laptop არ არის ონლაინ 24/7, ხოლო ბაზრები არიან. დახურეთ სახურავი ვაჭრობის შუაში და ბოტი წყვეტს ღია პოზიციის მართვას. Freqtrade — პოპულარული ღია-კოდის Python სავაჭრო ბოტი — აგებულია უმეთვალყურეოდ გასაშვებად, რაც ზუსტად ისაა, რისთვისაც პატარა VPS-ია. აი, რა სჭირდება მას რეალურად, როგორ დააყენოთ ის Docker-ით და გულწრფელი შეზღუდვები, რომლებსაც არავინ ახსენებს, სანამ არ წააწყდებით.
რატომ სერვერი, არა თქვენი მანქანა
ორი მიზეზი, ორივე პრაქტიკული:
- Uptime. ბოტს უნდა უყუროს ბაზარს და მართოს პოზიციები დღეღამის განმავლობაში. ყოველ ჯერზე, როცა თქვენი laptop იძინებს ან გადაიტვირთება, ბოტი ბრმაა — გამოტოვებული შესვლა, ან უარესი, ღია პოზიცია, რომელსაც არავინ უყურებს.
- შეყოვნება და სტაბილურობა. VPS ზის დატაცენტრის კავშირზე მდგრადი მარშრუტით ბირჟასთან. სახლის wifi jitter და NAT reset-ები არ ეხმარება ბოტს, რომელიც ფასზე რეაგირებს.
ეს არის იგივე ლოგიკა, რაც ნებისმიერი სავაჭრო ბოტის VPS-ზე გაშვების უკან — Freqtrade უბრალოდ კონკრეტულს ხდის მოთხოვნებს.
რა სჭირდება მას რეალურად
თავად Freqtrade მსუბუქია, მაგრამ იყავით რეალისტი დატვირთვაზე:
- ცოცხალი / dry-run ბოტი: 2 GB RAM კომფორტული ფსკერია. Docker image, რამდენიმე წყვილი, indicator-ები და SQLite trade DB ყველა ითხოვს ცოტა სივრცეს. $5 Micro (2 vCPU / 2 GB / 25 GB) სწორი საწყისი წერტილია. 1 GB-ს შეუძლია ერთი მარტივი სტრატეგიის გაშვება რამდენიმე წყვილზე, მაგრამ კიდესთან ახლოს ხართ.
- ბევრი წყვილი / რამდენიმე სტრატეგია: გადადით $8 Small-ზე (4 vCPU / 4 GB / 35 GB) — მეტი წყვილი ნიშნავს მეტ ერთდროულ indicator გამოთვლას და უფრო დიდ dataframe-ს მეხსიერებაში.
- დისკი: მოკრძალებული. image, თქვენი
user_dataდა trade DB კომფორტულად ჯდება 25 GB-ში. გადმოწერილი ისტორიული მონაცემი backtesting-ისთვის ერთადერთი რამაა, რომელიც იზრდება — და ის ძირითადად თქვენს ლოკალურ მანქანაზე ცხოვრობს (იხილეთ ქვემოთ).
დააყენეთ ის Docker Compose-ით
Docker არის შენარჩუნებული, ყველაზე ნაკლებად მტკივნეული გზა Freqtrade-ის გასაშვებად. ახალ box-ზე:
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
აიღეთ ოფიციალური compose ფაილი და შექმენით კონფიგი ინტერაქტიულად (ის გკითხავთ თქვენს ბირჟაზე, stake-სა და dry-run-ზე):
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
Jer dry-run — ყოველთვის
არასოდეს მიმართოთ ახალი სტრატეგია ნამდვილ ფულზე. Freqtrade ნაგულისხმევად dry-run-ია (paper trading) და უნდა დატოვოთ ის იქ, სანამ სტრატეგია არ დაამტკიცებს თავს ცოცხალ ბაზრის მონაცემებზე ცოტა ხანს. config.json-ში:
{
"dry_run": true,
"dry_run_wallet": 1000
}
გაუშვით ის და უყურეთ:
docker compose up -d
docker compose logs -f
restart: unless-stopped პოლიტიკა compose ფაილში აქ თქვენი systemd-ეკვივალენტია — Docker აბრუნებს ბოტს crash-ის ან სერვერის გადატვირთვის შემდეგ, ხელით ნაბიჯის გარეშე. (თუ გირჩევნიათ მისი გაშვება Docker-ის გარეთ, systemd unit Restart=always-ით იმავე საქმეს აკეთებს — იგივე პრინციპი, რაც ნებისმიერი ბოტის ცოცხლად შენარჩუნება.)
ბირჟის API გასაღებები — ნაწილი, რომელიც ხალხს ჰკბენს
აქ მიდის სავაჭრო დაყენება არასწორად ძვირად. ორი წესი, აუცილებელი:
- მხოლოდ trade ნებართვა. არასოდეს ჩართოთ withdrawal. თუ გასაღები გაჟონავს, ყველაზე ცუდი შემთხვევა არასასურველი ვაჭრობებია — არა თქვენი სახსრების გასვლა კარიდან. Freqtrade-ს არასოდეს სჭირდება withdrawal წვდომა.
- IP-whitelist გასაღები. უმეტესი ბირჟა გაძლევთ API გასაღების კონკრეტულ IP-ებთან მიბმის საშუალებას. ეს კონკრეტული მიზეზია dedicated-IP ტარიფზე გასაშვებად: გასაღები მუშაობს მხოლოდ თქვენი სერვერის ფიქსირებული მისამართიდან. NAT ტარიფზე ბოტი იზიარებს node-ის გამავალ IP-ს, რომელიც მხოლოდ თქვენი არ არის — კარგია ბოტის ფუნქციონირებისთვის, მაგრამ ვერ whitelist-ავთ სუფთად.
შეინახეთ გასაღებები config.json-ში, გახადეთ ის non-world-readable (chmod 600) და გაუშვით კონტეინერი non-root მომხმარებლად. და ჯერ დაბლოკეთ box — ახალი-VPS უსაფრთხოების ჩეკ-ლისტი ათ წუთს იღებს და ხურავს კარებს, რომლებსაც მნიშვნელობა აქვს.
Back up user_data
თქვენი სტრატეგიები, კონფიგი და trade ისტორია ყველა ცხოვრობს user_data-ში. ეს ის რამაა, რომლის დაკარგვაც არ გინდათ:
tar czf ft-backup-$(date +%F).tar.gz user_data
გამოიტანეთ ის სერვერიდან პერიოდულად (ან object storage-ში). trade DB-ის დაკარგვა ნიშნავს თქვენი წარმადობის ისტორიის დაკარგვას; მორგებული სტრატეგიის დაკარგვა ნიშნავს ოპტიმიზაციის ხელახლა გაკეთებას.
გულწრფელი შეზღუდვები
- Backtesting და hyperopt მძიმეა — გააკეთეთ ისინი ლოკალურად. ისინი ჩამოკიდებენ CPU-ს გახანგრძლივებულ მონაკვეთებში, და საზიარო, burst-ორიენტირებული VPS აგებულია spike-იანი დატვირთვებისთვის, არა საათობით ხანგრძლივი 100% დატვირთვისთვის (რაც ასევე ეჯახება მისაღები გამოყენების პოლიტიკას). ოპტიმიზაცია გააკეთეთ თქვენს საკუთარ მანქანაზე, განათავსეთ შედეგი ცოცხლად გასაშვებად. VPS არის ცოცხალი ბოტისთვის, არა კვლევისთვის.
- CPU საზიარო/burst-ია. შესანიშნავია ცოცხალი ბოტისთვის, რომელიც ძირითადად candle-ებს ელოდება და რეაგირებს; არასწორია წლის 1-წუთიანი მონაცემის hyperopt-ით დასაფქვავად.
- ერთი რეგიონი, CPU-only. სერვერი გერმანიაშია GPU-ის გარეშე. კარგია Freqtrade-სთვის (ის CPU/ლოგიკაა, არა ML training) — ღირს ცოდნა, თუ თქვენი სტრატეგია ეყრდნობა მძიმე ML მოდელს, რომელიც ისევ სჯობს ლოკალურად გაწვრთნას.
დასკვნა
Freqtrade VPS-ზე სწორი დაყენებაა ცოცხალი ბოტისთვის: $5 Micro ფოკუსირებული სტრატეგიისთვის, $8 Small, თუ ბევრ წყვილს უშვებთ, Docker Compose restart: unless-stopped-ით uptime-ისთვის და trade-only, IP-whitelisted API გასაღები, რომ გაჟონვამ ვერ დაგაცალოთ. შეინახეთ მძიმე backtesting და hyperopt თქვენს laptop-ზე, back up user_data და მიეცით სერვერს იმ ერთი რამის გაკეთების საშუალება, რაშიც კარგია — ონლაინ ყოფნა, სანამ ბაზარი მოძრაობს. რეგისტრაცია მხოლოდ-ელფოსტაა და იხდით USDC-ით ან USDT-ით; გამოყოფილი IP ერთი აფდგრეიდია, რომელიც აქ ღირს, წმინდად API-გასაღების whitelist-ისთვის.
მზად ხართ განთავსებისთვის? Freqtrade კომფორტულია Micro ტარიფზე; უფრო მძიმე backtest-ებისთვის ან ბევრი წყვილისთვის, გაზარდეთ Small-მდე.
კომენტარები
ჯერ არ არის კომენტარები. იყავით პირველი.