מדוע בוט מסחר MA מאבד רווח בשוק האמיתי
ממוצע נע הוא מסנן עם השהיה, לא תחזית. אות בחצייה של ממוצע מהיר ואיטי מגיע כבר אחרי שהתנועה עברה חלק ניכר מהדרך, לכן אלגוריתם המסחר נכנס במחיר גרוע מנקודת ההיפוך ומחזיר חלק מהרווח בכל מחזור.
ככל שחלון המיצוע ארוך יותר, המגמה נקייה יותר והכניסה מאוחרת יותר — זו פשרה מובנית שאינה מוסרת על ידי בחירת תקופה.
מקור ההפסדים השני — אותות שווא בשוק צדדי. כאשר התנודתיות יורדת, הממוצעים מתכנסים ומתחילים לחצות בסדרות, וכל עסקה משלמת עמלה ומרווח. עשרה היפוכים ברצף בטווח צר אוכלים את הרווח המגמתי המצטבר, והדראוודאון של האסטרטגיה גדל מהר יותר מהפיקדון מספיק להתאושש.
בנפרד יש בדיקה על היסטוריה. אם הפרמטרים נבחרו בכוח באותו קטע רציף, הם מתארים בדיוק את הקטע הזה: בו העקומה חלקה, ובשינוי משטר התנודתיות האסטרטגיה מתפרקת. בדיקה נכונה נעשית לפי חלונות לא חופפים — מכוונים באחד, מאשרים בשני שהאלגוריתם לא ראה.
השוק החי שונה מהרצת בדיקה בביצוע: החלקה בנרות חדים, מילוי נפח חלקי, השהיה בין חישוב האות לשליחת הפקודה, שינוי תנאי נזילות. בדיקה היסטורית בדרך כלל מחשבת כניסה לפי מחיר סגירת הנר — במציאות מחיר כזה כבר אינו קיים.
בדיוק במפגש של ארבע הסיבות האלה — השהיה, פריצות שווא, התאמת יתר וביצוע — האסטרטגיה מאבדת רווח. בהמשך נפרק כיצד זה נסגר ברמת ארכיטקטורת הבוט.
מה נותן מסחר אלגוריתמי בפועל
החלטה ידנית לפי גרף MA/EMA תמיד מכילה השהיה: האות נראה, הפקודה הוגשה — בין הרגעים האלה עוברות שניות, ובתנודתיות שיא המחיר מספיק לנוע נגד הפוזיציה בכמה אחוזים. הבוט מחשב חצייה לפי נרות סגורים ושולח פקודה בדיוק לפי הכלל, לכן ההשהיה נקבעת לפי ערוץ התקשורת, לא לפי תגובת אדם. זה מסיר סוג שלם של שגיאות שבהן התוצאה הייתה תלויה במי שתורן מול המסך וכמה ישן מספיק.
ניהול הסיכונים מוטמע בקוד, לא בהבטחה "לעקוב בקפידה": גודל הפוזיציה מחושב לפי התנודתיות הנוכחית, הסטופ מוצב ברמה הפוכה לתנועה, לא לפי תחושה, ומגבלת הפסד יומית עוצרת את המסחר עד ליום המחרת.
בהרצות בדיקה, המרת אסטרטגיה ידנית לכלל כזה נתנה דראוודאון נמוך פי 1.5–2 — לא מפני שהכלל חכם יותר, אלא מפני שהסטופ מבוצע תמיד, כולל בשעות הלילה.
בקרת ביצוע — שכבה נפרדת: יומן של כל אות עם סיבת כניסה, התאמת פקודות פתוחות עם מצב החשבון, שליחה חוזרת לאחר ניתוק תקשורת וחסימת כפילויות לפי מזהה פקודת לקוח. בלי זה אוטומציה של מסחר הופכת למקור פוזיציות פנטום, שאחר כך מטפלים בהן ידנית ומפסידים על זה יותר מאשר על האסטרטגיה עצמה.
אנו עובדים עם ממשקי הבורסה של הענף העדכני, כולל Binance, לכן הכלל מבוצע באותה צורה גם על היסטוריה וגם בסביבת מסחר חיה. חזרתיות היא ההשפעה המדידה העיקרית: אותה לוגיקה נותנת סט עסקאות דומה בהפעלה מחדש, בחזרה לגרסה קודמת ובהחלפת שרת.
דרכי הפעלה: שרת משלכם, ענן או פלטפורמה מוכנה
מיקום הבוט קובע שני דברים: כמה מהר הפקודה מגיעה לבורסה וכמה חופשית אפשר לשנות את הלוגיקה. חיבור לבורסה דרך חיבור קבוע רגיש לקטיעות בערוץ — שנייה של השבתה היא אות שהוחמץ ופוזיציה לא סגורה. לכן בחירת הפלטפורמה מתחילה בהשהיית הביצוע ובשאלה מי אחראי להפעלה מחדש בעת תקלה.
קריטריון שני — שליטה בלוגיקה. פלטפורמה מוכנה מוציאה את האסטרטגיה לפעולה מהר יותר, אבל היא חיה לפי הכללים שלה, ומסנן כניסה לא סטנדרטי לא נכנס לשם. שרת משלכם נותן גישה מלאה לקוד, ליומנים ולהגדרות חישוב הממוצעים, אבל דורש תחזוקה. להלן האפשרויות שביניהן באמת בוחרים.
| אפשרות | מתי מתאימה | מגבלות |
|---|---|---|
| שרת משלכם | נדרשת שליטה מלאה בלוגיקה: מסננים משלכם, מספר בורסות, יומן עסקאות משלכם | עדכונים, ניטור והפעלה מחדש אוטומטית — באחריותכם; נדרש ערוץ תקשורת גיבוי |
| הפעלה בענן | נדרשים ערוץ יציב והשהיה צפויה בלי ציוד משלכם | הלוגיקה מוגבלת לקונפיגורציה; בהחלפת מחלקת מכונה משתנות מגבלות העומס |
| פלטפורמה מוכנה | התחלה מהירה עם אסטרטגיית ממוצעים טיפוסית, בדיקות של רעיון | האסטרטגיה חיה לפי כללי הפלטפורמה; ייצוא עסקאות וכיוונון עדין מוגבלים |
| מכונה מקומית | ניפוי לוגיקה והרצת תקופות לפני העלאה לפעולה | לא מתאימה לעבודה קבועה: שינה, אתחולים, ערוץ ביתי |
מסלול היברידי גם עובד: האותות מחושבים בענן, והביצוע מתבצע ממכונה קרובה לבורסה.
שלבי הטמעה: מפירוק האסטרטגיה ועד סביבת עבודה
ממוצעים נעים סולחים על שגיאות בלוגיקה: בקטע עולה כמעט כל שילוב תקופות נראה עובד. לכן הטמעה מתחילה לא בקוד, אלא בפירוק כללי כניסה ויציאה — ולפני ההפעלה מקבעים קריטריונים שלפיהם נחשב את הבוט לכשיר.
- ביקורת לוגיקה. מפרקים את סוג האות (חציית MA/EMA), מרווח הנרות, כללי כניסה ויציאה, פעולת פקודת הסטופ, התנהגות בקטיעות ציטוטים ובנרות שהוחמצו.
- הכנת נתונים. אוספים היסטוריה מהבורסה, מסירים חסרים, ממירים למרווח אחיד, בנפרד מסמנים תקופות של נזילות נמוכה — בהן כל בדיקה מטעה.
- בדיקה על היסטוריה. מריצים על קטע שלא השתתף בבחירת הפרמטרים: מסתכלים לא על התשואה הסופית, אלא על יציבות התוצאה בהזזת אורך החלון בכמה צעדים.
- כיוון תקופות. בוחרים לא זוג ערכים "טוב" אחד, אלא אזור שבו פרמטרים שכנים נותנים תוצאה דומה. שילוב מוצלח יחיד — סימן להתאמת יתר להיסטוריה.
- סביבת בדיקה. אותו קוד בחשבון בדיקה עם זרם ציטוטים חי: בודקים ביצוע בפועל של פקודות, השהיות, התנהגות בעת ניתוק תקשורת והפעלה מחדש של התהליך.
- מעבר לחשבון אמיתי. מתחילים בנפח מינימלי, מציבים מגבלות לדראוודאון ולמספר העסקאות, מפעילים תיעוד יומן לכל פקודה ומשווים בין בפועל לחישוב.
- מסירה. מוסרים קונפיגורציות, סכמת הפעלה, הוראות עצירה וחזרה לפרמטרים קודמים, נוהל בקרה.
כל שלב נסגר בארטיפקט: דוח יציבות, קונפיגורציה, יומן עסקאות. בלי זה אסור לעבור לחשבון אמיתי — אחרת אין במה להסביר את הפער בין החישוב לבפועל ואין במה להחזיר פרמטרים לאחור.
מה נשאר אצל הלקוח: קוד, קונפיגורציות ונוהלים
מסירה היא לא ארכיון עם קוד, אלא מערכת שהצוות שלכם יכול להפעיל, לתקן ולעצור בלי השתתפותנו. לכן החבילה כוללת לא רק מאגר קוד, אלא גם הגדרות, כללי גישה ונוהלי תגובה.
- קוד מקור — מאגר עם היסטוריית שינויים, הוראות בנייה והפעלה בסביבה נקייה.
- קונפיגורציות — תקופות וסוג החלקה של MA/EMA, מסגרת זמן עבודה, ספי כניסה ויציאה, גודל פוזיציה ומגבלת דראוודאון — מופרדים לקבצים נפרדים ולא מוטמעים בלוגיקה.
- גישות — מפתחות נפרדים לקריאת נתונים ולמסחר, נוהל סבב החלפת סודות, סכמת הרשאות לסביבת בדיקה ולסביבת ייצור.
- תיעוד אסטרטגיה — תיאור פורמלי של לוגיקת האותות: איך נחשבת החצייה, אילו מסננים חותכים כניסות שווא, מה הבוט עושה בשוק צדדי ובתנועות חדות.
- נוהל ניטור — רשימת מדדים נצפים, ספים שמהם נשלחת התראה, ורצף פעולות התורן.
- נוהל עדכון וחזרה לאחור — כיצד להעלות גרסה חדשה או פרמטרים ששונו וכיצד לחזור לקודמת בלי לאבד פוזיציות פתוחות.
- הרצות על נתונים היסטוריים — דוח עם תוצאות בדיקת האסטרטגיה לפני העלאה לשוק.
כל סעיף מפרקים בשיחת וידאו עם המהנדסים שלכם, כדי שהמערכת תמשיך לחיות בהמשך בלי השתתפותנו.
מקרה בוחן: מדדי אסטרטגיה לפני ואחרי עיבוד מחדש של הלוגיקה
מקרה מאלף — בוט מסחר על חציית ממוצעים נעים, שהלקוח השתמש בו כמה חודשים. בגרף האסטרטגיה נראתה עובדת, אבל יומן העסקאות הראה אחרת: הדראוודאון הגיע לשליש מהפיקדון, שיעור העסקאות הרווחיות נשמר סביב 41%, והיה צריך להתערב ידנית כמעט כל שבוע — לכבות את הלוגיקה אחרי סדרת הפסדים. מדדי האסטרטגיה נלקחו מלוח המחוונים Grafana, לכן ההשוואה נעשתה לפי חתכים זהים.
לפני עיבוד מחדש: היכן אבד הרווח
את יומן העסקאות לכל התקופה פרקנו לפי שלבי שוק. בקטעים מגמתיים אסטרטגיית MA עבדה נכון, אבל בשוק צדדי נתנה סדרת כניסות שווא: EMA מהיר חצה את האיטי בכל תיקון. הסטופים עמדו במרווח קבוע, לכן ברגעי תנודתיות מוגברת עסקה אחת אכלה את התוצאה של עשר רווחיות.
אחרי עיבוד מחדש: מה שינו
לוגיקת הכניסה נשארה על חציית ממוצעים, אבל נוסף תנאי לפי מצב השוק והתקופות הופרדו: EMA איטי מסנן כיוון, המהיר אחראי לכניסה. סטופ ויעד קושרו לתנודתיות, ולא למרווח קבוע.
הדראוודאון ירד מ-34% ל-11%, שיעור העסקאות הרווחיות עלה ל-58%, התערבויות ידניות הפכו לאחת-שתיים בחודש במקום חמש עשרה. הרצה על נתונים היסטוריים אישרה את התוצאה בקטעים שלא השתתפו בכיוון.
יומן העסקאות אחרי השדרוג רושם את סיבת הכניסה, מצב המשטר ופרמטרי הסטופ — ממנו רואים איזה שינוי נתן השפעה. זה הבסיס לאיטרציה הבאה של האסטרטגיה במקום תיקונים באקראי.
במה שונה MA מ-EMA ומה לבחור לשוק שלכם
ממוצע פשוט ממצע את המחיר במשקל אחיד בכל החלון, המעריכי נותן לנרות חדשים משקל גדול יותר וישנים — דועך. מכאן העיקר: EMA מתהפך מוקדם יותר ומגיב חזק יותר לאימפולס, MA מחליק חזק יותר ובהתהפכות מפגר ב-1–2 נרות.
| קריטריון | MA | EMA |
|---|---|---|
| תגובה לאימפולס | מפגר | תופס היפוך 1–2 נרות מוקדם יותר |
| החלקת אות | גבוהה יותר, הניסור נדחק חזק יותר | נמוכה יותר, הקו צמוד יותר למחיר |
| אותות שווא בשוק צדדי | פחות, אך עם השהיה | יותר הפעלות על רעש |
| רגישות לחריגה | נר אחד מעוות את כל החלון | החריגה נמחקת לפי משקלים |
| בחירת תקופה | ערכים קלאסיים | קצר ב-20–30% באותה החלקה |
בחירת התקופה שוקלת לא פחות מסוג הממוצע: EMA עם חלון קצר ו-MA עם חלון ארוך נותנים החלקה דומה. העברת אסטרטגיה מ-MA ל-EMA בלי חישוב מחדש של התקופה — טעות אופיינית: העסקאות מתרבות, ושיעור הרווחיות יורד.
הלאה מצב השוק. במגמה EMA נותן כניסה מוקדם יותר ומפספס פחות מהתנועה, בשוק צדדי הוא עצמו מרבה כניסות שווא ועמלות. במרווחים יומיים הרעש נדחק בשל נפח הנתונים, וההבדל בין MA ל-EMA כמעט נעלם.
קריטריון מעשי — להשוות לא את סוג הממוצע, אלא מדדים על ההיסטוריה של הכלי שלכם: מספר עסקאות, שיעור כניסות שווא, זמן החזקה ממוצע. את שניהם מריצים במגמה, בשוק צדדי ובתנודתיות גבוהה ב-TradingView או בבודק אסטרטגיות משלכם.
שאלות טכניות שאנו מסירים לפני תחילת העבודה
לפני תחילת העבודה אנו מפרקים לא שאלות כלליות, אלא סיכונים הנדסיים קונקרטיים: כיצד יתנהג בוט המסחר MA בעת שינוי מצב השוק, מה יקרה בתנועה חדה נגד הפוזיציה והיכן נגמרת אחריותו.
חציות של ממוצעים נעים נותנות אותות שווא בשוק צדדי — זו תכונה של האסטרטגיה, ומכסים אותה במסננים ובמגבלות, לא בהבטחות תשואה.
בנפרד על הסביבה: אפשר להתקין את הבוט מעל תשתית שכבר פרוסה, בלי לכתוב אותה מחדש. להלן שאלות שמהנדסים שואלים לפני ההתחלה, והתשובות שלנו לגופן.
מה יקרה בתנועה חדה נגד הפוזיציה?
תקרת הסיכון נקבעת במגבלת פוזיציה: חלק מהון החישוב לעסקה ומגבלה כוללת של נפחים פתוחים. בחריגה מהמגבלה, אותות חדשים מתעלמים מהם ולא מוזרמים להפסד. פקודת סטופ מוצבת בבורסה מיד לאחר הכניסה — היא תפעל גם אם תהליך הבוט יעצור.
כיצד בנויה ההגנה מתקלות תקשורת ובורסה?
פקודות נשלחות עם מזהה לקוח, לכן שליחה חוזרת של בקשה לא יוצרת כפילות. לאחר ניתוק תקשורת הבוט מתאים פוזיציות בפועל ויתרה למודל המצב שלו, ורק אחר כך ממשיך במסחר. כל הפערים נרשמים ביומן.
האם אפשר להתקין את הבוט מעל סביבה שכבר עובדת?
כן. מתחילים במצב קריאה בלבד: מתחברים למפתחות קיימים ומאמתים שאנו רואים את אותו שוק כמו הסביבה שלכם. הרשאות מסחר ניתנות במפתח נפרד עם הגבלה לפי כלים ומשיכה, לאחר שההתאמה מתכנסת.
מה כלול בתקופת הבדיקה?
קודם הרצה על נתונים היסטוריים לפי כמה מצבי שוק, אחר כך מצב תצפית על נתונים חיים בלי פקודות אמיתיות. בודקים דראוודאון, שיעור כניסות שווא והתנהגות במעבר ממגמה לשוק צדדי. המעבר לנפחים עובדים — לפי מדדים, לא לפי לוח שנה.
נדון במשימה: תוכנית הטמעה והערכה לשוק שלכם
כדי לחזור עם תוכנית הטמעה והערכת לוחות זמנים, ולא עם מילים כלליות, בשיחה הראשונה עלינו להבין כמה דברים על המשימה שלכם. בדרך כלל זו שיחת וידאו אחת: המהנדס שלנו שואל שאלות, אתם עונים במילים שלכם, אין צורך להכין מסמכים מראש — בוט מסחר על ממוצעים נעים מתואר מהר ממה שנדמה.
- שוק, כלי ומסגרת זמן — היכן בדיוק צריכה לעבוד הלוגיקה.
- סוג ותקופות הממוצעים, כללי כניסה ויציאה, התנהגות בעת שינוי מגמה ובשוק צדדי.
- מקור נתוני השוק ועומק ההיסטוריה שעליה נבדוק את הלוגיקה.
- סביבת ביצוע: ברוקר או בורסה, גישות, מגבלות תדירות בקשות.
- ניהול סיכונים: גודל פוזיציה, סטופים, מגבלת הפסד יומית, התנהגות בעת ניתוק תקשורת.
- מי בצד שלכם מקבל את התוצאה ובאיזה פורמט נדרש דוח על עבודת הבוט.
אחרי השיחה אנו חוזרים עם תוכנית הטמעה: שלבים, הערכת זמנים לכל אחד, נקודות שבהן נדרשת החלטה שלכם, ושלב נפרד למסירה לתמיכה — נוהלים, תצפית על העבודה, סדר שינוי פרמטרים. תחילת העבודה מתחילה רק לאחר אישור התוכנית, ואין התחייבויות מצדכם עד לרגע זה.
תארו את המשימה — נחזור עם הערכה ותוכנית.







