פיתוח בוט מסחר: מה נשבר במרג'ין
בחשבון מרג'ין הפוזיציה והסיכון חיים במקומות שונים: נפח, מינוף, שיעור מימון ומחיר חיסול מחושבים מחדש על ידי הבורסה בכל תנועת מחיר. כל עוד הכניסה מאושרת ידנית, בין חישוב האות לביצוע בפועל עוברות מכמה שניות ועד דקה — די בכך כדי שהשוק יעבור את הרמה שבה חושבה רווחיות העסקה.
החלקת מחיר במרג'ין יקרה יותר מאשר בחשבון ספוט: היקף הטעות מוכפל במינוף. טעויות כניסה לפוזיציה רק לעתים רחוקות נראות כמו תחזית שגויה — לעתים קרובות יותר מדובר בביצוע במחיר גרוע, מילוי חלקי והשלמת היתר לפי השוק, כאשר הנזילות בספר הפקודות אינה מספקת.
היקר מכל הוא חוסר סנכרון בין הפוזיציה לסיכון. הבורסה עשויה לבצע רק חלק מהנפח, להעלות דרישות מרג'ין או לסגור בכוח חלק מהפוזיציה, בעוד הלוגיקה שמחשבת סיכון ממשיכה לראות את הגודל המקורי.
כתוצאה מכך פקודת סטופ עומדת לא במקום הנכון, עסקת הגנה אינה תואמת בנפח, והפוזיציה הבאה נפתחת במינוף שכבר השתנה.
לכן בוט מסחר למסחר במרג'ין מתוכנן לא מהאותות, אלא ממודל הסיכון: איך הוא רואה את הפוזיציה בפועל, באיזה השהיה הוא מחשב מחדש את מחיר החיסול ומה הוא עושה כאשר הביצוע סוטה מהתוכנית. נבחן כיצד זה נסגר.
מה משתנה כאשר ההחלטות מתקבלות על ידי אלגוריתם
מסחר ידני נתקע בזמן התגובה לאות: עד שהמפעיל ראה תנועה, אישר כניסה, הציב פקודה וצירף אליה פקודת הגנה, המחיר כבר זז, והכניסה בוצעה גרוע יותר.
הבוט שולח את כל המבנה — כניסה, סטופ, טייק, ובמידת הצורך זוג מכסה — כמערכת פקודות אחת, ולכן העסקה אינה נשארת «חשופה» גם בעת ניתוק תקשורת ברגע ההפעלה. צמצום הפעולות הידניות כאן אינו מטרה בפני עצמה, אלא תוצר לוואי: המפעיל שומר על שליטה בפרמטרים, ולא על עבודה מכנית.
ניהול סיכון הפוזיציה עובר מראשו של הסוחר אל הקוד. גודל הפוזיציה מחושב לפי התנודתיות הנוכחית והמרחק לרמה, המינוף יורד כשהפסד מצטבר גדל, ובסמוך לסף מרג'ין תחזוקה הפוזיציה מצטמצמת בחלקים במקום חיסול מלא. סוג הכשלים שמאבדים משתנה: במקום אובדן כל המרג'ין בעסקה אחת — הקטנה מתוכננת של הנפח.
יציבות הביצוע נשענת על מצב ששורד אתחול. הבוט מנהל יומן של פוזיציות פתוחות ופקודות פעילות, בעת ההפעלה נבדק מול הבורסה לפי היתרה והפקודות בפועל, ואינו שולח כפילויות. פסקי זמן ברשת ומגבלות הבורסה מטופלים בניסיונות חוזרים עם השהיה גדלה, ולא בקריסת התהליך.
לפי נתוני הבנק להסדרי סליקה בינלאומיים, חלקם של אסטרטגיות אלגוריתמיות במחזור המסחר בבורסות קריפטו נמצא בעלייה מתמדת — מסחר ידני מתחרה עם רובוטים במהירות שלהם. נבחן מה בדיוק אנחנו מבצעים אוטומציה ואיך זה בנוי.
אפשרויות ביצוע: מחצי-ידני ועד אוטונומי
את מצב העבודה של הבוט קובעת לא האסטרטגיה, אלא מי לוחץ על כפתור הכניסה וכמה זמן הסוחר מוכן להחזיק את הפוזיציה תחת פיקוח. אותו מודול חישוב — יצירת אות, חישוב גודל פוזיציה, לוגיקת ליווי — מתחבר לשכבות ביצוע שונות, ומשתנה רק מה שקורה בין החישוב לשליחת הפקודה.
לפני הבחירה מקבעים שלושה פרמטרים: הרשאות מפתח מסחר (מסחר ללא משיכת כספים), מינוף מרבי לכלי וסף הפסד לסשן. מהם תלוי איזו אפשרות אוטומציה בטוחה, ואיזו תשאיר את הפוזיציה ללא השגחה בעת ניתוק תקשורת.
השוואת מצבים
| אפשרות | מתי מתאימה | מגבלות |
|---|---|---|
| אותות, עם המלצות | ההשערה נבדקת על פיד חי, ההחלטות נשארות בידי האדם | השהיה בין האות לכניסה יוצרת החלקת מחיר; הביצוע תלוי במשמעת הסוחר |
| מסחר חצי-ידני | הכניסה מאושרת ידנית, אך ליווי הפוזיציה אוטומטי: הזזת סטופ, סגירות חלקיות, העברת מינוף | דורש נוכחות ליד המסך ברגע האות; אישור שהוחמץ — אין עסקה |
| קו מסחר אוטונומי עם מגבילים | הלוגיקה מתוארת פורמלית, מגבלות הסיכון נבדקו על נתונים היסטוריים | מגבילים שאינם מכוילים הופכים ניתוק חיבור לפוזיציה פתוחה ללא ניהול |
| מצב צפייה (צל) | יש צורך בסטטיסטיקה על האסטרטגיה ללא סיכון אמיתי | אינו בודק החלקת מחיר, עומק ספר הפקודות וביצוע חלקי של פקודות |
מגבילי סיכון מציבים בשני מקומות — בלוגיקת הבוט ובצד זירת המסחר: גודל פוזיציה מרבי, מספר כניסות מרבי לסשן, סגירה אוטומטית בהגעה לסף הפסד. המעבר בין מצבים נשאר מיידי: קו אוטונומי מועבר לחצי-ידני ללא אתחול חלק החישוב, והסטטיסטיקה שנצברה על עסקאות נשמרת.
כיצד בנויה הטמעה: שלבי עבודה הנדסית
סדר העבודות כפוף ללוגיקה אחת: תחילה ממסדים את כלל הכניסה והיציאה, אחר כך בונים תשתית ביצוע, ורק לאחר מכן בודקים התנהגות על נתונים. רצף הפוך הופך את הגדרת ממשקי הבורסה להתאמה להתנהגות שאינה מתוארת, ואת התוצאה — לבלתי ניתנת לשחזור.
- אבחון אסטרטגיה. מקבעים תנאי כניסה ויציאה, גודל פוזיציה, מינוף, כללי מיצוע והפסקת מסחר. כל החלטה צריכה להיות חד-משמעית — בלי «נסתכל על השוק ונחליט».
- תרשים אינטראקציה עם הבורסה. מגדירים את הערוצים הנדרשים: זרם נתונים על ספר הפקודות ועסקאות, בקשות להציב, לשנות ולבטל פקודה, קריאת יתרה ופוזיציות. בנפרד מתכננים התאוששות לאחר ניתוק תקשורת — הבוט קורא מחדש את מצב החשבון, ולא מנחש אותו.
- הגדרת ממשקי הבורסה. הרשאות מפתחות, מגבלות קצב בקשות, טיפול בכשלים וניסיונות חוזרים, הפרדה בין גישת מסחר לגישת שירות. אם לבורסה יש סביבת בדיקה, עובדים בה עד לפקודה אמיתית ראשונה.
- בדיקה על נתונים היסטוריים. הרצה על שערים עם עמלות, עלות החזקת פוזיציה, החלקת מחיר ועומק ספר פקודות אמיתי. מסתכלים לא על תשואה, אלא על הפסד מקסימלי, אורך רצפי הפסדים ורגישות להשהיה.
- בדיקה בסביבת בדיקה על זרם חי. תופסים חוסר סנכרון בנתונים, כשלי ממשקים, ביצוע חלקי והתנהגות בעת ניתוק תקשורת.
- מסירה. מאגר קוד, קונפיגורציות, יומני עסקאות, מדדים ותקנון עצירת מסחר. מריצים תרחישי כשל יחד עם האחראי על המערכת.
מה נשאר אצל הלקוח: קונפיגורציות ותקנונים
לאחר המסירה הבוט חי בלעדינו: את האסטרטגיה מכווננים, את המגבלות מתקנים, מפתחות מחליפים. כדי שזה לא יהפוך לשחזור הלוגיקה מתוך הקוד, מעבירים יחד עם הבוט סט של נספחים.
- קונפיגורציית אסטרטגיה — פרמטרי כניסה ויציאה, גודל פוזיציה, סט כלים ומצב מרג'ין מוצאים לקובץ נפרד: החלפת תרחיש אינה מחייבת שינוי בקוד.
- מגבלות וכללי סטופ — תקרת פוזיציה ומינוף, מגבלת הפסד יומית, עצירה אוטומטית לפי הפסד מצטבר; הערכים נבדקים לפני שליחת הפקודה, ולא אחריה.
- הרשאות גישה למפתחות — מפתחות נפרדים לבוט, גישת מסחר ללא משיכת כספים, קישור לכתובת ונוהל החלפה מתוכננת.
- תרשים אינטראקציה עם הבורסה — אילו בקשות נשלחות, היכן נמצאים הלוגים, באילו נקודות הבוט עוצר בעת ניתוק תקשורת.
- תיעוד הבוט — תיאור מודולים, פורמטים של קונפיגים, רשימת תלויות חיצוניות ונקודות כשל.
- תקנון ליווי — באיזו תדירות פרמטרים נבחנים מחדש, מי מאשר שינויים, מה לעשות בעת עדכון כללי הבורסה.
- הוראות שחזור — כיצד להעלות את הבוט מגיבוי, היכן נשמרות גרסאות הקונפיגים וכיצד לחזור לסט הקודם.
עריכות בקונפיגורציה עוברות דרך ניהול גרסאות: רואים מי, מתי ואיזו מגבלה שינה, ואיך זה השתקף בתוצאה. מערך כזה מאפשר להעביר את התפעול לצוות שלכם או לחזור אלינו נקודתית — בלי לנתח מחדש את הלוגיקה.
תרגול: אסטרטגיית מרג'ין ללא כניסות ידניות
לקוח — מנהל הון מסחר בזוגות מרג'ין — החזיק אסטרטגיה בביצוע ידני: ראה אות על הגרף, הרכיב כניסה ביד, הציב מינוף לפי תחושה. במספר זירות, כולל Binance, הדבר נתן איכות ביצוע שונה: בזמן שפקודה אחת אושרה, המחיר זז, וחלק מהכניסות בוצעו כבר נגד התנועה.
העברנו את הלוגיקה לבוט: כללי כניסה ויציאה חלקית, חישוב גודל פוזיציה לפי תנודתיות הכלי, מגבלת מינוף קשיחה וסטופ הגנה שמוצב בו-זמנית עם פקודת השוק, ולא אחריה. כבלוק נפרד — בקרת סיכון ברמת החשבון: כאשר סך המרג'ין גבוה מהסף, כניסות חדשות נחסמות, ומחיר החיסול המחושב נבדק לפני כל עסקה.
| מדד | לפני | אחרי |
|---|---|---|
| שיעור פעולות ידניות | 100% | 5% (החלפת מגבלות) |
| השהיית תגובה לאות | 30-40 שניות | שברירי שנייה |
| כניסות שגויות בחודש | 9-12 | 1 |
| הפסד מקסימלי | 18% | 6% |
האסטרטגיה לא הפכה לרווחית «מעצמה» — סוג הטעויות השתנה. נעלמו כניסות שלא לפי הכללים, סטופים מאוחרים ופוזיציות שנפתחו על רגשות לאחר רצף הפסדים, ולכן מספר הכניסות השגויות ירד כמעט לאפס.
ההפסד המצטבר הצטמצם לא מפני שהשוק נעשה רגוע יותר, אלא מפני שגודל הפוזיציה הפסיק להיות תלוי במצב רוח: הסיכון לעסקה מחושב מראש ובאופן זהה לכל אות.
מה לעשות אם הבוט כבר עובד בחשבון אמיתי
אם הלוגיקה כבר סוחרת בחשבון אמיתי, «נעצור ליומיים ונסתכל» הוא התרחיש היקר ביותר. ברגע העצירה נשארות פוזיציות פתוחות: אף אחד לא מושך פקודות הגנה, לא מסיר פקודות תקועות ולא מגיב לתנועת השוק. לכן בודקים יציבות על עותק של הזרם — אותם נתונים ואותה לוגיקה, אך בלי ביצוע בחשבון.
שדרוג פתרון קיים מתחיל בבדיקה: מה הבוט שורד בעצמו, היכן נשמר מצב הפוזיציות, מה יקרה בעת ניתוק ערוץ והתאוששותו. אם המצב חי רק בזיכרון התהליך, כל אתחול מחדש של הלוגיקה משמעו אובדן תמונת החשבון — את זה אנחנו מתקנים ראשון.
ההגנה מפני כשלי תקשורת בנויה בשתי שכבות. מצד הבוט — בקרת חיות הערוץ והשוואת פוזיציות מול הבורסה לאחר ההתאוששות. מצד המסחר — מגבילים שמופעלים ללא תלות בלוגיקה: לפי מספר הפוזיציות הפתוחות בו-זמנית, לפי הפסד מצטבר, לפי סטיית מחיר. אז ניתוק תקשורת נחווה כהפסקה, ולא כפוזיציה ללא השגחה.
הפעלה מחדש של הלוגיקה לא צריכה להיות עצירת מסחר. גרסה חדשה מרימה את המצב, משווה פוזיציות מול הבורסה ורק אחר כך ממשיכה לעבוד; בעת אי-התאמה היא עוברת למצב בטוח ומודיעה לכם, ולא מנחשת.
כך השדרוג מתבצע לאורך חשבון פעיל: בדיקת יציבות, מגבילים, עדכון בחלקים. תארו כיצד בנויה הלוגיקה שלכם כעת — נחזור עם הערכה ותוכנית מעבר.
ספקות טכניים נפוצים לפני ההתחלה
לפני הפעלה בחשבון אמיתי, הספקות הטכניים של הלקוח הם בדרך כלל אותם ספקות: מה יקרה בעת ניתוק תקשורת, מי יסגור את הפוזיציות אם התהליך קרס, וכמה קשיח הבוט בשמירה על סיכון. להלן תשובות לשאלות שנבדקות ראשונות.
מה יקרה בעת ניתוק תקשורת או קריסת תהליך?
פקודות הגנה חיות בצד הבורסה ומופעלות גם כאשר התהליך שלנו אינו זמין. לאחר שחזור התקשורת הבוט משווה את המצב המקומי מול הבורסה וממשיך מהנקודה בפועל: בלי כפילויות כניסה ופוזיציות «תקועות» ללא סטופ.
כיצד עובד מגבלת הפסד?
מגבלה לעסקה ומגבלה יומית נבדקות לפני כל פקודה. בהגעה אליהן הבוט מפסיק לפתוח פוזיציות חדשות וסוגר את הנוכחיות לפי השוק, ולכן רצף כושל אחד לא מאיץ את ההפסד המצטבר.
עד כמה בטוחים מפתחות הגישה?
אנחנו משתמשים במפתחות עם הרשאת מסחר וללא הרשאת משיכת כספים. הם נמצאים באחסון מאובטח, ולא בקוד ובלוגים; הגישה מוגבלת לפי כתובות ומתחלפת לפי נוהל החלפה.
האם אפשר לשנות פרמטרים של האסטרטגיה?
גודל פוזיציה, מינוף, ספי כניסה ויציאה מוצאים לקובץ פרמטרים ומתוקנים ללא בנייה מחדש. יש הרצה יבשה: פקודות מחושבות אך אינן נשלחות לבורסה.
כיצד נבדק בוט מסחר לפני חשבון אמיתי?
תחילה הרצה על נתונים היסטוריים, לאחר מכן סביבת בדיקה של הבורסה. הפעלה אמיתית — עם גודל פוזיציה מינימלי והשוואת עסקאות בפועל מול הצפויות.
נדון במשימה ונחזור עם תוכנית הטמעה
כדי שהערכת העבודה תהיה עניינית ולא טווח «בעין», נדרשים בשלב הכניסה שלושה דברים: לוגיקת האסטרטגיה — תנאי כניסה, יציאה וליווי פוזיציה; בורסות וכלים שבהם מתוכנן המסחר; מגבלות סיכון — מגבלה לפוזיציה, הפסד מצטבר מותר, מספר עסקאות בו-זמנית. אם האסטרטגיה קיימת עדיין כרעיון, נמסד את הכללים לתנאי הפעלה חד-משמעיים.
תארו את המשימה, ואנחנו נחזור עם תוכנית הטמעה שתכלול:
- ארכיטקטורת הפתרון: מודול אסטרטגיה, שכבת הצבה וליווי פקודות, בקרת סיכון, אחסון עסקאות ולוגים לניתוח.
- שלבי הטמעה: הרצה על נתונים היסטוריים, מסחר בנפח מינימלי בחשבון אמיתי, מעבר למצב עבודה.
- הערכת עבודה לכל שלב והרצף שבו הגיוני לסגור אותם.
- הרכב הצוות: מי אחראי על האסטרטגיה, מי על הביצוע והתשתית, מי על בקרת סיכון וקבלה.
- לוחות זמנים עם נקודות ביקורת: מה נחשב מוכן בכל צעד ולפי אילו מדדים בודקים.
- תרחישי כשל: כיצד מכבים פוזיציות בעת ניתוק תקשורת, חוסר סנכרון עם זרם הבורסה או חריגת הפסד מצטבר מהמגבלה.
- מה יידרש מצדכם: גישות לבורסות עם הרשאות מוגבלות, כללי בקרת סיכון, אחראי על קבלה.
בהמשך — שיחה עניינית: אתם מתארים את האסטרטגיה ואת המגבלות, ואנחנו חוזרים עם הערכה, תרשים עבודה ורשימת צווארי בקבוק שכדאי לסגור לפני ההתחלה.







