आपके लैपटॉप पर एक ट्रेडिंग बॉट एक उबाऊ वजह से बुरा विचार है: आपका लैपटॉप 24/7 ऑनलाइन नहीं है, और बाज़ार हैं। ट्रेड के बीच ढक्कन बंद करें और बॉट एक खुली पोज़िशन प्रबंधित करना बंद कर देता है। Freqtrade — लोकप्रिय ओपन-सोर्स Python ट्रेडिंग बॉट — बिना निगरानी चलने के लिए बना है, जो ठीक वही है जिसके लिए एक छोटा VPS है। यहाँ है कि इसे असल में क्या चाहिए, इसे Docker से कैसे सेट करें, और वे ईमानदार सीमाएँ जिनका कोई ज़िक्र नहीं करता जब तक आप उनसे न टकराएँ।
एक सर्वर क्यों, आपकी मशीन नहीं
दो वजहें, दोनों व्यावहारिक:
- अपटाइम। बॉट को चौबीसों घंटे बाज़ार देखना और पोज़िशन प्रबंधित करनी होती है। हर बार जब आपका लैपटॉप सोता या रीबूट होता है, बॉट अंधा होता है — एक चूका प्रवेश, या बदतर, एक खुली पोज़िशन जिसे कोई नहीं देख रहा।
- लेटेंसी और स्थिरता। एक VPS एक्सचेंज से एक स्थिर रूट वाले डेटासेंटर कनेक्शन पर बैठता है। घरेलू wifi jitter और NAT रीसेट एक ऐसे बॉट की मदद नहीं करते जो क़ीमत पर प्रतिक्रिया करता है।
यही तर्क किसी भी ट्रेडिंग बॉट को VPS पर चलाने के पीछे है — Freqtrade बस आवश्यकताओं को ठोस बना देता है।
इसे असल में क्या चाहिए
Freqtrade ख़ुद हल्का है, पर कार्यभार के बारे में यथार्थवादी रहें:
- Live / dry-run बॉट: 2 GB RAM एक आरामदेह तल है। Docker इमेज, मुट्ठी भर पेयर, इंडिकेटर, और SQLite ट्रेड DB सब थोड़ी गुंजाइश चाहते हैं। एक $5 Micro (2 vCPU / 2 GB / 25 GB) सही शुरुआती बिंदु है। 1 GB कुछ पेयर पर एक अकेली सरल रणनीति चला सकता है, पर आप किनारे के क़रीब हैं।
- कई पेयर / कई रणनीतियाँ: एक $8 Small (4 vCPU / 4 GB / 35 GB) पर बढ़ें — ज़्यादा पेयर मतलब ज़्यादा समवर्ती इंडिकेटर गणना और मेमोरी में एक बड़ा dataframe।
- डिस्क: मामूली। इमेज, आपका
user_data, और ट्रेड DB 25 GB में आराम से आते हैं। बैकटेस्टिंग के लिए डाउनलोड किया गया ऐतिहासिक डेटा ही एकमात्र चीज़ है जो बढ़ती है — और वह ज़्यादातर आपकी स्थानीय मशीन पर रहता है (नीचे देखें)।
इसे Docker Compose से सेट करें
Docker Freqtrade चलाने का अनुरक्षित, कम-से-कम-दर्दनाक तरीक़ा है। एक ताज़ा बॉक्स पर:
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
पहले dry-run — हमेशा
एक ताज़ा रणनीति को कभी असली पैसे पर न लगाएँ। Freqtrade डिफ़ॉल्ट रूप से dry-run (पेपर ट्रेडिंग) पर है और आपको इसे तब तक वहीं छोड़ना चाहिए जब तक रणनीति कुछ समय live बाज़ार डेटा पर ख़ुद को साबित न कर दे। config.json में:
{
"dry_run": true,
"dry_run_wallet": 1000
}
इसे शुरू करें और देखें:
docker compose up -d
docker compose logs -f
compose फ़ाइल में restart: unless-stopped नीति यहाँ आपका systemd-समकक्ष है — Docker बॉट को क्रैश या सर्वर रीबूट के बाद वापस लाता है, कोई मैनुअल क़दम नहीं। (अगर आप इसे Docker के बाहर चलाना पसंद करते हैं, तो Restart=always वाला एक systemd यूनिट वही काम करता है — वही सिद्धांत जो किसी भी बॉट को ज़िंदा रखने का है।)
एक्सचेंज API कुंजियाँ — वह हिस्सा जो लोगों को काटता है
यहीं एक ट्रेडिंग सेटअप महँगे तरीक़े से बिगड़ता है। दो नियम, ग़ैर-समझौता योग्य:
- सिर्फ़ ट्रेड अनुमति। विदड्रॉल कभी सक्षम न करें। अगर कुंजी लीक हो, तो सबसे बुरी स्थिति अवांछित ट्रेड है — न कि आपकी रक़म दरवाज़े से बाहर चलना। Freqtrade को कभी विदड्रॉल एक्सेस नहीं चाहिए।
- कुंजी को IP-व्हाइटलिस्ट करें। ज़्यादातर एक्सचेंज आपको एक API कुंजी को ख़ास IP से बाँधने देते हैं। यह एक डेडिकेटेड-IP प्लान पर चलने की एक ठोस वजह है: कुंजी सिर्फ़ आपके सर्वर के तय पते से काम करती है। एक NAT प्लान पर बॉट नोड का आउटबाउंड IP साझा करता है, जो अकेला आपका नहीं — बॉट के काम करने के लिए ठीक, पर आप उसे साफ़-सुथरे तरीक़े से व्हाइटलिस्ट नहीं कर सकते।
कुंजियों को config.json में रखें, इसे ग़ैर-सर्व-पठनीय बनाएँ (chmod 600), और कंटेनर को ग़ैर-root उपयोगकर्ता के रूप में चलाएँ। और पहले बॉक्स को बंद करें — नई-VPS सुरक्षा चेकलिस्ट दस मिनट लेती है और उन दरवाज़ों को बंद करती है जो मायने रखते हैं।
user_data का बैकअप लें
आपकी रणनीतियाँ, कॉन्फ़िग, और ट्रेड इतिहास सब user_data में रहते हैं। यही वह चीज़ है जिसे आप खोना नहीं चाहते:
tar czf ft-backup-$(date +%F).tar.gz user_data
उसे समय-समय पर सर्वर से खींचें (या ऑब्जेक्ट स्टोरेज में)। ट्रेड DB खोना मतलब अपना प्रदर्शन इतिहास खोना; एक ट्यून की गई रणनीति खोना मतलब अनुकूलन दोबारा करना।
ईमानदार सीमाएँ
- बैकटेस्टिंग और hyperopt भारी हैं — उन्हें स्थानीय करें। वे लंबे खिंचावों के लिए CPU पिन करते हैं, और एक साझा, बर्स्ट-उन्मुख VPS स्पाइकी कार्यभार के लिए बना है, घंटों के निरंतर 100% लोड के लिए नहीं (जो स्वीकार्य-उपयोग नीति के विरुद्ध भी जाता है)। अपनी मशीन पर अनुकूलित करें, नतीजे को live चलाने डिप्लॉय करें। VPS live बॉट के लिए है, शोध के लिए नहीं।
- CPU साझा/बर्स्ट है। एक live बॉट के लिए बढ़िया जो ज़्यादातर कैंडल का इंतज़ार करता और प्रतिक्रिया करता है; hyperopt के ज़रिए एक साल का 1-मिनट डेटा पीसने के लिए ग़लत।
- एक क्षेत्र, सिर्फ़-CPU। सर्वर जर्मनी में है, बिना GPU। Freqtrade के लिए ठीक (यह CPU/लॉजिक है, ML प्रशिक्षण नहीं) — जानने लायक अगर आपकी रणनीति एक भारी ML मॉडल पर टिकी हो, जो फिर स्थानीय बेहतर प्रशिक्षित होती है।
लब्बोलुआब
VPS पर Freqtrade live बॉट के लिए सही सेटअप है: एक केंद्रित रणनीति के लिए एक $5 Micro, अगर आप कई पेयर चलाते हैं तो एक $8 Small, अपटाइम के लिए restart: unless-stopped वाला Docker Compose, और एक सिर्फ़-ट्रेड, IP-व्हाइटलिस्टेड API कुंजी ताकि एक लीक आपको न निचोड़ सके। भारी बैकटेस्टिंग और hyperopt अपने लैपटॉप पर रखें, user_data का बैकअप लें, और सर्वर को वह एक काम करने दें जिसमें वह अच्छा है — बाज़ार के चलते ऑनलाइन रहना। साइनअप सिर्फ़-ईमेल है और आप USDC या USDT में भुगतान करते हैं; एक डेडिकेटेड IP यहाँ एकमात्र अपग्रेड है जो इसके लायक है, विशुद्ध रूप से API-कुंजी व्हाइटलिस्ट के लिए।
डिप्लॉय के लिए तैयार? Freqtrade एक Micro प्लान पर आरामदेह है; भारी बैकटेस्ट या कई पेयर के लिए, Small तक बढ़ें।
टिप्पणियाँ
अभी तक कोई टिप्पणी नहीं। पहले बनें।