ایجاد اولین فیلتر در دیده بان (فیلترنویسی 5)

کدنویسی فیلتر بورس
پنجشنبه، 1400/5/28

مقدمات ایجاد کد در فیلترنویسی

پس از مقدماتی که تاکنون در خصوص تنظیمات دیده بان بازار و قالب نمایش، گرفتن خروجی و ... گفتیم، وقت آن رسیده است تا به شکل تخصصی تر وارد بحث فیلترنویسی شویم و اولین فیلتر را بنویسیم و نتیجه را در دیده بان بازار بینیم. با استفاده از کدنویسی می توان فقط سطرهایی (نمادهایی) را در دیده بان بازار مشاهده کرد که دارای مشخصات مورد نظر ما باشند. برای مثال با کدنویسی و ایجاد فیلتر، می توان کارهایی به شرح زیر را انجام داد:
- نمایش نمادهایی که بیش از 200 بار معامله شده اند.
- نمایش نمادهایی که کمتر از حجم مبنا معامله شده اند.
- نمایش نمادهای در صف خرید، فروش، قیمت در درصد مشخص، درصد افت یا رشد ماهانه نماد، درصد خرید حقیقی و حقوقی، نسبت قدرت خریدار به فروشنده، نمایش حق تقدم ها، نمایش معاملات بلوک، نمایش قیمت سهم در تاریخ خاص و ...
دقت کنید که موارد بالا بصورت نمونه مطرح شده اند و دست شما در ایجاد دستورات و شرایط مورد نظر برای نمایش نمادهای مورد نظرتان تا حدود زیادی باز است.

برای به دست آوردن و نمایش آنچه می خواهید، باید یک الگوریتم ساده را با استفاده از نوشتن کد، پیاده سازی کنید. از نام الگوریتم نترسید چرا که شما در طول روز چندین الگوریتم به کار می برید تا کارهایتان به نتیجه برسند؛ در واقع الگوریتم مجموعه ای از دستورالعمل ها است که به ترتیب خاصی اجرا می شوند و در نهایت منجر به حل یک مساله می شود. پس می توان گفت که الگوریتم، روشی گام به گام برای حل مساایل است. بیشتر اعمال و کارهای روزانه ما نیز از اصول خاصی پیروی می کنند که روش رسیدن به نتایج حاصل از آنها را می توانیم الگوریتم بنامیم. برای مثال فرض کنید می خواهید افراد بیشتر از 20 سال را در یک جمع شناسایی کنید و به یک اردوی تفریحی بفرستید، تاریخ 20 سال قبل را پیدا می کنید، هرکس که بعد از آن تاریخ متولد شده باشد، کمتر از 20 سال سن دارد و چنانچه کسی قبل از آن تاریخ متولد شده باشد، بیشتر از 20 سال سن دارد؛ پس از تعیین اسامی، آنها را یادداشت می کنید و مجوز رفتن به اردو را برایشان صادر می‌کنید؛ این یک الگوریتم یا راه‌حل برای تعیین افراد مجاز برای شرکت در اردو با شرط تعیین شده شما است. حضور در مدرسه، پخت غذا، انجام کار، تنظیم قرار و جلسه و سایر فعالیت های روزمره هم الگوریتم خاصی دارند که هر یک شامل چندین دستور هستند که آنها را اجرا می کنید تا در نهایت منجر به نتیجه نهایی شود. حل مسائلی مانند محاسبه میانگین نمرات، مبالغ بدهکاری و طلبکاری و ... نیز به همین صورت است.
برای ایجاد فیلتر در نمادهای بورسی نیز ابتدا پس از یادگیری قواعد آن، مساله را شناسایی می کنید، در صورت لزوم به بخش های کوچکتر تقسیم می کنید و با نوشتن کدها و یا دستورات لازم در بخش ایجاد فیلتر از دیده بان بازار سایت Tsetmc.com، آنها را اجرا می کنید تا نتایج در دیده بان بازار نمایش داده شوند.

کد فیلترها را در کجا بنویسیم؟

ابتدا از صفحه اصلی سایت Tsetmc.com وارد بخش "دیده بان بازار"شوید. در صفحه بعد روی آیکون "فیلتر" کلیک کنید؛ شکل زیر را ببینید.

کجا فیلتر بنویسیم؟

