פיתוח אלגוריתם סקאלפינג למסחר בקריפטו

בספר פקודות דק התוצאה נאכלת על ידי החלקת מחיר, לא על ידי אסטרטגיית הכניסה. אנו מפתחים אלגוריתמי סקאלפינג במפתח מלא: מכוונים ביצוע, בקרת סיכון ויומני עסקאות בהתאם למשימה שלך. שיעור הכניסות הכושלות מצטמצם באופן משמעותי — אתה מקבל תגובה צפויה במקום מרדף ידני אחרי המחיר.

שירותי פיתוח בלוקצ'יין

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1376
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1350
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    798
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1093
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1035
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1132

אלגוריתם סקלפינג: היכן אובד התוצאה בשוק האמיתי

אלגוריתם סקלפינג מרוויח מעשרות עסקאות קצרות: החזקת פוזיציה נמדדת בשניות, והרווח מעסקה בודדת — בשברי אחוז. בכלכלה כזו, את התוצאה קובע לא היגיון הכניסה, אלא איכות ביצוע הפקודות. אות שחושב לפי מחיר אחד מבוצע לפי מחיר אחר — ועסקה שבחישוב הייתה רווחית נסגרת בהפסד.

החלקה מתבטאת בתנועות מהירות: עד שהפקודה מגיעה לספר הפקודות, המחיר כבר זז, ובתנודתיות השוק הפער בין המחיר הצפוי למחיר בפועל גדל פי כמה. הבעיה השנייה — ביצוע חלקי: הנפח נסגר חלקית, גודל הפוזיציה קטן מהמתוכנן, והאלגוריתם או משלים את היתרה במחיר גרוע יותר, או נשאר עם סיכון לא סגור.

לחוד עומד ההבדל בין התמונה הנבדקת לזו האמיתית. בהיסטוריה העסקה נראית כמבוצעת במחיר הרצוי, כי החישוב לא לוקח בחשבון השהיה עד לבורסה, תור פקודות ומגבלות על קצב בקשות.

במעגל האמיתי, הסירובים מגיעים דווקא ברגעי שיא: הבורסה מגבילה את הזרימה, והמחיר בשניות האלה זז הכי חזק — כלומר האלגוריתם מאבד ביצוע דווקא במקום שבו הוא הכי נחוץ.

צוואר הבקבוק כמעט אף פעם לא נמצא באסטרטגיה עצמה, אלא בחיבור «אות — פקודה — אישור מהבורסה»: היגיון הכניסה יכול להיות נכון, אבל התוצאה נאכלת על ידי הביצוע. אנו מפרקים כיצד זה נסגר בכל אחד מהקטעים.

מה משתנה לאחר ההטמעה: מהירות תגובה ובקרת סיכון

לאחר הרצת ההיגיון, לא האסטרטגיה עצמה משתנה, אלא האופן שבו היא מבצעת החלטות. האלגוריתם מעריך את עומק הנזילות לפני הצבת הפקודה, ולכן בתנועות חדות הכניסה מתבצעת לפי המחיר המחושב, ולא לפי המחיר הראשון הזמין. זה מסיר את סעיף ההפסדים העיקרי בסקלפינג — התשלום על כניסה ברגע של התפרצות תנודתיות.

הפחתת החלקה בקטעים תנודתיים

ההיגיון מחלק את הנפח לחלקים ומתאים את סוג הפקודה לנזילות הנוכחית: במקום שבו ספר הפקודות דק — פועל לימיט עם המתנה, במקום צפוף — נלקח השוק. השהיית התגובה בצד הבורסה שונה, גם ב-Binance וגם בבורסות אחרות, וההיגיון מתאים את עצמו לנתון בפועל, לא לנתון המוצהר.

בסופו של דבר מחיר הכניסה הממוצע קרוב יותר למחיר המחושב, ועסקאות שבעבר עברו להפסד כבר בכניסה נפסלות לפני פתיחת הפוזיציה.

