كيف يتم حساب الأداء في منصة الفلترة Screener ؟

يتم حساب بيانات أداء منصة الفلترة باستخدام الصيغة:


Perf
. = (currentClose – openDaysAgo) × 100 / abs(openDaysAgo)
Java

حيث:

  • CurrentClose - أحدث سعر إغلاق
  • OpenDaysago - سعر الافتتاح للشريط السابق المقابل، والذي يتم تحديده من خلال الفاصل الزمني المحدد (على سبيل المثال، أسبوع واحد، 3 أشهر، 365 يومًا)

مثال

اليوم هو الثلاثاء، دعنا نحسب Perf.W:

  1. خذ سعر الإغلاق اليوم.
  2. اطرح سعر افتتاح البار اليومي يوم الثلاثاء الماضي
  3. اضرب الفرق في 100
  4. اقسم النتيجة على القيمة المطلقة لسعر فتح الشريط اليومي يوم الثلاثاء الماضي

فيما يلي صيغة تفصيلية للقرارات الأكثر استخدامًا، مع مراعاة التفاصيل مثل عدد الأيام في سنة كبيسة. 


//@version=6
indicator("Screener Performance")// first bar's timestamp in pine history var first_bar_time = time / 1000// Performance helper functions rateOfreturn(ref) =>if ref < 0 and close > 0         na     else(close - ref) * 100 / math.abs(ref) rr(bb, maxbarsback) =>nz(open[maxbarsback] * 0) + bb == 0 ? na : rateOfreturn(open[bb]) perfYTD() =>if year != year(timenow)         na     elsevar lastYearOpen = openif year > year[1]             lastYearOpen := openrateOfreturn(lastYearOpen)fastSearchTimeIndex(x, maxbarsback) =>     mid = 0 * time[maxbarsback]     right = math.min(bar_index, maxbarsback)     left = 0if x/1000 <= first_bar_time         bar_index     else if time < x         0elsefor i = 0 to 10             mid := math.ceil((left + right) / 2)if left == right                 breakelse if time[mid] < x                 right := mid                 continueelse if time[mid] > x                 left := mid                 continueelsebreak         mid week1 = 7 week_ago = timenow - 1000 * 60 * 60 * 24 * week1 week_ago_this_bar = time - 1000 * 60 * 60 * 24 * week1 countOfBarsWeekAgo = fastSearchTimeIndex(week_ago, week1) month1 = 30 month_ago = timenow - 1000 * 60 * 60 * 24 * month1 countOfBars1MonthAgo = fastSearchTimeIndex(month_ago, month1) month3 = 90 months3_ago = timenow - 1000 * 60 * 60 * 24 * month3 countOfBars3MonthAgo = fastSearchTimeIndex(months3_ago, month3) month6 = 180 months6_ago = timenow - 1000 * 60 * 60 * 24 * month6 countOfBars6MonthAgo = fastSearchTimeIndex(months6_ago, month6) years1 = 365 oneYearAgo = timenow - 1000 * 60 * 60 * 24 * years1 barsCountOneYear = fastSearchTimeIndex(oneYearAgo, years1) years3 = 365 * 3 years3_ago = timenow - 1000 * 60 * 60 * 24 * years3 countOfBars3YearAgo = fastSearchTimeIndex(years3_ago, years3) years5 = 365 * 4 + 366 years5_ago = timenow - 1000 * 60 * 60 * 24 * years5 countOfBars5YearAgo = fastSearchTimeIndex(years5_ago, years5) years10 = (365 * 4 + 366) * 2 years10_ago = timenow - 1000 * 60 * 60 * 24 * years10 countOfBars10YearAgo = fastSearchTimeIndex(years10_ago, years10)// Perf.<W | 1M | 3M | 6M | Y | 5Y | 10Y | YTD> fiveDays = 5 fiveDaysAgo = timenow - 1000 * 60 * 60 * 24 * fiveDays countOfBarsFiveDaysAgo = fastSearchTimeIndex(fiveDaysAgo, fiveDays) perfYTD = perfYTD() plot(rr(countOfBarsFiveDaysAgo, fiveDays), title='Perf.5D') plot(rr(countOfBarsWeekAgo, week1), title='Perf.W') plot(rr(countOfBars1MonthAgo, month1), title='Perf.1M') plot(rr(countOfBars3MonthAgo, month3), title='Perf.3M') plot(rr(countOfBars6MonthAgo, month6), title='Perf.6M') plot(rr(barsCountOneYear, years1), title='Perf.Y') plot(rr(countOfBars3YearAgo, years3), title='Perf.3Y') plot(rr(countOfBars5YearAgo, years5), title='Perf.5Y') plot(rr(countOfBars10YearAgo, years10), title='Perf.10Y') plot(perfYTD, title='Perf.YTD')
Java

ملاحظة: تختلف قيم هذا البرنامج النصي في التاريخ والوقت الفعلي بسبب timenow، انظر هنا .

 

بالنسبة للعروض المرئية، يمكنك إضافة هذا البرنامج النصي إلى المخطط الخاص بك من خلال Pine Editor باستخدام الإطار الزمني اليومي للمخطط. سيظهر مؤشر على الرسم البياني، حيث ستعرض مخططاته قيم كل نوع من أنواع الأداء.

 

 

التغيير% مقابل الأداء%:

 

لنفترض أن اليوم هو الثلاثاء.

التغيير الأسبوعي - الفرق بين الإغلاق الحالي (الثلاثاء) والإغلاق من الأسبوع الماضي (سعر إغلاق يوم الجمعة السابق). 

الأداء الأسبوعي - الفرق بين الإغلاق الحالي (الثلاثاء) والفتح منذ أسبوع بالضبط (الثلاثاء السابق).