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

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

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

برای ساخت ستون، به دیده‌بان آپشن بروید، یا از طریق میزکار باکس دیده‌بان اضافه کنید؛ سپس روی دکمهٔ ستون محاسباتی کلیک کنید، یک نام مناسب بگذارید، کد را در ادیتور بنویسید و خروجی نهایی را با دستور return برگردانید، سپس آن را ذخیره کنید.

مراجع کمکی: راهنمای جامع فرمول‌نویسی · نمونه کدهای فیلتر دیده‌بان · راهنمای تنظیمات ویژوال (⚙️)

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

1. قیمت تئوری و مدل ارزش‌گذاری بلک‌شولز

مراجع علمی: مدل بلک‌شولز چیست؟ · توابع بلک‌شولز در پلتفرم

یک سلول، سه کانال اطلاعات style( value , color , '' , tooltip ) مقدار چیزی که خوانده می‌شود رنگ وضعیت، بدون کلمه تولتیپ جزئیات، بدون شلوغی سلول یک سطر جا دارد — رنگ و تولتیپ، دو کانال اضافه‌اند هرچه در تولتیپ بگذارید، جدول را شلوغ نمی‌کند در مثال‌های این مقاله، پارامتر سوم همیشه خالی گذاشته شده
یک سلول سه کانال دارد: مقدار خوانده می‌شود، رنگ وضعیت را بی‌کلمه می‌گوید، و تولتیپ جزئیات را بدون شلوغ کردن جدول نگه می‌دارد.
رنگ، یک شرط است نه یک تزیین d > 0.5 ? green : d > 0.3 ? orange : red 0.62 0.41 0.18 حساسیت بالا میانه کم چشم، رنگ را قبل از عدد می‌بیند پس آستانه‌ها را همان‌جایی بگذارید که تصمیمتان عوض می‌شود و برای مقدارِ خالی، رشتهٔ خالی برگردانید — نه رنگِ خنثی وگرنه ردیف بی‌داده شبیه ردیف کم‌ارزش دیده می‌شود
رنگ را چشم پیش از عدد می‌بیند، پس آستانه‌ها را جایی بگذارید که تصمیم شما عوض می‌شود — و برای دادهٔ خالی رشتهٔ خالی بدهید، نه رنگ خنثی.

اختلاف قیمت بازار (بهترین تقاضا) با قیمت تئوریک بلک‌شولز (درصد):

return calcRateChange(calcBS().bs, option.ti.buy1Price) + '%';

نمایش رنگی ضریب دلتا (با رنگ‌بندی داینامیک بر اساس حساسیت):

let d = calcBS().delta; if (d == null) return ''; return style(roundNumber(d, 2), d > 0.5 ? '#16a34a' : d > 0.3 ? '#ea580c' : '#dc2626', '', 'دلتا');

تفاوت نوسان‌پذیری ضمنی (IV) از نوسان‌پذیری تاریخی (HV) دارایی پایه:

let iv = calcBS().iv; let hv = ua.hv; if (!iv || !hv) return ''; let diff = roundNumber((iv - hv) * 100, 1); return style(diff + '%', diff > 0 ? '#dc2626' : '#16a34a', '', 'IV − HV');

2. نقطه سربه سر (Breakeven) و آستانه رشد

مرجع علمی: نقطه سربه سر در معاملات آپشن

ترتیب دو آرگومان، علامت را برعکس می‌کند calcRateChange(a, b) از قیمت پایه تا سربه‌سر مثبت یعنی سربه‌سر بالاتر است calcRateChange(b, a) همان دو عدد، جای عوض‌شده همهٔ علامت‌های ستون برعکس این باگ شبیه داده به نظر می‌رسد، نه شبیه کد چون عددها معقول‌اند — فقط همه در جهت اشتباه یک ردیفِ آشنا را دستی چک کنید تا جهت را ببندید و همان جهت را در نام ستون بنویسید
جابه‌جا کردن دو آرگومان، علامت هر درصد در ستون را برعکس می‌کند — و چون عددها معقول می‌مانند، این باگ شبیه داده به نظر می‌رسد نه شبیه کد.

درصد فاصلهٔ آخرین قیمت سهم پایه تا نقطه سربه سر استراتژی:

