فیلتر نویسی در بورس ۱ – قالب و عملگرها

احتمالا شما هم امکان فیلترها رو در دیدبان سایت بورس تهران مشاهده کردید. اینجا یه توضیح کوچیک در مورد قالب و عملگرها دادم.

فیلتر یه امکانی هستن که وبسایت tsetmc در اختیار کاربران قرار میده و همونطور که از اسمش مشخصه میاد نمادها رو فیلتر میکنه و فقط اون نمادهایی که شما میخواهید رو نمایش میده.

در اصل فیلتر ها یه قطعه کد جاوا اسکریپتی هستن که دارن یه شرطی رو به ازای هر نماد بررسی می کنند.

مثل قسمت where کوئری رو دیتابیس می مونه فقط یکم کثیفتر و محدود تره.🙄

مثلا میتونین بنویسید اون سهم هایی که 10 روز اخیر قیمت پایانیشون نسبت به روز قبل کمتر شده (منفی بوده قیمت پایانیشون) و … دستتون بازه که هرچی که خواستین رو بنویسن دیگه.

خلاصه با قیمت لحظه ای و قیمت روزهای دیگه و حجم و تعداد و نوع معاملات و یه سری متغییرهای هر نماد می تونید ور برید و شرطی رو برای خودتون بنویسید که اگه true بود اون نماد توی دیدبان بیاد.

توی این قسمت فقط قالب کد رو گفتم که چیز خاصی نیست در پست بعدی لیست متغییرها رو قرار می دهم.

قالب کدها

قالب اول: صرفا یک سری شرط ساده اند.

در این حالت شما می توانید به کمک شرط های ساده و عملگرهای منطقی فیلتر خود را بنویسید:

//Conditions and logical operators.

مثلا فیلتر زیر نمادهایی که 7 روز گذشته افت قیمت داشته اند را نشان می دهد:

[ih][7].PClosing > [ih][6].PClosing && 
[ih][6].PClosing > [ih][5].PClosing && 
[ih][5].PClosing > [ih][4].PClosing && 
[ih][4].PClosing > [ih][3].PClosing &&
[ih][3].PClosing > [ih][2].PClosing && 
[ih][2].PClosing > [ih][1].PClosing && 
[ih][1].PClosing > [ih][0].PClosing 

قالب دوم: شرط هایی که منطق پیچیده تری دارند.

در این حالت شما میتونید لاجیک بنوسید و بر اساس یک سری محاسبات یک سری شرط رو چک کنید و حاصل رو برگردونید که آیا نماد شروط را ارضا می کند یا نه:

true == function () {
	// Codes goes here
	// this function must return a boolean value
}()

مثلا فیلتر زیر نماد هایی که قیمت کنونی انها از قیمت میانگین 7 روز گذشته پایین تر است را نمایش می دهد.

true == function () {
    let minPriceInLastDays = function (days) {
        let min = [ih][0].PriceMin;
        for (let index = 0; index < days; index++)
            if (min > [ih][index].PriceMin)
                min = [ih][index].PriceMin;
        return min;
    };

    return (pl) < minPriceInLastDays(7);
}()

همانطور که مشاهده می کنید این کد داینامیک تر است و به راحتی می توان با تغییر عدد 7 به 21 همان فیلتر را برای 21 روز داشته باشیم.

همان طور که متوجه شدید می توان بجای قالب ساده همیشه از قالب دوم استفاده کرد.

عملگرها

همان عملگرهای معمولی جاوااسکریپت شامل ضرب و تقسیم و جمع و منها و عملگرهای منطقی مثلا «و» «یا» «بزرگتر» «کوچکتر» و بقیه عملگر ها و توابع خود جاوا اسکریپت است که می توانید استفاده کنید مثلا کتابخونه Math برای توان رساندن یا لگاریتم و جذر و ...

خب اینجا این پست هم به پایان می رسد و در پست بعدی متغییرهای نمادها رو با مثال توضیح می دهم.

دیدگاه ها

دیدگاهی نوشته نشده است.

به عنوان اولین نفر دیدگاه خودتان را در مورد این پست بنویسید.