فیلتر نویسی چیست؟
فیلترنویسی استفاده از شروط و دستورات برنامه نویسی برای فیلتر کردن تعدادی نماد از میان صد ها نماد بازار بورس است. بوسیله فیلتر نویسی می توانیم شرایط تکنیکالی ، تابلوی معاملات ، سابقه و دیگر ویژگی های مورد نظرمان را روی نماد ها اعمال کنیم و به جای بررسی بیش از ۵۰۰ نماد بازار بورس ، تعدادی از نماد های دارای ویژگی مورد نظرمان را بررسی کنیم.
فیلترنویسی در سایت شرکت مدیریت فناوری بورس تهران انجام میشود و زبان مورد استفاده JavaScript است. برای تسلط به فیلترنویسی ابتدا باید با قواعد و ساختار های برنامه نویسی آشنا شد. در این دوره بطور کامل ساختار های مورد نیاز آموزش داده میشود.
یکی از کاربردهای مهم فیلترنویسی دسترسی به سابقه معاملات هر نماد است. به وسیله فیلدهای سابقه ، قیمت های سهام تا 60 روز کاری قبل قابل دسترس خواهد بود. اطلاعات معاملات حقیقی و حقوقی هم از دیگر بخش های مفید فیلترنویسی بورس است.
در این مجموعه آموزشی چه اهدافی دنبال می شود؟
در ابتدا با فیلترنویسی و قسمت های مختلف دیده بان بورس سایت بورس آشنا میشویم. سپس به معرفی فیلدها و عملگرها میپردازیم. فیلدها همان ویژگی ها و مشخصه های هر نماد هستند. بعنوان مثال حجم معاملات با فیلد (tvol) نمایش داده میشود یا هرجا در فیلتر فیلد (pc) به کار برده شود منظور قیمت پایانی نماد است. از ترکیب فیلد ها و عملگرها شروط ساخته میشوند و ترکیب شروط با هم، فیلتر ساده ایجاد میکند که اولین قالب فیلتر نویسی است.
بعد از آموزش و مثال های متعدد از قالب ساده، ساختاری های برنامه نویسی را آموزش میبینیم. بعد از یادگیری ساختار های برنامه نویسی مثل حلقه ها و ساختار های تصمیم، قالب کد نویسی را آموزش میدهیم که فیلترهای پیشرفته تر در این قالب قابل پیاده سازی هستند.
بعنوان مثال فیلتر محاسبه میانگین حجم ماه یک نماد در قالب ساده بیش از 20 دستور و عمل جمع نیاز دارد اما در قالب کد نویسی با یک ساختار حلقه دو خطی قابل انجام است. و در نهایت در پایان دوره فیلترهای آماده و کاربردی معرفی میشوند
داشتن دید وسیع تر در فیلتر نویسی
توجه داشته باشید که دانش فیلتر نویسی باعث می شود دید وسیع تری نسبت به سهام های بازار داشته باشید و شما را نسبت به کسانی که فیلتر نویسی بلد نیستند در جایگاه بالاتری قرار می دهد. ولی دقت کنید که دانستن آن برای همه لازم نیست چون مفاهیم پیچیده برنامه نویسی دارد اما شما باید حداقل استفاده از فیلتر های کاربردی را بلد باشید تا در معاملات خود بهتر عمل کنید.
نمایی از این مجموعه
ردیف | عنوان | لینک | حجم | زمان |
1 | آشنایی با فیلتر نویسی و دیده بان سایت tsetmc | نمایش | 113MB | 21min |
2 | فیلدها و عملگرها | نمایش | 121MB | 46min |
3 | شروع فیلترنویسی، قالب ساده | نمایش | 141MB | 37min |
4 | اطلاعات حقیقی و حقوقی | نمایش | 91MB | 36min |
5 | سابقه قیمت ها | نمایش | 90MB | 42min |
6 | فیلترهای کاربردی | نمایش | 170MB | 58min |
7 | قالب کدنویسی | نمایش | 49MB | 24min |
8 | ساختارهای تصمیم و کنترل (If) | نمایش | 92MB | 35min |
9 | تمرین | نمایش | 72MB | 30min |
10 | ساختار Switch | نمایش | 51MB | 21min |
11 | ساختار For | نمایش | 55MB | 31min |
12 | ساختار While | نمایش | 22MB | 11min |
13 | قالب شخصی و فیلدهای کاربر | نمایش | 68MB | 22min |
14 | رفع اشکال | نمایش | 145MB | 47min |
15 | توابع شخصی | نمایش | 39MB | 18min |
16 | فیلتر اندیکاتور | نمایش | 50MB | 18min |
17 | توابع آماده و آمار های کلیدی | نمایش | 52MB | 17min |
18 | ایجاد سبد و خطایابی | نمایش | 66MB | 13min |
19 | پرسش و پاسخ + فیلتر پولبک و کد به کد | نمایش | 228MB | 55min |
پیوست | فیلترهای دوره | دانلود | کم | |
پیوست | راهنمای فیلدها و عملگرها | دانلود | کم |
201 دیدگاه
Ehsan
همه چیز آموزش بسیار عالی بود.
کیفیت تدریس عالی
کیفیت صدا و تصویر عالی
با تشکر از زحمات جناب شمس
اگر امکانش وجود داره یک قسمت هم درباره نوشتن توابع دلخواه و فراخوانی اون توابع تهیه کنید.
و سوالی هم که داشتم اینه که آیا زبان برنامه نویسی که استفاده میشه برای فیلتر نویسی همون زبان جاوااسکریپت هست؟
مجتبی شمس نجاتی
در پاسخ به: Ehsanسلام ممنونم
توابع جلسات بعدی تدریس میشه و زبان هم جاوا اسکریپت هست
reza
سلام
ممنون بابت زحماتتون
۱ آیا آموزش های شما به شکلی هست که مخاطب بتون با خلاقیت فیلتر که تو ذهنش هست رو پیاده کنه یا نه صرفا آموزش موشتن یه سری فیلتر خاصه ؟؟؟؟
۲ با توجه به زبان های فیلتر نویسی مختلفی که وجود داره …. به عنوان مثال من خودم دیدم خیلی ها از زبان MQL واسه بازار ایران دارن استفاده میکنه و جالب بود سهم های خوبی هم پیدا می کردن
حالا سوال من اینه زبان MQL مال تره ؟؟؟ چه ویزگی هایی داره ؟؟؟ میشه یه توضیح مختصری بدید ؟؟؟
مجتبی شمس نجاتی
در پاسخ به: rezaسلام آموزش ها همونطور که گفته شده کاملا برای درک فیلترنویسی و مبانی برنامه نویسی هست تا تمام فیلتر عای مورد نیاز رو دانشجو بتونه خودش پیاده سازی کنه که نیازمند تمرین زیاد و یادگیری کامل دوره هست.
در مورد mql هم فقط اطلاعات چارت رو در اختیار دارید ولی در فیلتر نویسی تمام اطلاعات تابلو. هرکدام ویژگی های خودشون رو دارن و کاربرد متفاوت.
abdi
در پاسخ به: مجتبی شمس نجاتیسلام جناب شمس با سپاس از شما به خاطر آموزش های خوبتون.
بعد از نوشتن فیلتر میانگین حجم ماه خطایی با این عنوان Cannot read property ‘0’ of undefindedظاهر میشه اگر ممکنه راهنمایی کنید تا برطرفش کنم
مجتبی شمس نجاتی
سلام خدمت دوستان و دانشجویان دوره فیلتر نویسی
وقفه ای که در قسمت های جدید بوجود آمده بدلیل مشکل سایت tsetmc در هفته اخیر بوده و بزودی با برطرف شدن مشکل سایت، قسمت های جدید ضبط خواهد شد.
محسن
سلام
چطور فیلتری میشه نوشت که فهمید کدوم سهم طی یکسال گذشته بیشترین یا کمترین سود را داشته؟
مجتبی شمس نجاتی
در پاسخ به: محسنبا توجه به سابقه ۶۰ روزه امکانپذیر نیست
Ahmad-Esaee
جناب شمس نجاتی
ناسپاسی است اگه همین چند لحظه رو هم وقت نگذارم واز لطف وعنایت شما فرهیخته گرامی وهمچنین گروه وزین فراچارت تشکر نکنم. ازصبر وحوصله شمادر تدریس وبیان مفاهیم سپاسگزارم.پاینده باشید.
مجتبی شمس نجاتی
در پاسخ به: Ahmad-Esaeeسلام ممنونم از محبتتان
rayan
ضمنا تشکر از استاد شمس عزیز
میخواستم بدونم که علت خطای زیر چیست و چه طور آن را باید برطرف کرد؟
ReferenceError: ture is not defined
mohammad
سلام لطفا ادامه فیلم ها را ضبط. کنید سایت tsetmc مشکل خاصی ندارد فیلتره ها هم درست کار میکند
با تشکر
tasoomas
سلام
جناب شمس این ارور رو چجوری میتونیم از شرش خلاص شیم؟
TypeError: Unable to get property ‘0’ of undefined or null reference
TypeError: Unable to get property ‘1’ of undefined or null reference
خیلی اذیت می کنه. بعضی از روزا اصلا کد کار نمی کنه یا ساعت های اولیه بازار کد کار نمی کنه یا شنبه ها هم بخصوص مشکل ساز هست. راهی هست بجای ۰ که نشون دهنده امروز هست و ۱ که نشون دهنده دو روز قبلی هست کاری کنیم؟
ممنون می شم راهنمایی بفرمایین
مجتبی شمس نجاتی
در پاسخ به: tasoomasبعضی اوقات سایت مشکل داره و راه دیگری نیست
ras
با سلام و تشکر ویژه از دست اندرکاران سایت فراچارت بابت ارائه خدمات اموزشی بینظیرشان و تشکر و قدردانی جناب اقای شمس بابت زحماتی که در دوره اموزش فیلتر نویسی متقبل شده اند.
استاد من دقیقا و مو به مو کدهای پوشای صعودی و یا ستاره صبحگاهی را در برنامه notpad++ نوشته ولی وقتی انرا در بخش فیلتر سامانه tsetmc وارد و اعتبار سنجی میکنم با خطاهای متعددی روبرو میشوم ف ازتون خواهش میکنم راهنمایی کنید چکار باید بکنیم .
مثلا :
خطای زیر در هنگام اجرا مشاهده شد:
SyntaxError: Unexpected token ‘else’
یا
خطای زیر در هنگام اجرا مشاهده شد:
SyntaxError: Unexpected token ‘&&’
بخدا یک روز کامل رو درگیر این موضوع بودم لطفا راهنمایی بفرمایید
مجتبی شمس نجاتی
در پاسخ به: rasدر کدتون خطای نوشتاری دارید
mohammad
true==function()
{
var
switch ((cs))
case 27 :
if((z)*(pc) >= 10000000000000)
return true;
break;
case 44:
if((z)*(pc) >= 30000000000000)
return true;
break;
case : 53
if((z)*(pc) >= 10000000000000)
return true;
break;
default :
return false;
break;
}()
ممکنه بگین خطای SyntaxError: Unexpected token ‘switch’ به چه معنی است؟
مجتبی شمس نجاتی
در پاسخ به: mohammadتعداد خطای کد شما بسیار بالاست با دقت بیشتر آموزش ها رو ببینید
mohammad
عالی
mohammad
نماد || با کدام کلید میانبر باید نوشت؟
poorya
سلام آیا امکان کدنویسی مووینگ ۵۰ در تایم فریم هفتگی وجود داره؟
مجتبی شمس نجاتی
در پاسخ به: pooryaسلام فقط روزانه
Arash
سلام –
باتشکر از تدریس روان و کاربردی شما .
گاهی در اعتبار سنجی با این ارور مواجه می شویم :
خطای زیر در هنگام اجرا مشاهده شد:
TypeError: mw.InstHistory[row.inscode] is undefined
می خواستم خواهش کنم در صورت امکان در جلسات بعدی ، درمورد ارور های رایج کدنویسی هم صحبت بفرمائید.
البته الان که بنده تا جلسه ۱۳ را مشاهده نموده و بسیار استفاده کرده ام.
باتشکر از شما بابت این تدریس فوق العاده و سایت فراچارت که شرایط را دسترسی ما به شما را فراهم نمود.
مجتبی شمس نجاتی
در پاسخ به: Arashسلام و ممنون
در قسمت آخر بررسی شده
Arash
در پاسخ به: مجتبی شمس نجاتیباسپاس فراوان .
از آموزش شما بسیار مطالب آموزنده ای فرا گرفتیم.
امبدوارم همیشه موفق و موید باشید.
مجید
سلام جناب شمس
ممنون از آموزش خوبتان
برای دسترسی به سابقه حقیقی و حقوقی و در روزهای قبل از چه دستوری باید استفاده شود؟؟
مثلا تعداد خریدار حقیقی در دو روز قبل.
مجتبی شمس نجاتی
در پاسخ به: مجیدسلام فقط برای روز آخر در دسترس هست
farid.1988
با سلام آقای شمس. واقعا کیفیت ویدیوها و طرز بیانتون عالین.
فقط خواهش دارم اگه امکانش هست فیلترهای کاربردی که خودتون دارین رو هم در پیوست قرار بدین.
باز هم ممنون از شما
مجتبی شمس نجاتی
در پاسخ به: farid.1988سلام ممنون کل فیلتر های دوره قرار گرفت
محمد
با عرض سلام خدمت جناب شمس
یه سوالی داشتم
ایا امکان پذیر هست که فیلتر تقاطع rsi با ema رو نوشت(وقتی که ema رو از روی چارت به بخش rsi انتقال میدیم)؟
مجتبی شمس نجاتی
در پاسخ به: محمدسلام خیر چون محورشون متفاوت هست
محمد
در پاسخ به: مجتبی شمس نجاتیسلام وقتتون بخیر…
در متاتریدر میشه وقتی که اندیکاتوری مثل میانکین متحرک رو با اسیلاتور rsi ترکیب میکنیم,در بخش تنظیمات ema, دیتای ورودی رو بجای close , بذاریم روی:first indicators data
در فیلتر میتونیم این رو اعمال بکنیم؟؟؟
mohammad
لطفا ادامه دوره را بگذارید
باتشکر
mrrm
سلام . درود بر استاد شمس عزیز
ممکنه محبت کنید فیلتر adx رو هم آموزش بدید یا فیلترش رو لطف کنید
سپاس فراوان
مجتبی شمس نجاتی
در پاسخ به: mrrmسلام برای مثال اندیکاتور میانین متحرک آموزش داده شد تا دانشجو یاد بگیرد با پیاده سازی فرمول هر اندیکاتو امکان نوشتن فیلترش هست. فرمول ها هم در اینترنت به سادگی پیدا میشوند.
gholamreza ghanaat
سلام. ۱٫ آیا امکان نوشتن فیلتری وجود دارد که بتوان، عبور از مقاومتهای پیش رو، تاریخی، معتبر، … را تعیین کرد؟ ۲٫ آیا امکان نوشتن فیلتری وجود دارد که بتوان تشخیص داد، قیمت در حال پولبک زدن است؟
پیام
ضمن تشکر از آموزش خوب شما میخواستم بدونم که آیا امکانش هست فیلتر کد به کد هم اضافه کنید
متشکرم
بحرینی62
با سلام خدمت استاد شمس
بسیار عالی و شیوا توضیح دادین از شما و مدیریت سایت فراچارت سپاسگزارم
سعی کردم فیلتری بنویسم که مشخص کنه هر سهمی در چند کندل قبل الگوی کندل چکش رو داشته از لحاظ منطقی نمیتونم ایرادش رو پیدا کنم، ممنون میشم راهنمایی کنید.
true==function()
{
var H=0;
var ha=0;
var hb=0;
var n;
var stop=0;
for(n=0;n2.5*ha&&hb<.5*ha&&ha!=0,stop=0)
{(cfeild0)=n;stop=1;}
}
return true;
}()
محمد راستی
سلام و درود
با تشکر از آموزش های عالی شما
در آخر درس ۱۵ یه خطای ریز داشتید که شرطی تعریف کردید که ماکس ۱۰ روزه بیشتر از ماکس ۵۰ روزه باشه و این در عمل غیر ممکن است چون ده روز گذشته قسمتی از ۵۰ روز گذشته است.
سپاسگزارم
Arash
در پاسخ به: محمد راستینه –
bigbang
استاد شمس عزیز، لطفا راهنمایی میفرمایید که در صورتی که بخوایم ورود و خروج نقدینگی به صنعت های مختلف را حساب کنیم، پگاری باید انجام بدیم؟ در واقع دیدن یه دفعه پول میره به سمت سیمان یه مدت میره سمت غذایی یه مدت میره سمت بانک …. چجوری میتونیم اینارو تشخیص بدیم و همون روزای اول همراه بشیم با این نقدینگی؟
ممنون میشم منو راهنمایی بفرمایید
Majidi2020
گروه فنی مهندسی ماهو:
استاد شمس سلام
در ابتدا سپاس بی پایان خودم را تقدیم به شما میکنم بابت آموزش فیلتر نویسی… سوال داشتم
وقتی فیلتر کمترین مقدار در ۹ روز یا بازه های دیگر رو مینویسیم نمادهایی که معامله نداشتن و بسته بودن را ۰ نشان میدهد و کمترین مقدار را صفر محاسبه میکند. برای رفع این مشکل چه کار کنم؟
true==function ()
{
var Price-min=[ih][0].pricemin;
var i;
for(i=1 ; i[ih][i].pricemin)
Price-min=[ih][i].pricemin;}
return true;
}