מגבלות סיכון והגנה מפני רצף עסקאות מפסידות

הסיכון מוגבל בשלוש רמות: לעסקה, לרצף וליום. הגעה למגבלת ההפסד סוגרת את הפוזיציה ומעבירה את האלגוריתם להשהיה עד לחלון הבא, במקום להוסיף נפח בתקווה להיפוך. מונה המינוסים הרצופים מקטין את גודל הפוזיציה לאחר מספר מוגדר של עסקאות מפסידות ברצף, כדי שהרצף לא יהפוך לנסיגה משמעותית. הספים נמצאים בקונפיגורציה ומשתנים ללא שינוי בליבה.

יציבות האסטרטגיה נשענת על חזרתיות: תנאים זהים נותנים החלטות זהות. יומן העסקאות והמדדים מראים היכן המציאות סוטה מהתכנון — זהו הבסיס לאיטרציה הבאה של ההיגיון.

השוואת מצבי ביצוע: לימיט, מרקט, היברידי

מצב ביצוע הפקודות קובע כמה האות מאבד בדרך מהחישוב לעסקה. בצמדים נזילים ההבדל בין השיטות — שברי אחוז, אך בעשרות כניסות ביום הוא מצטבר לחלק העיקרי של התוצאה. להלן שלוש שיטות שאנו מטמיעים בהיגיון הכניסה והיציאה, והיכן כל אחת נשברת.

אפשרות מתי מתאימה מגבלות
פקודת לימיט בכניסה וביציאה ספר פקודות רגוע, מרווח צר, נזילות גבוהה בספר הפקודות סיכון לאי-ביצוע והחמצת תנועה
פקודת מרקט בכניסה וביציאה אימפולס, ספר פקודות דק, עובדת הביצוע חשובה החלקה בכל עסקה
היברידי: כניסת לימיט, יציאת מרקט סקלפינג על צמדים נזילים כמצב עיקרי נדרש היגיון נפרד לבקרת כניסה ויציאה

מצב לימיט ועבודה בספר הפקודות

פקודת לימיט נכנסת לתור ומרוויחה מהמרווח, אך הביצוע אינו מובטח. האלגוריתם מחזיק אותה בעומק נתון מהמחיר הטוב ביותר, מזיז אותה בעת תזוזת ספר הפקודות ומסיר אותה אם המחיר עבר את הסף. מגבילים — זמן החיים של הפקודה והסטייה המקסימלית מהמחיר המחושב: הם לא נותנים להיגיון להיתקע בהמתנה.

היגיון היברידי: כניסת לימיט עם יציאת מרקט

כניסה בלימיט מורידה את מחיר הכניסה, ויציאה במרקט מבטיחה סגירת פוזיציה לפי סטופ, ולא היתקעות בספר הפקודות. ההחלקה ביציאה מוגבלת בעומק ספר הפקודות וצפויה, בניגוד להמתנה לפקודה נגדית. אנו מחשבים בנפרד את שיעור הכניסות שלא בוצעו: אם הוא גבוה מהנתון, הסף מוזז קרוב יותר לשוק.

כיצד בנויה העבודה: מניתוח המשימה ועד להרצה עובדת

כל שלב מתחיל רק לאחר שהשלב הקודם נתן תוצאה ניתנת לשחזור. כך הטמעת אסטרטגיית מסחר אינה הופכת לשרשרת ניסויים בחשבון חי, שבה את הטעות רואים רק לפי הנסיגה.

בדיקה על נתונים היסטוריים ועל זרימה חיה

  1. ניתוח המשימה: על איזו התנהגות שוק האסטרטגיה מרוויחה ואילו תנאים מכבים אותה.
  2. הכנת נתונים: ספר פקודות ועסקאות מהבורסות הנדרשות — עם פערים, אזורי זמן שונים ותקופות של נזילות נמוכה.
  3. בדיקה על נתונים היסטוריים: הרצה בנפרד על שוק רגוע ותנודתי, עם עמלות והחלקה. חלק מההשערות נפסלות כאן — זו תוצאה צפויה.
  4. בדיקה על זרימה חיה: האלגוריתם מקבל שערים אמיתיים ומקבל החלטות, אך פקודות אינן נשלחות — אנו משווים את תגובתו לזו המחושבת.

