فیلتر نویسی اختیار معامله در دیده‌بان سایت بورس TSETMC

آموزش نحوه ساخت فیلتر آپشن برای دیده بان سایت بورس اوراق بهادار تهران همراه با ساخت قالب شخصی و مقایسه با دیده بان حرفه ای سایت آپشن باز

نویسنده: آپشن بازتاریخ انتشار: 1401/02/01آخرین به‌روزرسانی: 1405/05/2517 دقیقه مطالعه
اشتراک‌گذاری:

دیده‌بان سایت مدیریت فناوری بورس تهران (TSETMC) یک زبان فیلترنویسی دارد که با آن می‌شود ردیف‌های جدول را غربال کرد و ستون‌های ساختهٔ خودتان را کنارشان نشاند. این مقاله نشان می‌دهد چطور برای قراردادهای اختیار معامله چنین فیلتری بنویسید: قیمت اعمال و وضعیت مالی را از داده‌های خام بیرون بکشید، در یک ستون شخصی نمایششان دهید و فقط ردیف‌های اختیار معامله را نگه دارید.

دو چیز را از همین اول بدانید: این آموزش برای نسخهٔ کلاسیک دیده‌بان TSETMC نوشته شده، و همان کارها در دیده‌بان آپشن‌باز بدون این محاسبات دستی انجام می‌شوند. بخش آخر مقاله همین مقایسه را دارد.

فیلتر نویسی در سایت TSETMC چطور کار می‌کند؟

فیلتر در دیده‌بان TSETMC یک قطعه کد است که برای هر ردیف جدول جداگانه اجرا می‌شود و در پایان باید بگوید آن ردیف بماند یا برود. داده‌های همان ردیف با نام‌های کوتاهی مثل l18 (نماد)، l30 (نام کامل نماد)، pl (آخرین قیمت) و tvol (حجم معاملات) در دسترس‌اند، و چند فیلد خالی به نام cfield0 تا cfield2 هم هست که می‌توانید خروجی محاسباتتان را در آن‌ها بریزید و به شکل ستون ببینید.

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

همین «هر ردیف جدا» است که تعیین می‌کند چه چیزی با فیلتر شدنی است و چه چیزی نه. مثلاً «بیشترین ارزش معاملات» با فیلتر به دست نمی‌آید، چون هیچ ردیفی از ردیف‌های دیگر خبر ندارد؛ راهش این است که یک آستانه بگذارید و بعد ستون ارزش را نزولی مرتب کنید.

این آموزش برای کدام نسخهٔ سایت است؟

تصویرهای این صفحه از دیده‌بان کلاسیک TSETMC گرفته شده‌اند. سایت از آن زمان رابط کاربری‌اش را عوض کرده، پس مسیر منوها و شکل پنجره‌ها ممکن است دیگر همان نباشد که در تصویرها می‌بینید.

کدام نیمهٔ این آموزش کهنه می‌شود؟ ماندگار قیمت اعمال داخل نام نماد است فیلتر خروجی درست یا نادرست دارد دادهٔ دیروز اصلاً فیلد ندارد اینها به دکمه‌ها ربطی ندارند کهنه‌شدنی مسیر منوها و جای دکمه‌ها شکل پنجرهٔ ساخت قالب نمایش تصویرهای این صفحه اینها از رابط کاربری می‌آیند سایت TSETMC دیده‌بان کلاسیک را با یک رابط تازه جایگزین کرده پس تصویرها را به‌عنوان سند همان نسخه ببینید، نه راهنمای امروز ولی منطق فیلترها همان است و به دیده‌بان دیگری هم منتقل می‌شود
منطق فیلتر و شکل داده ماندگار است؛ چیزی که کهنه می‌شود مسیر منوها و تصویرهاست — سایت TSETMC دیده‌بان کلاسیک را با رابط تازه‌ای جایگزین کرده است.

ولی نیمهٔ دیگر مقاله کهنه نمی‌شود: اینکه قیمت اعمال داخل نام نماد است، اینکه فیلتر خروجی درست یا نادرست دارد و اینکه دادهٔ روز قبل فیلدی ندارد، به شکل داده مربوط‌اند نه به جای دکمه‌ها. همان‌ها هستند که در ادامه بیشترین جای کار را دارند.

مرحله به مرحله: ساخت قالب شخصی و فیلتر

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

1 — وارد دیده‌بان سایت بورس اوراق بهادار تهران شوید. نشانی‌اش tsetmc.com است.