بعد از کلیک وارد صفحه جدیدی می شوید، روی گزینه "فیلتر جدید" کلیک کنید. یک گزینه دیگر اضافه می شود به نام "فیلتر شماره 0"، روی این گزینه جدید کلیک کنید و نام آن را از قسمت بالای صفحه باز شده به نام مورد نظر خود تغییر دهید. همیشه سعی کنید نامی را به آن اختصاص دهید که اگر دفعات بعد هم سر زدید، بدانید که این فیلتر مربوط به چیست. به عنوان مثال "پایانی کمتر از 1000"؛ هدف ما این است که بخواهیم نمادهایی که قیمت پایانی کمتر از 1000 ریال دارند را به اصطلاح فیلتر کنیم و نمایش دهیم. حال در محل نوشتن فیلتر، کد زیر را بنویسید:

(pc)<1000;

از بالای ویرایشگر نوشتن فیلتر، "اعتبارسنجی" را بزنید؛ چنانچه خطایی مشاهده شود، اینجا به شما گفته می شود؛ در غیر این صورت، نوشته می شود که خطایی در کد مشاهده شده است که شما باید آن را ویرایش و اصلاح کنید؛ چنانچه خطایی وجود نداشت، روی "ثبت" از بالای پنجره ویرایشگر کد کلیک کنید؛ به این ترتیب فیلتر شما ذخیره شده و با نامی که انتخاب کرده بودید، ثبت می شود؛ تصویر زیر را ببینید. علاوه بر این، فیلتر ایجاد شده شما هم اجرا می شود و نمادهایی که شرایط مشخص شده را داشته باشند به نمایش در می آیند. برای هم که از قسمت دوم فیلترنویسی که قبلا سایت بورس نما قرار داده شده است، می توانید استفاده کنید. تبریک می گوییم، شما موفق شدید اولین فیلتر خود را ایجاد کنید.

فیلترنویسی در بورس

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

همین الان ممکن است ذهن شما دگیر شود که (pc) از کجا آمد. نگران نباشید، در ادامه این بخش فیلد ها، عملگرها و توابع پیش ساخته شده ای که در فیلترنویسی استفاده می شوند را ارائه می کنیم تا در آینده به آنها مراجعه کنیم. توجه داشته باشید که نیازی به حفظ کردن آنها نمی باشد و چون با برخی از آنها بیشتر کار می کنید، خود به خود ممکن است در حافظه شما ثبت شوند.

الف) فیلدهای ساده در فیلترنویسی

فیلدهای ساده که در فیلترنویسی بسیار استفاده می شوند در جدول های زیر مشخص شده اند. از مهم ترین این فیلدها می توان تعداد معاملات، حجم معاملات، ارزش معاملات، قیمت آخرین معامله، قیمت پایانی، کمترین و بیشترین قیمت، حجم و قیمت های سطرهای مختلف خرید و فروش، گروه صنعت، ارزش بازار، تعداد سهام شرکت و ... را نام برد. به عنوان مثال جدول سوم را ببینید که در آن مشخص شده است که (pc) متعلق به قیمت پایانی است؛ همانطورکه در مثال بالا هم گفتیم.

جدول فیلدهای ساده در فیلترنویسی1

جدول فیلدهای ساده در فیلترنویسی2

جدول فیلدهای ساده در فیلترنویسی3

ب) سابقه معاملات و قیمت ها در فیلترنویسی

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

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

ج) اطلاعات و آمارهای کلیدی فیلترها

میانگین آمار های سه ماهه، سالانه، رتبه های منفی و مثبت در بازه سه ماهه و یک ساله، میانگین حجم خرید و فروش و حقیقی و حقوقی در 3 ماه و 12 ماه گذشته، تعداد روزهای باز و بسته بودن نماد و اطلاعاتی از این دست در جداول زیر ارائه شده اند.

آمار سوابق در فیلترنویسی1

آمار سوابق در فیلترنویسی2

آمار سوابق در فیلترنویسی3آمار سوابق در فیلترنویسی4آمار سوابق در فیلترنویسی5

د) توابع پیش ساخته برای استفاده در ایجاد فیلتر