הרצה במצב תצפית והעברת ניהול

  • הרצת ניסוי בנפח מינימלי: פקודות אמיתיות, מגבלות סיכון צרות, אישור ידני ליציאה מפוזיציה.
  • תצפית וכיוונון: אנו משווים עסקאות בפועל למודל, מתקנים כללי עצירה בעת סטייה מההתנהגות הצפויה.
  • העברת ניהול: היגיון ופרמטרים בתיעוד, פאנל ניטור, עצירה בפקודה אחת, הדרכת הצוות שלכם.

קונפיגורציות, יומני עסקאות ונהלי ליווי

מערך החומרים מיועד לצוות שממשיך לעבוד בלעדינו: כל פרמטר של אלגוריתם הסקלפינג משתנה ללא בנייה מחדש של ההיגיון, והתנהגות המערכת במצב חירום מתוארת מראש.

כללי ניהול סיכון וגבולות האסטרטגיה

  • גודל פוזיציה מקסימלי ומספר מקסימלי של פקודות בו-זמניות לכל מכשיר.
  • מגבלת נסיגה לסשן מסחר ופעולה בעת הגעה אליה — השהיה או עצירה מלאה.
  • הגבלה על עבודה ברגעים של נזילות נמוכה ומרווח מורחב.
  • עצירה אוטומטית בעת ניתוק זרם השערים או אי-התאמת נתונים בין הבורסות.
  • הקטנת נפח העסקה לאחר רצף הפעלות מפסידות עד לבדיקת ההגדרות.
  • גבולות הערכים המותרים: מה ניתן לשנות ידנית, ומה דורש בנייה מחדש של ההיגיון.

תיעוד וסדר ביצוע תיקונים

תיעוד האסטרטגיה, קונפיגורציית הפרמטרים ונוהל הליווי נמצאים לצד הקוד ומנוהלים בגרסאות — ניתן לראות איזו הגדרה נתנה איזו תוצאה על נתונים היסטוריים. מדיניות הגישה למפתחות מפרידה בין תפקידים: מעגל המסחר אינו מורשה למשוך כספים, ושינוי מגבלות דורש חתימה שנייה.

  • סדר תיקונים: בקשה, בדיקה על נתונים היסטוריים, הרצה על מעגל בדיקות, שחרור.
  • יומן עסקאות עם הקשר מלא: פרמטרים ברגע הכניסה, סיבת היציאה, השהיית הביצוע.
  • נוהל ליווי: מה בודקים מדי יום, מה מדי שבוע, למי מדווחים על סטיות.

מקרה בוחן: כיצד הסרנו החלקה בספר פקודות דק

מצב התחלתי וצוואר בקבוק

אלגוריתם סקלפינג עבד על חמישה צמדים בבורסת Binance, שם ברמות הראשונות של ספר הפקודות החזיקו שתיים-שלוש פקודות. ההיגיון הציב פקודות לימיט לפי מחיר העסקה האחרונה, ללא חישוב העומק הזמין: בשוק רגוע העסקאות עברו חלק, ובאימפולס ההחלקה אכלה חלק ניכר מהרווח המחושב.

לפי מדגם של 1200 עסקאות, מחיר הכניסה בפועל סטה מהמחיר המטרה בממוצע ב-0.18%, וכל עסקה עשרים וחמישית — ביותר מ-0.5%.

צוואר הבקבוק השני היה השחזור. מצב הפוזיציות חי רק בזיכרון התהליך, ולכן ניתוק זרם העסקאות או אתחול הצומת חייבו השוואה ידנית מול הבורסה, הוצאת הצמד מהמסחר ל-40–90 דקות והחמצת כניסות שהאלגוריתם כבר לא הדביק.