آپشن باز فیلترنویسی اختصاصی برای معاملات اختیار معامله آپشن در دیده‌بان سایت بورس

2 — تنظیمات دیده‌بان را مطابق شکل انجام دهید.

آپشن باز فیلترنویسی اختصاصی برای معاملات اختیار معامله آپشن در دیده‌بان سایت بورس

3 — قالب شخصی انجام‌شده در ویدیو به این شکل است.

آپشن باز فیلترنویسی اختصاصی برای معاملات اختیار معامله آپشن در دیده‌بان سایت بورس

4 — ترجیحاً یک فیلد خالی مثل cfield1 را همیشه در دسترس بگذارید.

5 — نوع قالب را شخصی انتخاب کنید.

آپشن باز فیلترنویسی اختصاصی برای معاملات اختیار معامله آپشن در دیده‌بان سایت بورس

6 — یک فیلتر جدید بسازید، کد زیر را در آن وارد کنید، اعتبارسنجی و ثبت نمایید.

آپشن باز فیلترنویسی اختصاصی برای معاملات اختیار معامله آپشن در دیده‌بان سایت بورس

sessionStorage.setItem((l18),(pl)); var symbol = (l30); var price = parseInt( symbol.substring(symbol.indexOf("-")+1, symbol.lastIndexOf("-")) ); var name = symbol.substring(symbol.indexOf("ف ")+2 , symbol.indexOf("-")); if ((l18).indexOf('ض') == 0) { name = symbol.substring(symbol.indexOf("خ ")+2 , symbol.indexOf("-")); } var date = (l30).substring((l30).length-8, (l30).length); var paye = parseInt(sessionStorage.getItem(name)); if ( (l18).indexOf("ض") == 0 ) I = (price - paye); else I = (paye - price); if ((I/paye) < -0.015) a = 'ITM'; if ((I/paye) > 0.015) a = 'OTM'; if ((I/paye) > -0.015 && (I/paye) < 0.015) a = 'ATM'; true == function() { var style1 = 'style="width:80px;display:inline-block;color:gray"'; var style2 = 'style="width:80px;display:inline-block;color:red"'; var style3 = 'style="width:80px;display:inline-block;color:blue"'; var style4 = 'style="width:40px;display:inline-block;color:blue"'; var string0 = '<span '+style1+'>'+I+'</span><span '+style2+'> '+price+'</span><span '+style3+'> '+paye+'</span><span '+style4+'> '+a+'</span><span '+style2+'> '+date+'</span>'; (cfield0) = string0; return ( (l18).indexOf("ض") == 0 || (l18).indexOf("ط") == 0 ); }() (cfield2) = (buyop);

سه بخش دارد: خط اول قیمت هر نماد را در حافظهٔ همان جلسه ثبت می‌کند، بخش میانی قیمت اعمال و وضعیت مالی را حساب می‌کند، و تابع پایانی هم ستون را پر می‌کند هم می‌گوید ردیف بماند یا نه. سه بخش بعدی مقاله دقیقاً همین سه قسمت را باز می‌کنند.

قیمت اعمال قرارداد کجاست؟

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

قیمت اعمال فیلد جدا ندارد (l30) اختیار خرید خودرو - 2500 - 1404/09/25 پیش از خط تیرهٔ اول نام نماد پایه بین دو خط تیره قیمت اعمال پس از خط تیرهٔ آخر تاریخ سررسید symbol.substring(symbol.indexOf("-")+1, symbol.lastIndexOf("-")) و parseInt آن را از رشته به عدد تبدیل می‌کند تا قابل مقایسه شود
قیمت اعمال در TSETMC فیلد ندارد؛ داخل نام کامل نماد است و باید با برش رشته بیرون کشیده شود.

نام کامل نماد به شکل «اختیار خرید ... - قیمت اعمال - تاریخ سررسید» است، پس تکه‌ای که بین اولین و آخرین خط تیره می‌افتد همان قیمت اعمال است. parseInt آن را از رشته به عدد تبدیل می‌کند تا بشود در شرط‌ها مقایسه‌اش کرد. تاریخ سررسید هم با همین منطق از هشت کاراکتر آخر جدا می‌شود.

در دیده‌بان آپشن‌باز همین مقدار مستقیم با option.strike در دسترس است و لازم نیست رشته ببرید.

ستون محاسباتی: cfield0 و cfield1