return calcRateChange(ua.ti.lastPrice, breakeven()) + '%';

محاسبه دستی نقطه سربه سر خریدار بر اساس قیمت معامله جاری:

let optionPrice = basePrice(option); let be = option.type === 'call' ? optionPrice + option.strike : option.strike - optionPrice; return calcRateChange(ua.ti.lastPrice, be) + '%';

3. سنجش نقدشوندگی و دفتر سفارش (Order Book)

مرجع علمی: سنجش نقدشوندگی و اهمیت اسپرد

سه عدد در یک سطر 1,240 | 1,310 | 5.6% تقاضا عرضه اسپرد سه رنگ متفاوت، سه معنی متفاوت — بدون نوشتن سه کلمه و هر تکه تولتیپ خودش را دارد، پس نامشان هم در دسترس است اگر یکی از دو سرخط خالی باشد، کل سلول را خالی برگردانید اسپردِ محاسبه‌شده روی سرخط نبود، عددِ بی‌معناست
سه مقدار در یک سطر با سه رنگ و سه تولتیپ — و اگر یکی از دو سرخط خالی باشد، کل سلول باید خالی برگردد چون اسپردِ محاسبه‌شده روی نبودِ سرخط بی‌معناست.

نمایش درصد فاصله خرید و فروش (Bid-Ask Spread):

return askBidSpread() + '%';

نمایش همزمان قیمت تقاضا (سبز)، قیمت عرضه (قرمز) و اسپرد (خاکستری):

if (!option.ti.buy1Price || !option.ti.sell1Price) return ''; return style(commaSeparator(option.ti.buy1Price), '#16a34a', '', 'تقاضا') + ' | ' + style(commaSeparator(option.ti.sell1Price), '#dc2626', '', 'عرضه') + ' | ' + style(askBidSpread() + '%', '#6b7280', '', 'اسپرد');

4. ارزش ذاتی و ارزش زمانی قراردادها

مرجع علمی: ارزش ذاتی و زمانی قراردادهای اختیار

دو تابع آماده که خودشان حساب می‌کنند intrinsic() ارزش ذاتی به ریال مثبت یعنی قرارداد در سود است timeValue() ارزش زمانی به ریال باقی‌ماندهٔ پرمیوم نیازی به نوشتن فرمول ذاتی و زمانی نیست این دو خودشان کال و پوت را تشخیص می‌دهند و صفرِ منفی نمی‌دهند و چون جمعشان پرمیوم است، یکی را بسازید و دیگری را کم کنید ولی استفاده از هر دو تابع خواناتر از تفریق دستی است
intrinsic() و timeValue() خودشان کال و پوت را تشخیص می‌دهند و ارزش ذاتی منفی نمی‌دهند — پس لازم نیست فرمولشان را دستی بنویسید.

نمایش مقدار ریالی ارزش ذاتی (سبز برای ارزش‌های ذاتی مثبت):

return style(roundNumber(intrinsic(), 0), intrinsic() > 0 ? 'green' : '#999');

نمایش مقدار ریالی ارزش زمانی قرارداد:

return roundNumber(timeValue(), 0);

5. موقعیت‌های باز (Open Interest) و وضعیت زنجیره

مراجع علمی: موقعیت باز (OI) · سقف موقعیت باز بورس

وضعیت زنجیره، چیزی که فقط اینجا هست باز | 68% زنجیره درصد پر شدن سقف قانونی option.chainOpen زنجیره باز است یا محدود شده option.chainFill چند درصد سقف قانونی پر شده زنجیرهٔ بسته یعنی نمی‌شود موقعیت تازه باز کرد پس این ستون، قراردادهایی را جدا می‌کند که تحلیلشان بی‌فایده است
وضعیت زنجیره و درصد پر شدن سقف قانونی در یک سلول — زنجیرهٔ بسته یعنی نمی‌شود موقعیت تازه باز کرد، پس تحلیل آن قرارداد بی‌فایده است.

نمایش تعداد موقعیت باز به صورت فشرده به همراه درصد تغییر روزانه:

if (!option.openInterest) return ''; let chg = option.openInterestPC; let chgColor = chg > 5 ? '#16a34a' : chg < -5 ? '#dc2626' : '#6b7280'; return style(rnwc(option.openInterest), '', '', 'OI') + ' | ' + style(roundNumber(chg, 1) + '%', chgColor, '', 'تغییر روزانه');

نمایش وضعیت زنجیره معاملاتی (باز/بسته) و درصد پر شدن سقف قانونی بورس:

let status = option.chainOpen ? 'باز' : 'بسته/محدود'; let color = option.chainOpen ? '#16a34a' : '#dc2626'; return style(status, color, '', 'زنجیره') + ' | ' + style(roundNumber(option.chainFill, 0) + '%', '#ea580c', '', 'درصد سقف قانون');

6. توابع پیشرفته هم‌سررسید (زنجیره اختیارها)

ارجاع به قراردادهای همسایه، داخل سلول دو اعمال بالاتر یک اعمال بالاتر سطر جاری یک اعمال پایین‌تر دو اعمال پایین‌تر همه در یک سلول، قابل کلیک optionSE(-2 … +2) showDetail(namad) یعنی مقایسهٔ همسایه‌ها بدون ترک جدول و بدون اسکرول
یک ستون می‌تواند قراردادهای اعمالِ بالاتر و پایین‌تر را قابل کلیک کنار هم بگذارد — مقایسهٔ همسایه‌ها بدون ترک جدول.

نمایش نمادهای هم‌سررسید با قیمت اعمال بالاتر و پایین‌تر:

