بخش آموزش فیلتر نویسی در بورس
قالب و فرمت فیلتر
قالب ساده:
در این روش شما می توانید از فیلد های اطلاعاتی، عملگرها و توابع پیش ساخته استفاده کنید. هر فیلتر می تواند از تعدادی شرط تشکیل شود که با عملگر های and , or از هم جدا شده اند. برای مثال:
(pl) > 1000 && (pc)>1000
قالب کد نویسی:
در این روش علاوه بر امکانات بالا می توانید برنامه خود را بنویسید. در برنامه شما می توانید توابع جدید بسازید، دستورات حلقه، شرط، تعیریف متغیر و ... را استفاده کنید. در این حالت باید قالب زیر را استفاده کنید:
true==function()
{
//------------------محل تعریف توابع شما-----------------------
//------------------محل تعریف برنامه شما---------------------
}()
برنامه شما می بایست دو مقدار true و یا false را برگرداند. در صورت برگشت مقدار true یعنی نماد مورد نظر در دیده بان نمایش داده شود و مقدار false یعنی نماد نمایش داده نشود. در برنامه شما ابتدا می بایست توابع خود را تعریف کنید سپس می توانید از آن توابع در برنامه خود استفاده کنید. برای مثال کد ساده مثال قبل را می توان در قالب کد نویسی بصورت زیر دوباره نویسی کرد:
true==function()
{
if((pl) > 1000 && (pc)>1000)
{
return true;
}
else
{
return false;
}
}()
در مثال زیر ابتدا یک تابع ساخته می شود که کمترین قیمت 21 روز را حساب می کند و سپس از آن تابع در کد استفاده می شود:
true==function()
{
var MinPrice=function(){
var min=[ih][0].PriceMin;
var ipos;
for(ipos=0;ipos if(min>[ih][ipos].PriceMin)
min=[ih][ipos].PriceMin;
return min;
};
if((pl) {
return true;
}
else
{
return false;
}
}()
معرفی فیلتر در دیده بان بازار
با استفاده از فیلتر می توانید فقط سطرهایی (نمادهایی) را در دیده بان بازار مشاهده کنید که دارای مشخصات مورد نظر شما باشند.
بطور مثال می توان به مثال های زیر اشاره نمود:
نمایش نمادهایی که بیش از 100 بار معامله شده اند.
نمایش نمادهایی که دارای صف خرید می باشند
نمایش نمادهایی که کمتر از حجم مبنا معامله شده اند
و ...
دقت کنید که موارد بالا بصورت نمونه مطرح شده اند و دست شما در طراحی شرط مورد نظر باز می باشد.
تنظیمات دیده بان بازار
ذخیره و بازیابی تنظیم ها:
کلیه تنظیم ها، سبدها، فیلتر و قالب های شما بر روی مرورگر اینترنت شما ذخیره می گردد. برای تهیه پشتیبان بر روی سرور ما و بازیابی آن در هنگام نیاز و یا انتقال این تنظیم ها به کامپیوتر دیگر از این بخش استفاده کنید.
سرعت بروز رسانی:
اطلاعات در بازه های قابل تعریف از سرور به کلاینت شما منتقل می گردد. شما می توانید سرعت انتقال را به دلخواه کم یا زیاد کنید. همچنین می توانید انتخاب کنید که اطلاعات جدید با رنگ مشخص گردند.
نحوه نمایش دیده بان بازار:
در این بخش می توانید همه نمادها یا فقط نمادهای معامله شده را برای نمایش انتخاب کنید. همچنین در صورتی که یک گروه یا یک سبد را برای نمایش انتخاب کرده اید می توانید با انتخاب نمایش همه نمادها آن سبد یا گروه را خاموش کنید.
معرفی امکانات دیده بان بازار
دیده بان بازار از سه بخش اصلی تشکیل شده است:
آیکون های بالای صفحه برای دسترسی به امکانات
باند جانبی که برای مشاهده سریع نمادها و کلاس های خصوصی می باشد
بخش اصلی دیده بان بازار که برای نمایش اطلاعات می باشد
آیکون ها:
خانه: برای نمایش صفحه اول سایت
جستجو: جستجوی نمادها
تنظیم ها: ذخیره و بازیابی تنظیم ها، نحوه نمایش، بازار (بورس و فرابورس)، گروه بندی گروه های صنعت، چرخش خودکار، نحوه نمایش اعداد، نوع اوراق، بارگزاری اطلاعات تکمیلی، نمایش سبد، نمایش گروه
مرتب سازی: انتخاب فیلد مورد نظر جهت مرتب سازی اطلاعات
قالب نمایش: انتخاب قالب های نمایش از پیش تعریف شده و یا ساخت قالب
مشاهده سریع: نمایش یا مخفی سازی باند جانبی برای مشاهده اطلاعات نماد و کلاس های خصوصی
فیلتر: انتخاب و ساخت فیلتر
اکسل: ساخت خروجی اکسل
دیده بان بازار برای عملکرد بهینه و بدون مکث و پرش نیازمند کامپیوتری سریع و مرورگر اینترنت بروز می باشد:
در صورتی که رایانه شما قدیمی است و امکان ارتقای آن برای شما فراهم نیست، مرورگرهای فایرفاکس و اینترنت اکپلورر در هنگام نمایش اطلاعات محل اسکرول را حفظ نمی کنند و امکان نمایش درست را نخواهید داشت. تنها راه برای شما استفاده از مرورگر گوگل کروم بر روی رایانه قدیمی است.
همواره از آخرین ویرایش مرورگر اینترنت استفاده کنید.
از سیستم عامل قدیمی مانند windows xp استفاده نکنید.
استقاده از سیستم عامل 64bit توصیه می شود.
برای استفاده از فیلتر و خصوصا در هنگام استفاده از اطلاعات سابقه نمادها و آمارهای کلیدی و حقیقی و حقوقی، داشتن حافظه بالا (RAM) توصیه می شود.
در صورتی با رعایت نکات بالا مشکل شما پابرجا بود می توانید از دیده بان بازار قدیم (در نمایش فهرست) استفاده کنید.
عملگرهای قابل استفاده در فیلتر
عملگر
توضیح
مثال
+
جمع
(py) + (pl) > 1000
-
تفریق
(pl) - (py) > 100
*
ضرب
(tno) * (tvol)
/
تقسیم
(tval) / (tno)
%
باقیمانده تقسیم
(tno) % 10
&&
و
(pl) > 1000 && (pc)>1000
||
یا
(pl) > 1000 || (pc)>1000
!
نقیض
! ( (pl) - (py) > 100)
==
مساوی
(pl) == (pc)
>
بزرگتر
(pl) - (py) > 100
کوچکتر
(pl) - (py)
>=
بزرگتر و مساوی
(pl) - (py) >= 100
کوچکتر و مساوی
(pl) - (py)
!=
مخالف
(pl) != (pc)
توابع از پیش آماده در فیلتر
تابع
توضیح
مثال
Math.abs(x)
Returns the absolute value of x
Math.ceil(x)
Returns x, rounded upwards to the nearest integer
Math.exp(x)
Returns the value of E^x
Math.floor(x)
Returns x, rounded downwards to the nearest integer
Math.log(x)
Returns the natural logarithm (base E) of x
Math.max(x,y,z,...,n)
Returns the number with the highest value
Math.min(x,y,z,...,n)
Returns the number with the lowest value
Math.pow(x,y)
Returns the value of x to the power of y
Math.round(x)
Rounds x to the nearest integer
Math.sqrt(x)
Returns the square root of x
فیلدهای ساده قابل استفاده در فیلتر
فیلد
توضیح
مثال
(l18)
نماد
(l18).indexOf("x")==0
نمایش نمادهایی که با حرف x شروع می شوند
(l18)[(l18).length-1]=='x'
نمایش نمادهایی که حرف آخر آن x می باشد
(l30)
نام
(l30).indexOf("x")!=-1
نمایش نمادهایی که نام آنها شامل x می باشد
(tno)
تعداد معاملات
(tno)>20
نمایش نمادهایی که بیش از 20 بار معامله شده اند
(tvol)
حجم معاملات
(tvol)>(bvol)
نمایش نمادهایی که حجم معامله آنها بیش از حجم مبنا می باشد
(tval)
ارزش معاملات
(tval)>10000000
نمایش نمادهایی که ارزش معامله آنها بیش از یک میلیون تومان می باشد
(py)
قیمت دیروز
(pyl)>(pmax)
نمایش نمادهایی که بیشترین قیمت امروز آنها کمتر از قیمت دیروز می باشد
(pf)
اولین قیمت
(pf)>=(py)
نمایش نمادهایی که اولین قیمت امروز آنها بیشتر یا مساوی قیمت دیروز می باشد
(pmin)
کمترین قیمت
(pmin)==(pl)
نمایش نمادهایی که آخرین قیمت معامله آنها کمترین قیمت روز می باشد
(pmax)
بیشترین قیمت
(pl) -5 + ( (pmax)-(pmin) ) / 2
نمایش نمادهایی که آخرین قیمت معامله آنها حراکثر پنج ریال بیشتر یا کمتر از میانگین قیمت (غیر وزنی) روز می باشد
(pl)
آخرین قیمت
(pl)>=(pc)
نمایش نمادهایی که آخرین قیمت معامله آنها بیشتر یا مساوی قیمت پایانی می باشد
(plc)
تغییر آخرین قیمت
(plc)
نمایش نمادهایی که تغییر قیمت آخرین معامله ی کمتر یا مساوی صد ریال داشته اند
(plp)
درصد تغییر آخرین قیمت
(plp)
نمایش نمادهایی که درصد تغییر قیمت آخرین معامله ی کمتر یا مساوی یک و نیم درصد داشته اند
(pc)
قیمت پایانی
(pl)>=(pc)
نمایش نمادهایی که آخرین قیمت معامله آنها بیشتر یا مساوی قیمت پایانی می باشد
(pcc)
تغییر قیمت پایانی
(pcc)
نمایش نمادهایی که تغییر قیمت پایانی کمتر یا مساوی صد ریال داشته اند
(pcp)
درصد تغییر قیمت پایانی
(pcp)
نمایش نمادهایی که درصد تغییر قیمت پایانی کمتر یا مساوی یک و نیم درصد داشته اند
(eps)
eps
(pe)
p/e
(tmin)
آستانه مجاز پایین
(tmax)
آستانه مجاز بالا
(z)
تعداد سهام
(mv)
ارزش بازار
(pd1)
قیمت خرید - سطر اول
(zd1)
تعداد خریدار - سطر اول
(qd1)
حجم خرید- سطر اول
(po1)
قیمت فروش - سطر اول
(zo1)
تعداد فروشنده - سطر اول
(qo1)
حجم فروش- سطر اول
(pd2)
قیمت خرید - سطر دوم
(zd2)
تعداد خریدار - سطر دوم
(qd2)
حجم خرید- سطر دوم
(po2)
قیمت فروش - سطر دوم
(zo2)
تعداد فروشنده - سطر دوم
(qo2)
حجم فروش- سطر دوم
(pd3)
قیمت خرید - سطر سوم
(zd3)
تعداد خریدار - سطر سوم
(qd3)
حجم خرید- سطر سوم
(po3)
قیمت فروش - سطر سوم
(zo3)
تعداد فروشنده - سطر سوم
(qo3)
حجم فروش- سطر سوم
(pd4)
قیمت خرید - سطر چهارم
(zd4)
تعداد خریدار - سطر چهارم
(qd4)
حجم خرید- سطر چهارم
(po4)
قیمت فروش - سطر چهارم
(zo4)
تعداد فروشنده - سطر چهارم
(qo4)
حجم فروش- سطر چهارم
(pd5)
قیمت خرید - سطر پنجم
(zd5)
تعداد خریدار - سطر پنجم
(qd5)
حجم خرید- سطر پنجم
(po5)
قیمت فروش - سطر پنجم
(zo5)
تعداد فروشنده - سطر پنجم
(qo5)
حجم فروش- سطر پنجم
(bvol)
حجم مبنا
(cs)
گروه صنعت
(buyop)
موقعیت های باز
نمادهای بازار مشتقه
(predtran)
NAV ابطال
برای صندوق ها
دسترسی به سابقه قیمت ها و معاملات در فیلتر
فیلد
توضیح
مثال
[ih]
اطلاعات سابقه معاملات
[ih].length
تعداد روز های سابقه معاملات
در صورتی که نماد جدیدا تعریف شده باشد و یا در روزهای قبل متوقف باشد این ارایه می تواند کمتر از 60 روز باشد
[ih][n]
اطلاعات n روز قبل
if(typeof [ih][10]!="undefined")
{//do something}
بررسی موجود بودن سابقه معاملات در 11 روز قبل
[ih][n].PClosing
قیمت پایانی در n روز قبل
[ih][0].Pclosing>[ih][1].PClosing
قیمت پایانی یک روز قبل بیشتر از قیمت پایانی دو روز قبل باشد.
[ih][n].PDrCotVal
قیمت آخرین معامله در n روز قبل
[ih][n].ZTotTran
تعداد معاملات در n روز قبل
[ih][n].QTotTran5J
حجم معاملات در n روز قبل
[ih][n].QTotCap
ارزش معاملات در n روز قبل
[ih][n].PriceMin
کمترین قیمت در n روز قبل
[ih][10].PriceMin!=0 && [ih][10].PriceMin
در روزهای بدون معامله مقدار کمترین قیمت و بیشترین قیمت صفر می باشد، برای کنترل دقیق ابتدا چک کنید که مقدار صفر نداشته باشید
[ih][n].PriceMax
بیشترین قیمت در n روز قبل
[ih][n].PriceYesterday
قیمت روز قبل در n روز قبل
[ih][n].PriceFirst
اولین قیمت در n روز قبل
اطلاعات حقیقی و حقوقی در فیلتر
فیلد
توضیح
مثال
(ct).Buy_CountI
تعداد خریدار حقیقی
(ct).Buy_CountN
تعداد خریدار حقوقی
(ct).Buy_I_Volume
حجم خرید حقیقی
(ct).Buy_N_Volume
حجم خرید حقوقی
(ct).Sell_CountI
تعداد فروشنده حقیقی
(ct).Sell_CountN
تعداد فروشنده حقوقی
(ct).Sell_I_Volume
حجم فروش حقیقی
(ct).Sell_N_Volume
حجم فروش حقوقی
آمارهای کلیدی در فیلتر
فیلد
توضیح
[is1]
میانگین ارزش معاملات در 3 ماه گذشته
[is2]
میانگین ارزش معاملات در 12 ماه گذشته
[is3]
رتبه ارزش معاملات در 3 ماه گذشته
[is4]
رتبه ارزش معاملات در 12 ماه گذشته
[is5]
میانگین حجم معاملات در 3 ماه گذشته
[is6]
میانگین حجم معاملات در 12 ماه گذشت
[is7]
رتبه حجم معاملات در 3 ماه گذشته
[is8]
رتبه حجم معاملات در 12 ماه گذشته
[is9]
میانگین دفعات معاملات روزانه در 3 ماه گذشته
[is10]
میانگین دفعات معاملات روزانه در 12 ماه گذشته
[is11]
رتبه دفعات معاملات روزانه در 3 ماه گذشته
[is12]
رتبه دفعات معاملات روزانه در 12 ماه گذشته
[is13]
قیمت میانگین وزنی آخرین روز - بدون دخالت حجم مبنا
[is14]
قیمت میانگین وزنی آخرین روز - با دخالت حجم مبنا
[is15]
ارزش معاملات آخرین روز
[is16]
حجم معاملات آخرین روز
[is17]
دفعات معاملات در آخرین روز
[is18]
تعداد روزهای منفی در 3 ماه گذشته
[is19]
تعداد روزهای منفی در 12 ماه گذشته
[is20]
درصد روزهای منفی در 3 ماه گذشته
[is21]
درصد روزهای منفی در 12 ماه گذشته
[is22]
رتبه روزهای منفی در 3 ماه گذشته
[is23]
رتبه روزهای منفی در 12 ماه گذشته
[is24]
روزهای بدون معامله در 3 ماه گذشته
[is25]
روزهای بدون معامله در 12 ماه گذشته
[is26]
تعداد روزهای مثبت در 3 ماه گذشته
[is27]
تعداد روزهای مثبت در 12 ماه گذشته
[is28]
درصد روزهای مثبت در 3 ماه گذشته
[is29]
درصد روزهای مثبت در 12 ماه گذشته
[is30]
رتبه روزهای مثبت در 3 ماه گذشته
[is31]
رتبه روزهای مثبت در 12 ماه گذشته
[is32]
روزهای با معامله در 3 ماه گذشته
[is33]
روزهای با معامله در 12 ماه گذشته
[is34]
رتبه روزهای با معامله در 3 ماه گذشته
[is35]
رتبه روزهای با معامله در 12 ماه گذشته
[is36]
[is37]
[is38]
[is39]
[is40]
[is41]
[is42]
[is43]
[is44]
[is45]
[is46]
[is47]
[is48]
[is49]
[is50]
[is51]
[is52]
[is53]
[is54]
[is55]
[is56]
[is67]
[is58]
[is59]
[is60]
[is61]
[is62]
[is63]
[is64]
[is65]
[is66]
[is67]
[is68]
[is69]
[is70]
[is71]
[is72]
[is73]
[is74]
[is75]
[is76]
[is77]
[is78]
[is79]
[is80]
[is81]
[is82]
[is83]
[is84]
[is85]
[is86]
[is87]
[is88]
[is89]
[is90]
[is36] ارزش شرکت در آخرین روز
[is37] رتبه ارزش شرکت در آخرین روز
[is38] تعداد روزهای باز در 3 ماه گذشته
[is39] تعداد روزهای باز در 12 ماه گذشته
[is40] درصد روزهای باز در 3 ماه گذشته
[is41] درصد روزهای باز در 12 ماه گذشته
[is42] رتبه روزهای باز در 3 ماه گذشته
[is43] رتبه روزهای باز در 12 ماه گذشته
[is44] تعداد روزهای بسته در 3 ماه گذشته
[is45] تعداد روزهای بسته در 12 ماه گذشته
[is46] درصد روزهای بسته در 3 ماه گذشته
[is47] درصد روزهای بسته در 12 ماه گذشته
[is48] رتبه روزهای بسته در 3 ماه گذشته
[is49] رتبه روزهای بسته در 12 ماه گذشته
[is50] میانگین حجم خرید حقیقی در 3 ماه گذشته
[is51] میانگین حجم خرید حقیقی در 12 ماه گذشته
[is52] رتبه حجم خرید حقیقی در 3 ماه گذشته
[is53] رتبه حجم خرید حقیقی در 12 ماه گذشته
[is54] میانگین حجم خرید حقوقی در 3 ماه گذشته
[is55] میانگین حجم خرید حقوقی در 12 ماه گذشته
[is56] رتبه حجم خرید حقوقی در 3 ماه گذشته
[is57] رتبه حجم خرید حقوقی در 12 ماه گذشته
[is58] میانگین تعداد خریدار حقیقی در 3 ماه گذشته
[is59] میانگین تعداد خریدار حقیقی در 12 ماه گذشته
[is60] رتبه تعداد خریدار حقیقی در 3 ماه گذشته
[is61] رتبه تعداد خریدار حقیقی در 12 ماه گذشته
[is62] میانگین تعداد خریدار حقوقی در 3 ماه گذشته
[is63] میانگین تعداد خریدار حقوقی در 12 ماه گذشته
[is64] رتبه تعداد خریدار حقوقی در 3 ماه گذشته
[is65] رتبه تعداد خریدار حقوقی در 12 ماه گذشته
[is66] میانگین تعداد خریداران در 3 ماه گذشته
[is67] میانگین تعداد خریداران در 12 ماه گذشته
[is68] رتبه تعداد خریداران در 3 ماه گذشته
[is69] رتبه تعداد خریداران در 12 ماه گذشته
[is70] میانگین حجم فروش حقیقی در 3 ماه گذشته
[is71] میانگین حجم فروش حقیقی در 12 ماه گذشته
[is72] رتبه حجم فروش حقیقی در 3 ماه گذشته
[is73] رتبه حجم فروش حقیقی در 12 ماه گذشته
[is74] میانگین حجم فروش حقوقی در 3 ماه گذشته
[is75] میانگین حجم فروش حقوقی در 12 ماه گذشته
[is76] رتبه حجم فروش حقوقی در 3 ماه گذشته
[is77] رتبه حجم فروش حقوقی در 12 ماه گذشته
[is78] میانگین تعداد فروشنده حقیقی در 3 ماه گذشته
[is79] میانگین تعداد فروشنده حقیقی در 12 ماه گذشته
[is80] رتبه تعداد فروشنده حقیقی در 3 ماه گذشته
[is81] رتبه تعداد فروشنده حقیقی در 12 ماه گذشته
[is82] میانگین تعداد فروشنده حقوقی در 3 ماه گذشته
[is83] میانگین تعداد فروشنده حقوقی در 12 ماه گذشته
[is84] رتبه تعداد فروشنده حقوقی در 3 ماه گذشته
[is85] رتبه تعداد فروشنده حقوقی در 12 ماه گذشته
[is86] میانگین تعداد فروشندگان در 3 ماه گذشته
[is87] میانگین تعداد فروشندگان در 12 ماه گذشته
[is88] رتبه تعداد فروشندگان در 3 ماه گذشته
[is89] رتبه تعداد فروشندگان در 12 ماه گذشته
ساخت ستون و فیلد جدید و استفاده از آن در قالب شخصی
(با استفاده از کد نویسی می توانید اطلاعات جدیدی را محاسبه کنید و در دیده بان بازار نمایش دهید. شما سه فیلد در اختیار دارید:
(cfield0)
(cfield1)
(cfield2)
برای مثال کد زیر آخرین مقدار RSI را محاسبه و نمایش می دهد:
true==function()
{
var CalculateRSI =function(period){
var len=20;
for (var i = 0; i var rec=[ih][len-1-i];
var change=rec.PClosing-rec.PriceYesterday;
if (change> 0) {
rec.gain=change;
rec.loss=0;
}
else
{
rec.gain=0;
rec.loss=-change;
}
}
// Calculate first "average gain" and "average loss"
var gainSum=0;
var lossSum=0;
for (var i = 0; i var rec=[ih][len-1-i];
gainSum += rec.gain;
lossSum += rec.loss;
}
var averageGain=gainSum /period;
var averageLoss=lossSum / period;
// Calculate subsequent "average gain" and "average loss" values
for (var i = period + 1; i var rec=[ih][len-1-i];
averageGain=(averageGain* (period - 1) + rec.gain) / period;
averageLoss=(averageLoss* (period - 1) + rec. loss)/ period;
rec.averageGain=averageGain;
rec.averageLoss=averageLoss;
}
// Calculate RSI
var RS = 0; // Relative strength
var RSIndex = 0; // Relative strength index
for (var i = period + 1; i var rec=[ih][len-1-i];
RS = rec.averageGain/ rec.averageLoss;
RSIndex = 100 - 100 / (1 + RS);
rec.rsi=RSIndex;
}
};
if(typeof [ih][0].rsi=="undefined")
CalculateRSI(14);
(cfield0)= [ih][0].rsi;
return true;
}()

