אסטרטגיות
אסטרטגיה נגד המגמה בקיצוני מימון בחוזה התמידי SOL ב-Hyperliquid — לונג-שורט, נכס יחיד: FADE מיצוב צפוף כאשר ציון ה-Z המתגלגל של המימון מגיע לקיצון (מימון חיובי מאוד = פוזיציות לונג ממונפות מדי → SHORT; מימון שלילי מאוד = פוזיציות שורט שנכנעו → LONG), עם אישור מאי-אישור מצד המחיר, יציאה עם חזרת המימון לממוצע / סטופ ATR / סטופ זמן (SOLUSDT.HYPERLIQUID, 4 שעות, 3 פרמטרים)
תוצאה: ננטש
HyperliquidSolFundingExtremeContrarian
המנגנון מופעל בצורה נקייה ומפיק מדגם מספק (201 עסקאות במשך 953 ימים) ללא פסק זמן — מימוש המימון ב-O(log n) פועל כמתוכנן
השערה
איטרציה 2 מתקנת את הכשל היחיד בשכבה -2 (`FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given`, בכל ששת התרחישים). ה-`_StrategyProxy` של שכבה -2 קושר מחדש כל מאפיין בר-קריאה של האסטרטגיה לעטיפה פשוטה באמצעות `types.MethodType`, מה שהופך את המתודה הסטטית `_bar_ts` של מחלקת הבסיס, המקבלת ארגומנט אחד, למתודה קשורה — ולכן `self._bar_ts(bar)` מגיע עם שני ארגומנטים. התיקון המזערי מחליף את הקריאה היחידה הזו בפונקציית עזר `_bar_timestamp_ns(bar)` ברמת המודול, שקוראת ישירות את `bar.ts_event` (עם שימוש ב-`ts_init` כחלופה) — זהה בהתנהגותה וחסינה לקשירה מחדש של הפרוקסי. שום דבר אחר לא השתנה: הייבואים, מבנה המחלקה, פענוח המימון, לוגיקת האות, הכניסות, היציאות וקביעת גודל הפוזיציה זהים ברמת הבייט ל-previous_code שעבר את שכבה 1, ולכן לא יכולה להתרחש רגרסיה בבדיקה קודמת. שימו לב ש-`_bar_interval_ns` עדיין נקרא מתוך `__init__`, שרץ על המופע האמיתי לפני שהפרוקסי קושר דבר כלשהו מחדש, ולכן אינו מושפע. המינוף 2.0 משמש בתוך `position_size` באמצעות `self.config.leverage` בתקרת החשיפה הנומינלית ברוטו.
אסטרטגיית מסחר נגד המהלך בקיצוני מימון בנכס יחיד, בעלת תוחלת שלילית — אין יתרון שניתן למטב. PF 0.60, total_return -33.7%, יחס שארפ -0.42, תוחלת של -$156 לעסקה, ו-avg_trade_return_pct -0.37% (שלילי, מתחת לרצפת העמלות של Hyperliquid בגובה 0.15%, L22). הפסד בכל שנה (2024 -14.8%, 2025 -13.8%, 2026 -6.5%), כאשר הן צד הלונג והן צד השורט מציגים שיעור הצלחה נמוך מ--43%, ו-avg_loss > avg_win — המסחר נגד המהלך נמצא באופן שיטתי בצד הלא נכון של התנועה, והחודש החיובי היחיד נובע מיום חריג יחיד של +10.77% (גבנוניות 9.8). המנגנון ממומש היטב (ללא חריגה ממגבלת זמן הריצה, תשלומי המימון נזקפו לזכות החשבון), אך משתייך לשתי משפחות ללא שורדים: חזרה לממוצע/מסחר נגד המהלך בנכס יחיד (L55) ומסחר כיווני בחוזה תמידי יחיד המותנה באות משלים (מימון) (L73). תנאי אי-האישור מצד המחיר לא הוסיף יתרון אמיתי. סימן היתרון לעסקה שלילי, ושום כוונון פרמטרים לא יכול להפוך אותו. לא שווה 2 שעות של אופטימיזציה. דפוס הכישלון: fee_edge/no_edge מסחר נגד המהלך בחוזה תמידי יחיד, המותנה במימון.
מימוש
אסטרטגיית לונג-שורט נגד המגמה בנכס יחיד על החוזה התמידי SOL ב-Hyperliquid (נרות של 4 שעות). המימון משמש מדד לצפיפות הפוזיציות: ציון Z מתגלגל של תצפית hl_funding_rates ביחס להתפלגות ההיסטורית שלה מוחזר בכל נר כאות רציף. מול ציון Z חיובי קיצוני (פוזיציות לונג צפופות המשלמות יותר מדי) נפתחת פוזיציית SHORT נגד המהלך; מול ציון Z שלילי קיצוני (פוזיציות שורט שנכנעו) נפתחת פוזיציית LONG נגד המהלך, אך רק כאשר המחיר אינו מאשר את מיצוב ההמון (מחיר הסגירה אינו קובע שיא/שפל חדש של confirm_bars נרות). היציאה מתבצעת עם חזרת המימון לממוצע (|z| <= exit_z), בהפעלת סטופ ATR שערכו נקבע ונשמר בכניסה, או בהפעלת סטופ זמן קלנדרי הנמדד מ-position.ts_opened. קביעת גודל הפוזיציה מבוססת בראש ובראשונה על סיכון: הפעלת סטופ ATR עולה בכ-risk_frac מההון, לצד תקרה נפרדת לחשיפה הנומינלית ברוטו.
תוצאות אימות
CLEAN RESTART 2026-09-04 — היסטוריית פסקי הדין ורשומות הלמידה של הריצה הזו הוסרו, והיא הופעלה מחדש מהאימות. נטישתה הקודמת נבעה מהצינור, לא מהשוק: רתמת Layer-2 קישרה באופן שגוי עוזרי @staticmethod (תוקן), QA הפיק פסקי ביצועים סופיים על בדיקת עשן לא ממוטבת (הוסר — QA שופט כעת נכונות בלבד), ופסקי הזמן הקצובים בארגז החול נבעו ממחסור במשבצות backtest (תוקן). ההשערה וקוד האסטרטגיה לא השתנו. אמת את הקוד לגופו; הביצועים ייקבעו מאוחר יותר באמצעות ה-backtest המלא והאופטימייזר.
לצמצם את _param_bounds ל-3 פרמטרי הכותרת הניתנים לכוונון (entry_z, exit_z, funding_lookback_prints); לנעול את פרמטרי הסיכון/התשתית כקבועים.
ההשערה מציגה עיצוב בעל '3-פרמטרים בכוונה, כדי להתנגד להתאמת יתר', אך _param_bounds חושף 11 פרמטרים הניתנים לאופטימיזציה. המנגנון נכון, אך חיפוש walk-forward בעל 11 ממדים סותר את ההיגיון המוצהר נגד התאמת יתר ומגדיל את הסיכון ל-PBO. לא חוסם.
אין צורך; צוין עבור האנליסט.
אותות סינתטיים של שכבה-2 קפואים כולם ב-0.0 (לא הוזרק מימון), ולכן נתיב המסחר הופעל רק על ידי ארגז החול (שביצע 65 עסקאות על מימון אמיתי). לא קטלני.
סקירת בדיקה היסטורית
- שארפ
- -0.42
- תשואה כוללת
- -33.71%
- ירידה מרבית
- 40.24%
- סה"כ עסקאות
- 201
- אחוז הצלחה
- 42.3%
- מקדם רווח
- 0.60
המנגנון מופעל בצורה נקייה ומפיק מדגם מספק (201 עסקאות במשך 953 ימים) ללא פסק זמן — מימוש המימון ב-O(log n) פועל כמתוכנן
מכשיר יחיד, פיד משלים יחיד (hl_funding_rates), ללא פתולוגיה של נתונים/אימות; המימון נזקף ל-PnL
תוחלת שלילית: profit_factor 0.60, total_return -33.7%, תוחלת -$156/עסקה
avg_trade_return_pct -0.37% — שלילי ונמוך בהרבה מרצפת העמלות של 0.15% Hyperliquid (L22)
הפסד בכל שלוש השנים (2024 -14.8%, 2025 -13.8%, 2026 -6.5%) — היעדר יתרון מתמשך, ולא יתרון שנשחק
שתי הרגליים מפסידות (שיעור הצלחת הלונג 42%, שיעור הצלחת השורט 42%) כאשר avg_loss > avg_win — דעיכת קיצון המימון נמצאת בצד הלא נכון של התנועה
החודש החיובי היחיד נובע מיום חריג יחיד של +10.77% (גבנוניות 9.8); נתוני המסחר שבבסיס התוצאה שליליים באופן אחיד
מסחר כיווני נגד המהלך בנכס יחיד, המותנה במימון — קטגוריות ללא שורדים של חזרה לממוצע (0/174) ושל מסחר כיווני בחוזה תמידי יחיד המותנה באות משלים (L73)
היסטוריית איטרציות
האימות נכשל (שכבה 2 — תרחישים סינתטיים): פרמטרים שבהם נעשה שימוש: ['exit_z', 'entry_z', 'atr_bars', 'risk_frac', 'min_prints', 'confirm_bars', '_param_bounds', 'atr_stop_mult', 'max_hold_bars', 'max_lag_seconds', 'max_notional_frac', 'funding_lookback_prints'] יש לוודא ש-__init__ מגדיר את כל התכונות מתוך self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts() מקבל 1 ארגומנטים מיקומיים, אך ניתנו 2 (חותמת זמן של נר: 1735690500000) - steady_downtrend: TypeError: FactoryStrategy._bar_ts() מקבל 1 ארגומנטים מיקומיים, אך ניתנו 2 (חותמת זמן של נר: 1735690500000) - flat_ranging: TypeError: FactoryStrategy._bar_ts() מקבל 1 ארגומנטים מיקומיים, אך ניתנו 2 (חותמת זמן של נר: 1735690500000) - volatility_spike: TypeError: FactoryStrategy._bar_ts() מקבל 1 ארגומנטים מיקומיים, אך ניתנו 2 (חותמת זמן של נר: 1735690500000) - zero_volume: TypeError: FactoryStrategy._bar_ts() מקבל 1 ארגומנטים מיקומיים, אך ניתנו 2 (חותמת זמן של נר: 1735690500000) - price_gap: TypeError: FactoryStrategy._bar_ts() מקבל 1 ארגומנטים מיקומיים, אך ניתנו 2 (חותמת זמן של נר: 1735690500000)
Stratmill הוא כלי למחקר ולמסחר נייר (Paper Trading), ואינו ייעוץ פיננסי או ברוקר. תוצאות בדיקה לאחור ומסחר נייר הן היפותטיות. מסחר טומן בחובו סיכון להפסד.