מה השתנה לאחר ההטמעה

הצבת הפקודות נכתבה מחדש: הנפח מחושב לפי נזילות אמיתית לפי רמות ספר הפקודות, ולא לפי המחיר האחרון, פקודה גדולה מפוצלת, והיתרה שלא בוצעה מוסרת לאחר מרווח נתון. השוואת הביצוע בפועל למודל מתבצעת בזמן אמת — אם הפער עובר את הסף, הצמד עובר למצב מקל עד לנורמליזציה של הספר.

השחזור הועבר למעגל נפרד: מצב הפוזיציות והפקודות הפתוחות נכתב לדיסק ומושווה מול הבורסה בעת ההפעלה, קונפליקטים נפתרים לפי נתוני הבורסה. ההתאוששות לאחר ניתוק קשר מתבצעת תוך 3–4 דקות במקום 40–90.

המדדים נמדדו על אותה קבוצת צמדים ואותו היגיון אותות. ההחלקה הממוצעת ירדה מ-0.18% ל-0.04%, שיעור העסקאות עם החלקה מעל 0.5% — מ-4% ל-0.3%, ומספר ההתערבויות הידניות בחודש הצטמצם מעשרות בודדות.

במה שונה אלגוריתם סקלפינג מרובוט ארביטראז'?

רובוט ארביטראז' מרוויח מפער מחירים של אותו נכס בין בורסות: האות נראה בספרי הפקודות, והעסקה נסגרת כשהפער נעלם. אלגוריתם סקלפינג מרוויח ממיקרו-מבנה — קורא את זרם הפקודות ואת תנועות המחיר הקטנות בתוך בורסה אחת. מכאן גם אופקים שונים, דרישות למהירות ורגישות לעלויות.

אופק החזקת הפוזיציה קובע את כל השאר. בארביטראז' הפוזיציה חיה בדיוק כל עוד קיים הפער — משניות ועד שעות, אם מדובר בשיעורי מימון. בסקלפינג יש מאות עסקאות ביום עם רווח בשברי אחוז, והאלגוריתם חייב להספיק להיפתח ולהיסגר לפני שזרם הפקודות מתהפך.

דרישות המהירות שונות במהותן, לא רק בגודלן. ארביטראז' זקוק לסינכרון שערים מכמה בורסות: מי שרואה את הפער שני מפסיד. בסקלפינג חשוב יותר זמן עיבוד האירועים לכלי בודד — שחזור ספר הפקודות, הצבה והסרה של פקודות, עבודה נכונה עם ביצוע חלקי.

הרגישות לעמלה בסקלפינג גבוהה בסדר גודל. הרווח לעסקה דומה למרווח, לכן רמת התעריף וההחלקה הופכות היגיון עובד למפסיד עם אותו אות — ב-Binance ובבורסות גדולות אחרות, החזר עבור פקודות לימיט משפיע ישירות על כדאיות האסטרטגיה.

בארביטראז' העלויות מרובות יותר בהרכבן: שתי רגליים, הפקדה ומשיכה, מימון; מרווח צר בין בורסות עשוי להיות דק יותר מסך ההוצאות על סבב שלם.

לכן התשתית נבנית למשימה שונה: לארביטראז' — מחברים לכמה בורסות ובקרת סיכון של רגל אחת; לסקלפינג — זרימת נתוני שוק מהירה, מודל ביצוע מדויק וחשבונאות עלויות הוגנת בבדיקות.

ספקות טכניים: השהיות, נזילות וסירובי הבורסה

אלגוריתם הסקלפינג חי על הגבול בין מהירות הבורסה לאיכות נתוני הקלט. לכן מגבלות כנות של הגישה חשובות יותר מהבטחות: להלן ספקות שעולים לרוב בתכנון, וכיצד אנו פותרים אותם בארכיטקטורה.

