אסטרטגיות
תיק מפוזר של המשך נר דחף תוך־יומי בנכסים מובילים (לונג־שורט, Binance USD-M, 1H, כניסות בדידות מבוססות אירועים, תקרות לפוזיציה ולברוטו, יעדים ATR המכסים עמלות)
תוצאה: ננטש
DiversifiedImpulseBarContinuationPortfolioLS1H
תוקנו באמת בעיות מיעוט העסקאות והריכוז באירוע יחיד: 13,644 עסקאות על פני 10 שמות ממלאות בצפיפות כל חלון, עם כניסות בדידות בטוחות למנוע ותקרות לפוזיציה ולברוטו (ללא ארטיפקט של ניפוח הערך הנקוב וללא חיסול)
השערה
מימוש
אסטרטגיית המשך של נר דחף תוך־יומית בלונג-שורט, המופעלת כתיק מגוון על פני 10 נכסי Binance USD-M מובילים עם היסטוריה עמוקה, בנרות של 1 שעות. כל נכס מנוטר בנפרד; דחף כיווני בנפח גבוה (|body|/ATR >= impulse_atr_mult AND נפח >= vol_mult כפול הממוצע) פותח פוזיציה יחידה בכיוון הדחף, שנסגרת בסטופ הדוק של ATR, ביעד רחב יותר של ATR, או כמנגנון גיבוי בתום משך החזקה מרבי. תקרה על הערך הנומינלי לכל פוזיציה לצד תקרת חשיפה ברוטו לתיק; לכל היותר פוזיציה אחת בכל נכס.
תוצאות אימות
CLEAN RESTART 2026-09-04 — היסטוריית ההכרעות ורשומות הלמידה של הריצה הזו הוסרו, והיא הופעלה מחדש משלב האימות. הנטישה הקודמת נבעה מצינור העיבוד, לא מהשוק: רתמת Layer-2 קישרה בטעות עזרי @staticmethod (תוקן), QA נתן הכרעות ביצועים סופיות על בדיקת עשן לא ממוטבת (הוסר — QA בוחן כעת נכונות בלבד), ופסקי זמן בארגז החול נבעו ממחסור במשבצות בקטסט (תוקן). ההשערה וקוד האסטרטגיה לא השתנו. אמתו את הקוד לגופו; הביצועים יוכרעו בהמשך בבקטסט המלא ובאופטימייזר.
סקירת בדיקה היסטורית
- שארפ
- -0.09
- תשואה כוללת
- -95.05%
- ירידה מרבית
- 96.24%
- סה"כ עסקאות
- 13644
- אחוז הצלחה
- 38.6%
- מקדם רווח
- 0.87
תוקנו באמת בעיות מיעוט העסקאות והריכוז באירוע יחיד: 13,644 עסקאות על פני 10 שמות ממלאות בצפיפות כל חלון, עם כניסות בדידות בטוחות למנוע ותקרות לפוזיציה ולברוטו (ללא ארטיפקט של ניפוח הערך הנקוב וללא חיסול)
מפסידה נטו: total_return -95.05%, CAGR -45.6%, max_drawdown 96.24% (CI עד 100%) — מעבר לקו הנטישה הקשיח של 50% (L19)
יתרון נמוך מהעמלות: avg_trade_return_pct 0.045% (מתחת לרף העמלות של 0.15%, L22), profit_factor 0.87, תוחלת של -$7.20/עסקה, עמלה בשיעור 12.4% מהברוטו
אין יתרון מובהק המתואם לסיכון: שארפ -0.088 (CI [-1.02, 0.61] חוצים את האפס), PSR 0.41; מפסידה ב־6 מתוך 7 שנים (רק 2022 חיובית)
הפיזור לא ריסן את הזנב: קורטוזיס 246, תנודות חודשיות +365%/-78%/-50%, 37 הפסדים רצופים — נשלט על ידי חריגים, ללא יתרון יציב
מחלקת המשך כיווני טהורה מסוג L30/L63 OHLCV (0-שורדת); ההכללה בתיק הגדילה את מספר העסקאות, אך לא את היתרון לעסקה
היסטוריית איטרציות
האימות נכשל (Layer 2 — תרחישים סינתטיים): הפרמטרים שבהם נעשה שימוש: ['assets', 'vol_mult', 'atr_period', 'vol_window', 'tp_atr_mult', 'min_notional', 'max_hold_bars', 'qty_precision', 'stop_atr_mult', 'gross_cap_frac', 'impulse_atr_mult', 'per_position_frac', 'default_qty_precision'] ודאו ש־__init__ מגדירה את כל המאפיינים מתוך self.parameters.get(). - steady_uptrend: TypeError: super(type, obj): obj חייב להיות מופע או תת־סוג של type (חותמת זמן של הנר: 1735689600000) - steady_downtrend: TypeError: super(type, obj): obj חייב להיות מופע או תת־סוג של type (חותמת זמן של הנר: 1735689600000) - flat_ranging: TypeError: super(type, obj): obj חייב להיות מופע או תת־סוג של type (חותמת זמן של הנר: 1735689600000) - volatility_spike: TypeError: super(type, obj): obj חייב להיות מופע או תת־סוג של type (חותמת זמן של הנר: 1735689600000) - zero_volume: TypeError: super(type, obj): obj חייב להיות מופע או תת־סוג של type (חותמת זמן של הנר: 1735689600000) - price_gap: TypeError: super(type, obj): obj חייב להיות מופע או תת־סוג של type (חותמת זמן של הנר: 1735689600000)
האימות נכשל (Layer 3 — בקטסט בארגז חול): בדיקת העשן חרגה ממגבלת זמן הריצה של 300 שניות. כמעט תמיד פירוש הדבר הוא עבודה לכל נר שגדלה עם אורך ההיסטוריה — למשל סריקה מחדש של כל סדרת המימון/הנתונים המשלימים, או בנייה מחדש של רשימה וקריאה ל־min()/sorted() בתוך calculate_signal()/on_bar() בכל נר. חשבו מראש מערכי חותמות זמן ממוינים ONCE בתוך __init__ והשתמשו ב־bisect, או שמרו תוצאות חיפוש במטמון לפי חותמת זמן, כך שעלות העבודה לכל נר תהיה O(log n) ולא O(n).
Stratmill הוא כלי למחקר ולמסחר נייר (Paper Trading), ואינו ייעוץ פיננסי או ברוקר. תוצאות בדיקה לאחור ומסחר נייר הן היפותטיות. מסחר טומן בחובו סיכון להפסד.