کد شما هیچ ستونی نمی‌سازد؛ فقط یک رشته در یکی از فیلدهای خالی می‌ریزد. دیده شدن آن رشته دو شرط دیگر دارد.

ستون محاسباتی سه قدم دارد قدم اول کد یک رشته می‌سازد و در فیلد می‌ریزد قدم دوم ستونی با همان فیلد در قالب تعریف شود قدم سوم نوع قالب شخصی تا رشته رندر شود (cfield0) = string0; اگر یکی از سه قدم نباشد، سلول خالی یا خام دیده می‌شود و هیچ خطایی هم داده نمی‌شود در قالب کلاسیک، تگ‌ها به شکل متن ساده چاپ می‌شوند
کد فقط یک رشته در فیلد می‌ریزد؛ دیده شدنش به تعریف ستون و نوع قالب شخصی بستگی دارد — و نبودشان خطا نمی‌دهد.

اول باید در پنجرهٔ «ساخت قالب نمایش» ستونی تعریف کنید که Data آن همان فیلد باشد، و دوم اینکه نوع قالب روی «شخصی» باشد؛ در قالب کلاسیک تگ‌های HTML به شکل متن ساده چاپ می‌شوند. اگر یکی از این دو نباشد سلول خالی یا خام دیده می‌شود و هیچ خطایی هم داده نمی‌شود.

نمونهٔ زیر برای cfield1 نوشته شده و سهم خرید و فروش حقیقی را به درصد کل حجم نشان می‌دهد:

ctb = Math.round(100*(ct).Buy_N_Volume/(tvol)); let cts = Math.round(100*(ct).Sell_N_Volume/(tvol)); if ((tvol) > 0) (cfield1) = cts + ' / ' + ' \ ' + ctb; else (cfield1) = '/' + ' \ ';

معادل همین کار در محیط ما، با نمونه‌های آماده، در نمونه کدهای کاربردی ایجاد ستون جمع شده است.

چرا رنگ‌ها اعمال نمی‌شوند؟

پرتکرارترین مشکل همین است و معمولاً ربطی به کد ندارد. رنگ‌ها باید مقدار واقعی داشته باشند: چیزی مثل gray یا red یا یک کد رنگ.

رنگ باید مقدار باشد، نه نام متغیر کار نمی‌کند color:var(--primary) متغیر سایت ما، آنجا تعریف نشده کار می‌کند color:blue یک مقدار واقعی رنگ متغیر CSS فقط داخل صفحه‌ای معنا دارد که تعریفش کرده در صفحهٔ دیگر بی‌مقدار است و مرورگر رنگ پیش‌فرض را می‌گذارد و مثل خطا به نظر نمی‌رسد — فقط بی‌رنگ می‌شود پس اگر ستون ساخته شد ولی رنگ نگرفت، اول همین را نگاه کنید
رنگ‌ها باید مقدار واقعی باشند؛ یک متغیر CSS بیرون از صفحه‌ای که تعریفش کرده بی‌مقدار است و بی‌صدا به رنگ پیش‌فرض می‌افتد.

یک متغیر CSS فقط داخل صفحه‌ای معنا دارد که تعریفش کرده باشد؛ در صفحهٔ دیگر بی‌مقدار است و مرورگر بی‌سروصدا رنگ پیش‌فرض را می‌گذارد. پس اگر ستون ساخته شد ولی بی‌رنگ ماند، اول همین را نگاه کنید و بعد سراغ قالب بروید.

محدودیت‌های فیلترنویسی در TSETMC

دو محدودیت هست که هر چه کد بزنید دور نمی‌خورند، چون از نبودِ داده می‌آیند نه از نوشتن کد.

محدودیت اول: تاریخچه‌ای در کار نیست. فیلتر فقط عکسِ همین لحظه را می‌بیند.

از دیروز فقط قیمت مانده در دسترس (tvol) (tval) (tno) حجم و ارزش و تعداد امروز (py) قیمت دیروز وجود ندارد حجم معاملات دیروز ارزش معاملات دیروز میانگین چند روز گذشته پس شرط‌هایی مثل «امروز سه برابر دیروز» نوشتنی نیستند چون طرف دوم مقایسه اصلاً فیلدی ندارد فیلتر همان لحظه را می‌بیند، نه تاریخچه را
فیلتر TSETMC فقط عکسِ همین لحظه را می‌بیند؛ از دیروز تنها قیمت مانده، پس مقایسهٔ حجم یا ارزش با روز قبل فیلدی ندارد.

