בוט מסחר על המחשב הנייד שלכם הוא רעיון גרוע מסיבה משעממת אחת: המחשב הנייד שלכם לא מקוון 24/7, ושווקים כן. סגרו את המכסה באמצע-עסקה והבוט מפסיק לנהל פוזיציה פתוחה. Freqtrade — בוט המסחר הפופולרי בקוד פתוח ב-Python — בנוי לרוץ ללא השגחה, וזה בדיוק מה ש-VPS קטן מיועד לו. הנה מה שהוא באמת צריך, איך להגדיר אותו עם Docker, והמגבלות הכנות שאף אחד לא מזכיר עד שאתם נתקלים בהן.
למה שרת, לא המכונה שלכם
שתי סיבות, שתיהן מעשיות:
- זמן פעילות. הבוט חייב לצפות בשוק ולנהל פוזיציות סביב השעון. בכל פעם שהמחשב הנייד שלכם נרדם או מאותחל, הבוט עיוור — כניסה שהוחמצה, או גרוע יותר, פוזיציה פתוחה שאף אחד לא צופה בה.
- השהיה ויציבות. VPS יושב על חיבור דאטה-סנטר עם נתיב יציב לבורסה. jitter של wifi ביתי ו-resets של NAT לא עוזרים לבוט שמגיב למחיר.
זו אותה לוגיקה מאחורי הרצת כל בוט מסחר על VPS — Freqtrade פשוט הופך את הדרישות לקונקרטיות.
מה הוא באמת צריך
Freqtrade עצמו קל, אבל היו מציאותיים לגבי ה-workload:
- בוט חי / dry-run: 2 GB RAM היא רצפה נוחה. ה-image של Docker, קומץ זוגות, אינדיקטורים, ומסד נתוני המסחר של SQLite כולם רוצים קצת מרווח. $5 Micro (2 vCPU / 2 GB / 25 GB) היא נקודת ההתחלה הנכונה. 1 GB יכול להריץ אסטרטגיה פשוטה בודדת על מעט זוגות, אבל אתם קרובים יותר לקצה.
- הרבה זוגות / כמה אסטרטגיות: עלו ל-$8 Small (4 vCPU / 4 GB / 35 GB) — יותר זוגות אומר יותר חישוב אינדיקטורים בו-זמני ו-dataframe גדול יותר בזיכרון.
- דיסק: צנוע. ה-image, ה-
user_dataשלכם, ומסד נתוני המסחר נכנסים בנוחות ב-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 (מסחר-נייר) וכדאי שתשאירו אותו שם עד שהאסטרטגיה הוכיחה את עצמה על נתוני שוק חיים לזמן מה. ב-config.json:
{
"dry_run": true,
"dry_run_wallet": 1000
}
הפעילו אותו וצפו:
docker compose up -d
docker compose logs -f
מדיניות ה-restart: unless-stopped בקובץ ה-compose היא שקולת-ה-systemd שלכם כאן — Docker מחזיר את הבוט אחרי קריסה או אתחול שרת, ללא צעד ידני. (אם אתם מעדיפים להריץ אותו מחוץ ל-Docker, unit של systemd עם Restart=always עושה את אותה עבודה — אותו עיקרון כמו שמירת כל בוט חי.)
מפתחות 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
משכו את זה מהשרת מדי פעם (או לאחסון אובייקטים). איבוד מסד נתוני המסחר אומר איבוד היסטוריית הביצועים שלכם; איבוד אסטרטגיה מכווננת אומר לעשות מחדש את האופטימיזציה.
המגבלות הכנות
- בקטסטינג ו-hyperopt כבדים — עשו אותם מקומית. הם תופסים CPU לפרקים ממושכים, ו-VPS משותף ומכוון-burst בנוי ל-workloads קוצניים, לא לשעות של עומס 100% מתמשך (שגם רץ נגד מדיניות השימוש-המקובל). אופטימזו על המכונה שלכם, פרסו את התוצאה לרוץ חי. ה-VPS הוא לבוט החי, לא למחקר.
- CPU משותף/burst. נהדר לבוט חי שבעיקר מחכה לנרות ומגיב; לא נכון לטחון שנה של נתוני-דקה דרך hyperopt.
- אזור אחד, CPU-בלבד. השרת בגרמניה ללא GPU. בסדר ל-Freqtrade (זה CPU/לוגיקה, לא אימון ML) — שווה לדעת אם האסטרטגיה שלכם נשענת על מודל ML כבד, שגם הוא טוב יותר לאימון מקומי.
שורה תחתונה
Freqtrade על VPS הוא ההגדרה הנכונה לבוט החי: $5 Micro לאסטרטגיה ממוקדת, $8 Small אם אתם מריצים הרבה זוגות, Docker Compose עם restart: unless-stopped לזמן פעילות, ומפתח API מסחר-בלבד עם רשימת-היתר-IP כך שדליפה לא תוכל לרוקן אתכם. שמרו את הבקטסטינג וה-hyperopt הכבדים על המחשב הנייד שלכם, גבו את user_data, ותנו לשרת לעשות את הדבר האחד שהוא טוב בו — להישאר מקוון בזמן שהשוק זז. ההרשמה באימייל-בלבד ואתם משלמים ב-USDC או USDT; IP ייעודי הוא השדרוג האחד ששווה כאן, טהורות בשביל רשימת-ההיתר של מפתח ה-API.
מוכנים לפרוס? Freqtrade נוח על תוכנית Micro; לבקטסטים כבדים יותר או הרבה זוגות, עלו בגודל ל-Small.
תגובות
אין עדיין תגובות. היו הראשונים.