let result = ''; for (let index = -2; index <= 2; index++) { if (index === 0) continue; let o = optionSE(index); if (o) result += showDetail(o.namad, '#') + '
'; } return result;

نمایش مشخصات نماد اختیار فروش (Put) مقابل برای جفت‌قرارداد اختیار خرید (Call) جاری:

let opp = optionSE(0, 'os'); return opp ? showDetail(opp.namad, 'put') : '';

7. ستون پیشرفته — ترکیب کال اسپرد صعودی همراه با دکمه 📈 نمودار سود/زیان

این ستون فوق‌العاده هوشمند، بهترین ترکیب کال اسپرد را روی نمادهای پایه پیدا کرده و پوزیشن‌های خرید و فروش را مستقیماً وارد شیء pos می‌کند. به کمک **ثابت‌های ویژوال جدید**، شما می‌توانید آستانه‌های فیلتر سود ماهانه و فاصله اعمال تا سهم را مستقیماً از دکمهٔ ⚙️ بالای ستون کنترل کنید:

ستون پیشرفته — چهار چیز در یک فرمول 1 ثابت‌های ویژوال آستانه از پنل ⚙️ 2 حلقه روی زنجیره بهترین ترکیب 3 ساخت پوزیشن pos 4 دکمهٔ نمودار در همان سلول گام یک همان چیزی است که این ستون را قابل تنظیم می‌کند کاربر آستانه‌ها را عوض می‌کند بدون اینکه کد را ببیند پیش از حلقه، حجم سرخط هر دو پا را چک کنید وگرنه ترکیبی پیشنهاد می‌شود که خریدار یا فروشنده ندارد و ستون، قابل اجراترین گزینه را بالا می‌آورد نه فقط بهترین عدد را
ستون پیشرفته چهار چیز را یک‌جا دارد: ثابت‌های ویژوال، حلقه روی زنجیره، ساخت پوزیشن و دکمهٔ نمودار — و حجم سرخط را باید پیش از حلقه چک کرد.
// --- تنظیمات ویژوال قابل تغییر در پنل ⚙️ --- const FILTER_MIN_MONTHLY = 2; // حداقل سود ماهانه مورد انتظار (درصد) const FILTER_MIN_STRIKE_DIST = 10; // حداقل فاصله اعمال بالاتر از سهم (درصد) let result = ''; let index = -1; while (optionSE(++index) !== undefined) { let upper = optionSE(index); if (!upper || upper.ti.buy1Volume === 0 || option.ti.buy1Volume === 0) continue; // محاسبه بدهکاری/هزینه اولیه راه‌اندازی اسپرد let debit = (option.ti.sell1Price - upper.ti.buy1Price) * option.size; // محاسبه حداکثر سود تئوریک let profit = ((upper.strike - option.strike) * option.size) - debit; // محاسبه سود سالانه یا ماهانه let yCapital = monthlyProfit((profit / debit) * 100, option.daysUntilMaturity); // فاصله استرایک بالایی تا آخرین قیمت سهم پایه let disStrike = calcRateChange(ua.ti.lastPrice, upper.strike); // ارزیابی شروط بر اساس فیلترهای پنل ویژوال if (yCapital >= FILTER_MIN_MONTHLY && disStrike > FILTER_MIN_STRIKE_DIST && disStrike > 0 && option.ti.sell1Price > 0 && upper.ti.buy1Price > 0) { // اضافه کردن موقعیت خرید و فروش تعهدی به شیء جهت رسم پلات pos.add('buy', option.namad, 1, 'sell'); pos.add('sell', upper.namad, 1, 'buy'); result += showDetail(upper.namad) + ' : ' + style(yCapital, 'green', '', 'سود ماهانه') + ' : ' + style(disStrike, '#ea580c', '', 'فاصله اعمال'); // ساخت دکمه 📈 تعاملی جهت بارگذاری فوری پوزیشن‌ها در صفحهٔ نمودار سود/زیان result += pos.build('اسپرد ' + option.namad); } } return result;

مطالب مرتبط: پرامپت فرمول‌نویسی برای هوش مصنوعی · راهنمای ساخت تنظیمات ویژوال (⚙️) · دیده‌بان آپشن · ستون‌های آماده دیده‌بان

مقالات مرتبط

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

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

رسم نمودار استراتژی

رسم نمودار سود و زیان استراتژی از دل فرمول‌نویسی دیده‌بان: پارامترهای کامل pos.add (سمت، تعداد، قیمت، وجه تضمین)، pos.build و pos.clear، با نمونه کاورکال، کال اسپرد صعودی و باترفلای.

فرمول‌نویسی با هوش مصنوعی | پرامپت آماده برای ChatGPT، Claude و Cursor

پرامپت آمادهٔ کپی با مرجع کامل فیلدها، توابع و قوانین فرمول‌نویسی دیده‌بان آپشن‌باز — آن را به ChatGPT یا Claude یا Cursor بدهید تا ستون و فیلتر دلخواهتان را بنویسد. به‌همراه نمونهٔ درخواست دقیق و نسخهٔ متنی همیشه‌به‌روز.

مدیریت خروجی و فیلتر فرمول | راهنمای تنظیمات ویژوال دیده‌بان

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

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

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

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

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

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

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

راهنمای نمودار استراتژی اختیار معامله | ساخت و تحلیل سود و زیان

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

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

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

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

آموزش کاربردی پیاده‌سازی اسکنر انحراف قیمت بازار از قیمت بلک‌شولز به همراه فیلتر حاشیه امنیت اعمال سهم با پنل تعاملی ویژوال (⚙️).

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

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

آموزش ویدیویی نمودار سود و زیان استراتژی اختیار معامله | 4 ویدیو

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

فیلتر هوشمند قراردادهای اختیار معامله با شرایط بهینه معاملاتی

آموزش گام‌به‌گام ساخت و اجرای اسکنر هوشمند برای شناسایی بهترین قراردادهای اختیار معامله بر اساس ارزش معاملات، بلک‌شولز، اهرم و وضعیت در سود.

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

پیدا کردن قراردادهایی که پرمیومشان با هم‌گروه هم‌سررسید کمتر از آستانهٔ درصدی فاصله دارد — با optionSE، basePrice و calcRateChange.

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

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

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

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

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

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

۳ پیام
حسین
19 اردیبهشت 1402 - 22:35
باسلام آیا این فیلترها در سایت tse قابل اجرا است؟ چون یکیش را تست کردم جواب نمیده
حسینپاسخ
19 اردیبهشت 1402 - 22:52
امکانش هست فرمولهایی که در سایت tse امکان پیاده سازیش باشه معرفی کنید
اشکان
13 اردیبهشت 1402 - 21:55
سلام چگونه میشود فرمولی نوشت که بشه باهاش نوسان ضمنی اختیار های کمتر از 0.6 را پیدا کرد