حجم و ارزش و تعداد معاملات امروز در دسترس‌اند، ولی از دیروز تنها قیمت مانده است. پس شرط‌هایی مثل «ارزش معاملات امروز سه برابر دیروز» نوشتنی نیستند، چون طرف دوم مقایسه اصلاً فیلدی ندارد.

محدودیت دوم: وضعیت مالی به ردیف نماد پایه بند است.

وضعیت مالی به ردیف نماد پایه بند است ردیف نماد پایه sessionStorage.setItem((l18),(pl)) ردیف قرارداد sessionStorage.getItem(name) قیمت پایه از حافظهٔ همان جلسه خوانده می‌شود، نه از خودِ قرارداد پس ردیف نماد پایه باید در همان دیده‌بان باشد و مقدار گرفته باشد در روز تعطیل یا وقتی نماد پایه در فهرست نیست قیمت اعمال هست ولی وضعیت مالی خالی برمی‌گردد
قیمت پایه از حافظهٔ همان جلسه خوانده می‌شود، پس ردیف نماد پایه باید در همان دیده‌بان باشد — وگرنه وضعیت مالی خالی می‌ماند بدون آنکه خطایی بدهد.

کد قیمت پایه را از حافظهٔ همان جلسه می‌خواند، و آن حافظه وقتی پر می‌شود که ردیف نماد پایه در همان دیده‌بان پردازش شده باشد. اگر نماد پایه در فهرست نباشد — یا در روزی که بازار باز نشده و ردیف‌ها مقدار نگرفته‌اند — قیمت اعمال همچنان درست در می‌آید ولی وضعیت مالی خالی برمی‌گردد. این نه باگ کد است و نه ایراد فیلتر.

موقعیت باز و تفکیک حقیقی و حقوقی هم دادهٔ همان جلسهٔ معاملاتی‌اند و در روز تعطیل مقداری ندارند.

همین کارها در دیده‌بان آپشن‌باز

تا اینجا بدیهیاتی گفته شد که یک معامله‌گر آپشن به آن نیاز دارد. برای معاملات حرفه‌ای به ابزاری نیاز دارید که در کوتاه‌ترین زمان مناسب‌ترین خروجی استراتژی‌های اختصاصی‌تان را بدهد.

یک سؤال، دو محیط می‌خواهید بدانید در دیده‌بان کلاسیک در دیده‌بان آپشن‌باز قیمت اعمال برش نام نماد option.strike وضعیت مالی محاسبهٔ دستی option.state فاصلهٔ خرید و فروش محاسبهٔ دستی askBidSpread() روز تا سررسید برش تاریخ option.daysUntilMaturity همان چیزی که آنجا باید بسازید، اینجا یک فیلد آماده است پس کد کوتاه‌تر می‌شود و جای اشتباه کمتر
چیزهایی که در دیده‌بان کلاسیک باید دستی می‌ساختید، در دیده‌بان آپشن‌باز فیلد آماده هستند — همان سؤال، کد کوتاه‌تر.

تفاوت اصلی این است که چیزهایی که آنجا باید دستی می‌ساختید، اینجا فیلد آماده‌اند: وضعیت مالی، فاصلهٔ خرید و فروش، روز تا سررسید، دلتا و قیمت تئوری بلک‌شولز. کد کوتاه‌تر می‌شود و جای اشتباه هم کمتر.

آپشن باز فیلترنویسی اختصاصی برای معاملات اختیار معامله آپشن در دیده‌بان سایت بورس

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

با همین کدهای ساده می‌توانید واچ‌لیست بسازید و محاسبات سود و زیان پرتفوی خود را هم در آپشن‌باز انجام دهید؛ راهنمای کامل این بخش در راهنمای دیده‌بان آپشن‌باز آمده است.

آپشن باز فیلترنویسی اختصاصی برای معاملات اختیار معامله آپشن در دیده‌بان سایت بورس

ویدیوی آموزشی

جمع‌بندی

  • فیلتر TSETMC برای هر ردیف جدا اجرا می‌شود و فقط «بماند یا برود» می‌گوید — «بیشترین» یک مرتب‌سازی است، نه یک فیلتر.
  • قیمت اعمال و تاریخ سررسید فیلد ندارند و باید از نام کامل نماد بریده شوند.
  • ستون شخصی سه قدم دارد و نبودِ هر قدم بی‌صدا شکست می‌خورد؛ رنگ‌ها هم باید مقدار واقعی باشند.
  • دادهٔ روز قبل و وضعیت مالیِ بدون ردیف نماد پایه، هر دو خارج از دسترس‌اند.

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

