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

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

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

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

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

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

1. אסטרטגיות המשתמשות ב- calc_on_every_tick = true. אסטרטגיה עם פרמטר calc_on_every_tick = false עשויה להיות נוטה לצביעה מחדש, אך במידה פחותה.

2. שימוש באבטחה לבקשת נתונים מרזולוציה גבוהה מהרזולוציה של הסימול הראשי של הגרף:

// Add this study on 1 minute chart
//@version=4
study("My Script")
c = security(syminfo.tickerid, "5", close)
plot(close)
plot(c, color=color.red)

מחקר זה יחשב באופן שונה על נתונים בזמן אמת והיסטוריים, ללא קשר לערך של פרמטר lookahead (ראה understanding lookahead).

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

// Add this study on 5 minute chart
//@version=3
study("My Script")
c = security(tickerid, "1", close, lookahead=false)
plot(close)
plot(c, color=red)

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

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

  • כאשר הם משתמשים בפונקציות  valuewhenbarssince or ema  (בגלל המוזרויות באלגוריתם שלהם)
  • כל אסטרטגיית בדיקה חוזרת (ללא קשר להגדרת הפרמטר calc_on_every_tick)

יש תלות בין הרזולוציה ליישור נקודת התחלה:

  • 1–14 דקות - מיישר לתחילת שבוע
  • 15–29 דקות - מיישר לתחילת חודש
  • מ- 30 דקות ומעלה - מיישר לתחילת שנה

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

  • 40000 ברים היסטוריים לתוכניות אולטימטיביות
  • 30000 ברים היסטוריים עבור תוכניות עילית
  • 25,000 ברים היסטוריים עבור תוכניות מומחים
  • 20000 ברים היסטוריים עבור תוכניות פרימיום
  • 10000 ברים היסטוריים עבור תוכניות Essential ו - Plus
  • 5000 ברים היסטוריים לתוכניות אחרות

5. שינויים בנתונים ההיסטוריים, למשל, עקב פיצול.

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