האות מגיע בהשהיה — כיצד נדע שאיננו סוחרים נגד השוק?

השהיית האות מורכבת מקבלת הנתונים, חישוב ההחלטה ושליחת הפקודה. אנו מודדים כל קטע בנפרד וקובעים סף רעננות: נתונים מיושנים אינם מאפשרים הצבת פקודה. זרם ספר הפקודות נלקח ממספר מקורות ומושווה ביניהם — אי-התאמה עוצרת את המסחר עד לבירור הסיבה.

מה לעשות עם מגבלות הבורסה — מגבלות על בקשות ונפח פקודות?

לכל בורסה כללים משלה לגבי תדירות הפניות וגודל הפקודות. האלגוריתם מחזיק מונה מכסה משלו ועובד עם מרווח, לא על הקצה. חלק מהפקודות נשלחות מושהות, חלק מוסרות לפני הצבתן — כך ההיגיון לא נתקל בתקרה ולא מקבל סירובים סתם.

סירובי חיבור: מה קורה לפוזיציה שכבר פתוחה?

ניתוק ערוץ הוא מצב שגרה, לא חריג. הפוזיציה עד לרגע זה יכולה להיות פתוחה, לכן באלגוריתם יש שכבת שחזור: היא משווה את מצב החשבון בפועל למודל שלה, או משלימה יציאה לפי ההיגיון המקורי, או סוגרת את הפוזיציה לפי תנאי מגן.

השוק דק — כיצד האלגוריתם מתנהג בנזילות נמוכה?

בשוק דק המרווח מתרחב, והנפח בספר הפקודות אינו מכסה את הפקודה — ההחלקה אוכלת את התוצאה מהר יותר משגיאות אות. מסנן נזילות לפי עומק ספר הפקודות ומחזור מכבה את הכלי כאשר התנאים יוצאים מהגבולות שהוגדרו, ומחזיר אותו לאחר נורמליזציה.

נדון במשימה: מה נדרש מכם להערכה ותוכנית עבודה

כדי לחזור עם הערכת משימה ותוכנית עבודה, ולא עם נוסחים כלליים, נדרשים נתוני קלט לחישוב. היקף אלגוריתם הסקלפינג נקבע לפי נזילות הכלים, אופן הגישה לבורסה ודרישות למהירות תגובה — משלושת הדברים האלה תלויים גם הארכיטקטורה וגם עלות העבודה.

מה מספיק לשלוח או לתאר בהודעה הראשונה:

  • בורסות וכלים: באילו בורסות סוחרים, אילו צמדים או חוזים בעדיפות, היכן מרוכזת הנזילות.
  • אופן גישה: חשבון מסחר עם הרשאות למסחר תוכנה, מעגל בדיקות של הבורסה, הגבלות על תדירות בקשות.
  • היגיון האסטרטגיה, אם כבר נוסח ידנית: תנאי כניסה, מיצוע ויציאה, עבודה עם ביצוע חלקי של פקודה.
  • פרופיל סיכון: נסיגה מותרת, גודל פוזיציה, מספר עסקאות בו-זמניות, כלל עצירה ביום מפסיד.
  • תשתית: היכן אנו ממקמים את הביצוע, איזה ערוץ לבורסה, דרישות ליציבות בעת ניתוק קשר.
  • נתונים לבדיקה: היסטוריית שערים ועסקאות לתקופה שבה נאמת את ההשערה.
  • קריטריוני הצלחה במדדים שלכם: שיעור עסקאות רווחיות, זמן החזקה ממוצע של פוזיציה, התנהגות האלגוריתם בקטעים תנודתיים.

לאחר מכן נחזור עם תרשים ביצוע, פירוק לשלבים, קריטריוני קבלה ואפשרויות ליווי האסטרטגיה לאחר ההרצה. אם חלק מהנתונים חסר — נאמר ישירות מה צריך לאסוף, ונעריך את העבודה הזו כשלב נפרד.