مقالات مرتبط

دستور العمل ایجاد ستون و فیلتر با رابط گرافیکی

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

نمونه کدهای کاربردی فیلترنویسی دیده‌بان اختیار معامله

مجموعه کامل کدهای فیلترنویسی برای دیده‌بان اختیار معامله به همراه توضیح: فیلتر بر اساس نقدشوندگی، یونانی‌ها، قیمت‌گذاری بلک-شولز و استراتژی‌های معاملاتی آپشن در بورس.

آموزش دستورات پایه فرمول‌نویسی اختیار معامله | متغیر، شرط، حلقه و تابع در دیده‌بان آپشن‌باز

دستورات پایه‌ای که برای نوشتن ستون و فیلتر در دیده‌بان اختیار معامله لازم دارید، با مثال اجراشده: متغیر و ثابت، عملگرها، if و else، شرط کوتاه، آرایه و حلقه، تابع، و کار با متن و عدد. زبان فرمول‌نویسی آپشن‌باز جاوااسکریپت است و همین چند دستور بیشتر کارها را پوشش می‌دهد.

فرمول‌های آماده دیده‌بان اختیار معامله | ستون و فیلتر آپشن بدون کدنویسی

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

راهنمای دیده‌بان آپشن‌باز | فیلتر و فرمول‌نویسی

راهنمای جامع دیده‌بان آپشن‌باز: جدول زنده قراردادها، فیلتر سریع روی سرستون (سربه‌سر، IV و …)، پنل فیلتر، فرمول‌نویسی، آلارم و اتصال به نمودار استراتژی.

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

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

دیده‌بان اختیار معامله

راهنمای دیده‌بان اختیار معامله — فیلتر، ستون سفارشی، فرمول‌نویسی و اتصال به نمودار استراتژی.

دیدگاه‌ها و پرسش‌ها

اگر سوال یا ابهامی در رابطه با این مطلب دارید، همین‌جا بپرسید؛ کارشناسان ما پاسخ می‌دهند.

تجربه یا نکته‌ای دارید؟ نوشتنش به بقیهٔ کاربران هم کمک می‌کند.

پرسش‌ها و نظرات کاربران

