פיתוח אינדיקטורים מותאמים אישית לניתוח טכני עבור שוק הקריפטו

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

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

שאלות נפוצות

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

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

אינדיקטור מותאם אישית במקום מובנה: היכן הולך לאיבוד האות

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

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

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

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

מה נותן חישוב עצמאי: דיוק, מהירות, יציבות

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

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

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

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

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

אפשרויות מימוש: חישוב בטרמינל, שירות או זרם

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

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

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

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

איך בנויה העבודה: מהגדרת המשימה ועד מסירת הקוד

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

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

ערכת מסירה: קוד מקור, תיעוד, נהלים

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

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

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

מקרה בוחן: חישוב מרווח ארביטראז' על זרם ציטוטים

מה היה לפני

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

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

מה שינו

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

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

מה נהיה

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

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

במה שונה אינדיקטור מותאם אישית מאינדיקטור מובנה בטרמינל?

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

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

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

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

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

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

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

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

מה לעשות אם היסטוריית הציטוטים חלקית?

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

כיצד אתם מגנים מפני התאמה יתר לתנועות מחיר קודמות?

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

עד כמה מדויק החישוב מחדש בעת איחוד כמה פלטפורמות?

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

נדון במשימה ונחזור עם הערכה ותוכנית עבודה

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

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

בשיחה הראשונה נפרק:

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

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