گاهی وقت ها برای اینکه زیاد درگیر کدنویسی نشوید، نیاز است تا از یکی سری توابع از پیش آماده شده پر استفاده، بهره بگیرید. به این صورت تنها کافی است که یک ورودی به تابع بدهید و آنگاه خروجی های مورد نظرتان را دریافت کنید. این توابع را در جدول زیر می بینید که به ترتیب عبیارتند از:

1- تابع Math.abs(x) قدر مطلق عدد x را بر می گرداند.

2- تابع Math.ceil(x)، ورودی x را به سمت اولین عدد صحیح بزرگتر از آن گرد می کند. توجه کنید که x می تواند مثبت یا منفی باشد.

3- تابع Math.exp(x)، اکسپوننشیال عدد x را بر می گرداند.

4- تابع Math.floor(x)، ورودی x را به سمت اولین عدد صحیح کوچکتر از آن گرد می کند. توجه کنید که x می تواند مثبت یا منفی باشد.

5- تابع Math.log(x)، لگاریتم طبیعی x  را بر می گرداند. (لگاریتم در مبنای e یا عدد نپر)

6- تابع Math.max(x,y,z,,...,n) مقدار ماکزیمم یا بیشینه اعداد ورودی به تابع را بر می گرداند.

7- تابع Math.min(x,y,z,,...,n) مقدار مینیمم یا کمینه اعداد ورودی به تابع را بر می گرداند.

8- تابع Math..pow(x,y)، عدد x را به توان y می رساند و نتیجه را بر می گرداند.

9- تابع Math.round(x)، عدد x را به نزدیکترین عدد صحیح گرد یا رُند می کند. توجه کنید که x می تواند مثبت یا منفی باشد.

10- تابع Math.sqrt(x)، ریشه دوم یا جذر عدد x را بر می گرداند.

توابع پیش ساخته فیلترنویسی

مثال از توابع فیلترنویسی

یک مثال از توابع پیش ساخته فیلترنویسی می زنیم تا این بحث برای شما روشن شود:

فرض کنید که درصد پایانی یک نماد منفی 2.6  و نماد دیگر 3.4 است، Math.ceil(x) را برای آن تعیین کنید. در ردیف دوم توضیحات توابع پیش ساخته گفتیم که این تابع، هر عدد را به اولین عدد صحیح بزرگتر از آن گرد می کند پس:

Math.ceil(-2.6) = -2 و Math.ceil(3.4) = 4.

فیلترنویسی به چه زبانی انجام می شود؟

اگر بخواهید بدانید فیلترنویسی بر اساس چه زبانی انجام می شود؛ باید گفت که کدنویسی برای فیلترها بر اساس زبان جاوا اسکریپت انجام می شود. البته این به آن معنی نیست که بخواهیم به شما بگوییم بروید و این زبان را یاد بگیرید؛ چرا که اولا نیاز آنچنانی نیست که شما همه دستورات جاوا اسکریپت را بدانید و ثانیا ممکن است اصلا با زبان های برنامه نویسی آشنایی نداشته باشید و این در حالی است که بدون دانستن آنها نیز می توانید تا حدود زیادی گلیمتان را به خصوص در بحث فیلترنویسی از آب بیرون بکشید. به همین منظور ما برخی مقدمات را برای کدنویسی خدمت شما عرض می کنیم تا با دانش بیشتری وارد شوید؛ البته این را هم باید گفت که حتی در صورتی که نتوانید این مطالبی که در پست های بعدی گفته خواهد شد را هم درک کنید، باز هم در وبسایت بورس نما، کدهای آماده و کاربردی ای را برای شما ارائه خواهیم کرد که بتوانید از آنها بهره کافی را ببرید.

جواد مهدی‌نیا
لینک کوتاه
دیدگاه خود را ثبت کنید
دیدگـاه مخاطبــان
لوگوی بورس نما

آموزش سرمایه‌گذاری در بورس و بازار سهام، تحلیل ها، فیلترها و اخبار روزانه، تحلیل بنیادی و تکنیکال، بررسی روانشناسی بازار، ارزهای دیجیتال و ... در وبسایت بورس نما برای مخاطبین محترم فراهم شده است. امکان تبادل و تبلیغات لینک و بنر نیز برای کسب سئوی بهتر، رتبه بهتر الکسا و معرفی محصولات و برند شما در بخش تبلیغات و تبادل لینک و بنر سایت فراهم شده است.


تبلیغات
تبلیغات