۱۱ پیام
محسن
15 مهر 1404 - 13:22
سلام خداقوت فیلتر بیشترین ارزش معاملات چی میشه؟
پشتیبانیپاسخ
16 مهر 1404 - 11:01
در فیلترنویسی دیده‌بان TSETMC خروجی هر ردیف فقط درست یا نادرست است، پس «بیشترین» را نمی‌شود مستقیم فیلتر کرد؛ کاری که می‌شود کرد این است که یک آستانه بگذارید و بعد ستون ارزش را نزولی مرتب کنید:
(tval) > 50000000000
`(tval)` ارزش معاملات همان نماد در همان روز است و عدد آستانه را متناسب با بازاری که نگاه می‌کنید بالا و پایین ببرید. در دیده‌بان آپشن‌باز برای همین کار لازم نیست کد بنویسید: ستون «ارزش معاملات» فیلتر سرستون دارد (آیکن فیلتر روی سرستون، عملگر «بیشتر از» و مقدار) و کلیک روی همان سرستون مرتب‌سازی نزولی می‌دهد.
رضا
17 مرداد 1403 - 21:56
این فیلتر رو چطور میشه نوشت ارزش معاملات امروز 3برابر ارزش معاملات دیروز
رضاپاسخ
18 مرداد 1403 - 16:53
خیلی ممنون از لطف شما
پشتیبانیپاسخ
19 مرداد 1403 - 13:37
این شرط در محیط TSETMC نوشتنی نیست. فیلتر آن‌جا فقط به دادهٔ همان لحظه دسترسی دارد و از دیروز تنها قیمت را نگه می‌دارد (`(py)`)؛ ارزش و حجم معاملات روز قبل اصلاً فیلد ندارند تا بشود سه برابرش کرد. در دیده‌بان آپشن‌باز هم ارزش معاملات دیروز فیلد جدا ندارد. نزدیک‌ترین سنجهٔ «امروز خیلی فعال‌تر از دیروز است» درصد تغییر موقعیت باز نسبت به روز قبل است:
return option.openInterestPC > 20 && option.ti.volume > 0;
این یعنی موقعیت باز قرارداد نسبت به دیروز بیش از ۲۰٪ رشد کرده و امروز هم معامله شده — همان قراردادهایی که پول تازه واردشان شده.
مسعود
15 اردیبهشت 1403 - 15:25
کد ارسال شده مشکلی نداشت، اما امروز که 3 روز هست بازار تعطیل هست، قسمت قیمت اعمال و موقعیت های باز و حقیقی و حقوقی بازار رو نمی تونه کد دستوری بخواند. به خاطر تعطیلی 3 روزه بازار هست یا مشکل چیز دیگری می تونه باشه
پشتیبانیپاسخ
18 اردیبهشت 1403 - 13:03
به تعطیلی مربوط است و کد شما ایراد ندارد. موقعیت باز و تفکیک حقیقی و حقوقی دادهٔ همان جلسهٔ معاملاتی‌اند؛ در روزی که بازار باز نشده مقداری برایشان منتشر نمی‌شود و شرط‌هایی که رویشان نوشته‌اید به نتیجه نمی‌رسند. قیمت اعمال داستان جداگانه‌ای دارد: خودِ عدد از نام کامل نماد بیرون کشیده می‌شود و همیشه هست، ولی برای تعیین وضعیت مالی به قیمت نماد پایه هم نیاز است و آن قیمت را کد از ردیف نماد پایه در همان دیده‌بان می‌خواند. اگر ردیف پایه در آن جلسه مقدار نگرفته باشد، محاسبه خالی برمی‌گردد و کل خروجی ستون به هم می‌ریزد. همین موضوع در روز عادی هم اتفاق می‌افتد اگر نماد پایه در همان دیده‌بان انتخاب نشده باشد — پس مطمئن شوید نمادهای پایه هم در فهرست هستند.
محمد
07 شهریور 1402 - 20:33
باسلام وتشکربخاطراموزش فیلترنویسی محیط سایت TSETMCیک سوال داشتم ... قیمت اعمال قراردادها ...باچه فرمولی درسایت فوق تعریف وقابل شناسایی است ؟
پشتیبانیپاسخ
12 شهریور 1402 - 18:17
سایت TSETMC فیلد جدایی برای قیمت اعمال ندارد؛ عدد داخل نام کامل نماد است و باید از همان بیرون کشیده شود:
var symbol = (l30);
var price = parseInt( symbol.substring(symbol.indexOf("-")+1, symbol.lastIndexOf("-")) );
`(l30)` نام کامل نماد است، به شکل «اختیار خرید ... - قیمت اعمال - تاریخ سررسید». تکه‌ای که بین اولین و آخرین خط تیره می‌افتد همان قیمت اعمال است و `parseInt` آن را از رشته به عدد تبدیل می‌کند تا بشود در شرط‌ها مقایسه‌اش کرد. در دیده‌بان آپشن‌باز همین مقدار مستقیم با `option.strike` در دسترس است و ستون «اعمال» فیلتر سرستون هم دارد.
حسن
30 خرداد 1402 - 21:33
سلام.ممنونم.من این کد رو وارد کردم.چرا برای من رنگ ها اعمال نشد ؟
پشتیبانیپاسخ
01 تیر 1402 - 16:55
رنگ‌ها دو شرط دارند و معمولاً یکی از این دو غایب است. اول اینکه ستون باید در «ساخت قالب نمایش» با Data برابر cfield0 تعریف شده و نوع قالب روی «شخصی» باشد؛ در قالب کلاسیک تگ‌های HTML به شکل متن ساده نمایش داده می‌شوند و رنگی در کار نیست. دوم اینکه رنگ‌ها باید مقدار واقعی داشته باشند. در قطعه کد بالای همین صفحه رنگ‌ها به شکل متغیر CSS نوشته شده‌اند که فقط داخل سایت ما تعریف شده و در TSETMC مقداری ندارند، پس همه‌چیز با رنگ پیش‌فرض جدول در می‌آید. این چهار خط را جایگزین کنید:
var style1='style="width:80px;display:inline-block;color:gray"';
var style2='style="width:80px;display:inline-block;color:red"';
var style3='style="width:80px;display:inline-block;color:blue"';
var style4='style="width:40px;display:inline-block;color:blue"';