פיתוח אלגוריתמי מרטינגייל/אנטי-מרטינגייל למסחר בקריפטו
סוחרים נתקלים לא פעם בדילמה: כיצד לנהל את גודל הפוזיציה כדי להימנע מהפסד מוחלט ברצף הפסדים, ובכל זאת לא לפספס רווחים במגמה. מערכות מרטינגייל ואנטי-מרטינגייל הקלאסיות מציעות פתרונות הפוכים, אך בפועל דורשות כוונון עדין והגבלות קפדניות. אנו בונים את שתי הגישות מאפס עבור השוק ופרופיל הסיכון הספציפיים שלך — מבוטים פשוטים של DCA ועד אסטרטגיות מורכבות עם מינוף דינמי.
מרטינגייל קלאסי: מתמטיקה ומגבלות
ההיגיון: לאחר הפסד, הכפל את גודל הפוזיציה הבאה. הזכייה הראשונה מכסה את כל ההפסדים הקודמים ומניבה רווח בסיסי.
Сделка 1: $100 → убыток -$100
Сделка 2: $200 → убыток -$200
Сделка 3: $400 → убыток -$400
Сделка 4: $800 → прибыль +$800
Итого: -100 -200 -400 + 800 = +$100הבעיה המתמטית: רצף הפסדים גדל באופן אקספוננציאלי. לאחר 10 הפסדים רצופים: $100 × 2^10 = $102,400. זה חורג מההפקדה או פוגע במגבלת הבורסה. בחשבון אמיתי, זה מוביל ל-margin call או stop-out. כדי להבין את המתמטיקה לעומק, עיין במרטינגייל (מערכת הימורים).
מרטינגייל מוגבל: פתרון מעשי
הגדר מספר מקסימלי של הכפלות (בדרך כלל 4–6). לאחר הגעה למגבלה, נעל את ההפסד והתחל מחדש עם הגודל הבסיסי. זה הופך מערכת מסוכנת מתמטית לכלי ניתן לניהול.
יישום במסחר בקריפטו:
class MartingaleStrategy:
def __init__(self, base_qty, multiplier=2.0, max_orders=6):
self.base_qty = base_qty
self.multiplier = multiplier
self.max_orders = max_orders
self.current_level = 0
self.total_invested = 0
def get_next_qty(self, last_result):
if last_result == 'loss':
self.current_level = min(self.current_level + 1, self.max_orders)
else:
self.current_level = 0
return self.base_qty * (self.multiplier ** self.current_level)
def get_break_even_price(self, entries):
"""Цена безубытка для текущей накопленной позиции"""
total_value = sum(qty * price for qty, price in entries)
total_qty = sum(qty for qty, price in entries)
return total_value / total_qty if total_qty > 0 else 0
מדוע מרטינגייל מסוכן ללא מגבלות
מרטינגייל בלתי מוגבל אינו אסטרטגיה, אלא רולטה עם כספים שאולים. ההסתברות לרצף של 10 הפסדים במשחק עם סיכויים שווים היא 1/1024, אך בקריפטו עם תנודתיות גבוהה, משיכות כאלה מתרחשות לעתים קרובות יותר. אנו תמיד מטמיעים הגנה: מגבלת הפסד יומית, מספר רמות מקסימלי וסטופ דינמי.
אנטי-מרטינגייל: רכיבה על המגמה
ההיגיון: הגדל את הגודל לאחר זכיות, הקטן לאחר הפסדים. זה מאפשר ניצול אגרסיבי של "רצפי זכיות" תוך בלימת סיכון.
יישום:
class AntiMartingaleStrategy:
def __init__(self, base_qty, multiplier=1.5, win_streak_limit=4):
self.base_qty = base_qty
self.multiplier = multiplier
self.win_streak = 0
self.win_streak_limit = win_streak_limit
def get_next_qty(self, last_result):
if last_result == 'win':
self.win_streak = min(self.win_streak + 1, self.win_streak_limit)
else:
self.win_streak = 0
return self.base_qty * (self.multiplier ** self.win_streak)נעילת רווח: כאשר מגיעים למגבלת הרצף N, נעל את הרווח וחזור לגודל הבסיסי. מונע החזרת רווחים שנצברו.
מתי אנטי-מרטינגייל נותן יתרון?
בשווקים במגמה (למשל, מגמת שור חזקה), אנטי-מרטינגייל יכול להכפיל תשואות בהשוואה לגודל פוזיציה קבוע. בשווקים צדדיים, הוא מפגר אחרי מרטינגייל, שממוצע מחירי כניסה. הפרש הביצועים יכול להגיע לפי 2-3.
היכן משתמשים בזה במסחר בקריפטו
בוטים של DCA-מרטינגייל (תבנית פופולרית): הגדל את גודל הרכישה הבאה בירידת מחיר. המטרה היא להוריד את מחיר הכניסה הממוצע. כמעט כל "בוטי ה-DCA של 3Commas" פועלים על עיקרון זה.
פרמטרים מרכזיים של בוט DCA-מרטינגייל:
- גודל הזמנה בסיסי: $100
- הזמנות בטיחות: 6 (רמות מקסימליות)
- סטיית מחיר: 2% (צעד מטה לרכישה הבאה)
- מכפיל הזמנת בטיחות: 1.5× (אנטי-מרטינגייל בנפח)
- רווח מטרה: 1.5%
אנו מכוונים פרמטרים אלה לתנודתיות של הצמד הספציפי ולמשיכה מקובלת.
השוואת אסטרטגיות
| פרמטר | מרטינגייל | אנטי-מרטינגייל |
|---|---|---|
| סיכון ברצף הפסדים | אקספוננציאלי | ליניארי |
| הפסד מקסימלי | יכול למחוק את ההפקדה | מוגבל ל-base_qty × N |
| רווח במגמה | נמוך | גבוה |
| מתאים ל | שוק צדדי | שוק במגמה |
פרמטרים מומלצים לתנודתיות שונה
| תנודתיות | הזמנה בסיסית | סטייה | הזמנות בטיחות | רווח מטרה |
|---|---|---|---|---|
| נמוכה (BTC) | 0.01 BTC | 1% | 3 | 0.5% |
| בינונית (ETH) | 0.1 ETH | 2% | 5 | 1.5% |
| גבוהה (ALT) | מותאם אישית | 3% | 8 | 2.5% |
מה כלול בפיתוח האלגוריתם
- מודול אסטרטגיה עם פרמטרים הניתנים להגדרה.
- מנהל סיכונים: מגבלות סטופ, מגבלת משיכה יומית, מספר הזמנות מקסימלי.
- ויזואליזציה בזמן אמת של פוזיציות ורווח/הפסד.
- בדיקת Backtesting על נתונים היסטוריים עם דוח (יחס שארפ, משיכה מקסימלית).
- אינטגרציה עם בורסות (Binance, Bybit, OKX) דרך WebSocket.
- תיעוד טכני והדרכת צוות.
במהלך הפיתוח אנו משתמשים ב-Foundry ו-Hardhat לבדיקה ופריסה של חוזים חכמים כאשר נדרשת ביצוע על השרשרת. לצוות שלנו ניסיון של למעלה מ-5 שנים במסחר בקריפטו והוא יישם יותר מ-30 אלגוריתמים עבור לקוחות.
תהליך העבודה
- ניתוח שוק ואיסוף הדרישות שלך.
- עיצוב אסטרטגיה ובחירת פרמטרים.
- כתיבת קוד ובדיקה על נתונים היסטוריים.
- מסחר נייר לאימות.
- פריסה לחשבון חי עם סיכון מוגבל.
- ניטור ואופטימיזציה.
לוחות זמנים לפיתוח: בין 2 ל-6 שבועות בהתאם למורכבות. העלות מחושבת באופן אישי — צור קשר להערכת פרויקט.
טעויות יישום נפוצות
- חוסר מגבלת רמות מקסימלית — הסיבה העיקרית למחיקת חשבון.
- רווח מטרה קבוע ללא התחשבות בספריד ובעמלות.
- התעלמות מהחלקה בנפחי הזמנות גדולים.
- שימוש באותם פרמטרים לכל התנודתיות.
אנו מתחשבים בניואנסים אלה במהלך התכנון ומבטיחים אמינות האלגוריתם.
לייעוץ והערכת פרויקט, צור קשר. קבל פתרון סוהר עם ניהול סיכונים מוגדר.







