آموزش فیلتر نویسی قسمت چهارم

آموزش فیلتر نویسی قسمت چهارم

در قسمت قبل با نحوه شخصی سازی قالب دیده بان آشنا شدیم. همچنین دو فیتلر RSI و نسبت حجمی رو دیدیم (کدها رو بررسی نکردیم چون هدف آشنایی با تنظیم قالب شخصی بود)

این قسمت انشاالله قصد داریم قالب های کد نویسی رو براتون شرح بدیم.

اصلا ببینیم چی هست این قالب ها و چه تفاوتی داره ؟

این اولین فیلتری بود که باهم نوشتیم:

(pl)<(py)

در سخت ترین حالت هم چند تا شرط رو ما با علامت || یا با عالمت && باهم نوشتیم. خب در قالب سادهاز دستورات و توابع پیش ساخته خود سایت استفاده می کنیم )باهمه دستورات و توابع از پیش آماده درجلسات پیش آشنا شدیم(.

به عنوان مثال، دستور CountI_Sell).ct )تعداد فروشنده حقیقی سهم را برای ما نمایش میده و یا تابع()round.Math عدد داخل پرانتز رو برای ما گرد میکنه.حرکت کنیدبهتون قول میدم با همین یک ابزار ساده نشاط رو به خرید و فروش هاتو ن برگردونید!این فرصت ها رو غنیمت بشمارید. در بازار منفی اتفاقا شما باید به اطلاعات خودتون اضافه کنید.بازار مثبت که فقط باید به فکر این باشید که چطور بیشتر سود کنید… مجال یادگیری نیست.حالا فرض کنید بخواین حجم میانگین معاملات ۴ روز گذشته رو داشته باشین و یا میانگین حجمی ۱۳ روزهرو با میانگین حجمی ۴ روزه مقایسه کنید. مثال همین فیلتری که امروز خانم شهبازی نوشتن، سهم حفارستوش اومده بود. خب شما سهم رو شناسایی کردید که بسیار حجم بالایی خورده. از طرفی می بینیدسهم درقله داره معامله میشه… بهترین کار چیه؟ آیا خرید؟ حتی اگر بعدش هم رشد کنه آیا ریسک به ریوارد مناسبیداره؟

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

فیلتر نویسی با توابع:

فیلترهای ساده ای که تاکنون به عنوان مثال ارائه شدند غالبا تک دستوری و یا چنددستوری بودند. در اینبخش می خواهیم فیلترهایی بنویسیم که عالوه بر کدهای ساده از توابع دیگری نیز استفاده کنند.تابع چیست؟

فیلتری که برای حل بخشی از مسئله نوشته میشود را تابع میگوییم.

استفاده از توابع امتیازهای زیادی دارد که بعضی از آنها عبارتند از:

۱ -استفاده از تابع موجب میشود تا یک فیلتر پیچیده به بخشهای کوچکتری تقسیم شود و حل اینبخشهای کوچک آسانتر از حل کل مسئله است.
۲ -اشکال زادیی فیلترها آسان میشود.
۴ -توابع موجب جلوگیری از تکرار دستورات میشوند. تابع یکبار نوشته میشود و در جاهای مختلف مورداستفاده قرار میگیرد.

نوشتن توابع

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

بدنه کلی قالب کد نویسی:

()true == function
}
محل نوشتن توابع دلخواه
(محل نوشتن شرط)if
}
return true;
{
else
}
return false;
{
{()

و یا به این شکل:

شرطی که داخل پرانتز جلوی if میذاریم اگه درست باشه مقدار true رو بر میگردونه. با برگردوندن مقدارtrue سهام با اون ویژگی خاص برای ما نمایش داده می شوند. مثال داخل if اگه بذاریم ۰)>pe (سهامی کهپر بی ای مثبتی دارند رو نمایش میده.

خب پس بسیار راحته. ما شرط هامون رو تو دل دستور if میذاریم. اگه نیاز به تابع خاصی هم داشتیم از فرمتمشخص شده تو شکل استفاده می کنیم و تابع مورد نظر رو می نویسیم.

خب چون فیلتر ۱ بسیار ساده بود و نیاز به تابعی نداشتیم براحتی همون شرط ها رو در داخل پرانتز ifمیگذاریم. نتیجه این فیلتر با فیلتر شماره ۱ دقیقا برابر خواهد بود.

برنامه شما می بایست دو مقدار true و یا false را برگرداند. در صورت برگشت مقدار true یعنی نماد موردنظر در دیده بان نمایش داده شود و مقدار false یعنی نماد نمایش داده نشود. در برنامه شما ابتدا می بایست توابع خود را تعریف کنید بعد از اون می توانید از آن توابع در برنامه استفاده کنید.

یک فیلتر جدید با نام نسبت میانگین های حجمی ایجاد کنید :

قالب کلی کد نویسی رو در اون بنویسید. شکل زیر…

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