فرمولنویسی با هوش مصنوعی | پرامپت اختصاصی و مرجع کامل توابع | آپشن باز
فرمولنویسی با هوش مصنوعی | پرامپت اختصاصی و مرجع کامل توابع
پرامپت آماده و چیتشیت جامع تمام توابع، فیلدها و ساختار موتور فرمولنویسی دیدهبان برای کپی و ارسال به ChatGPT، Claude و Cursor.
نویسنده: بخش محتواتاریخ انتشار: 1405/02/01آخرین بهروزرسانی: 1405/04/2677 دقیقه مطالعه
اشتراکگذاری:
شما میتوانید کل متن این مقاله یا بخشهای مرجع آن را کپی کرده و به همراه سناریوی مدنظر خود به هوش مصنوعی (مانند ChatGPT، Claude یا Cursor) بدهید تا فرمول یا فیلتر نهایی دیدهبان آپشنباز را با دقت ۱۰۰٪ و بدون خطا برایتان تولید کند.
چطور از این راهنما استفاده کنیم؟
کافیست پرامپت آمادهٔ بخش زیر را کپی کرده و به هوش مصنوعی بفرستید، سپس فرمول دلخواه خود را توصیف کنید (مثلاً: «فرمول آربیتراژ خرید کال با محاسبه کارمزد و فیلتر دلتا را برایم بنویس»).
📋 پرامپت آماده برای ارسال به هوش مصنوعی (کپی کنید)
من میخواهم یک فرمول/فیلتر برای دیدهبان اختیار معامله (آپشن) در پلتفرم آپشنباز بنویسم.
کد نهایی باید به زبان جاوااسکریپت (ES6) باشد و مقدار خروجی را با تگ return برگرداند.
لطفاً بر اساس مرجع کامل فیلدها، توابع و ساختار فرمولنویسی که در زیر آوردهام، فرمول مدنظر من را بنویس:
--- مرجع فیلدها و توابع پلتفرم ---
۱. آبجکتهای اصلی:
- option: اطلاعات قرارداد جاری (مانند استرایک، روز تا سررسید و ...)
- ua: اطلاعات دارایی پایه قرارداد جاری (مانند نوسان تاریخی HV، رتبه و ...)
۲. فیلدهای آبجکت option:
- option.namad: نماد اختیار (رشته - مانند ضهرم8004)
- option.name: نام کامل نماد اختیار (رشته)
- option.strike: قیمت اعمال (عدد)
- option.type: نوع قرارداد ("call" یا "put")
- option.daysUntilMaturity: تعداد روزهای تقویمی تا سررسید (عدد)
- option.dayTradesUntilMaturity: تعداد روزهای معاملاتی تا سررسید (عدد)
- option.size: اندازه قرارداد (تعداد سهم، معمولاً 1000)
- option.state: وضعیت قرارداد ("ITM" | "ATM" | "OTM")
- option.openInterest: موقعیتهای باز (عدد)
- option.openInterestPC: درصد تغییر موقعیت باز نسبت به روز قبل
- option.iv: نوسانپذیری ضمنی (عدد بین 0 تا 1)
- option.requiredMargin: وجه تضمین کلید (عدد)
- option.minimumMargin: حداقل مارجین قابل قبول
- option.blackSholesHV: قیمت نظری بلکشولز از پیشمحاسبهشده با HV پایه (ua.hv)
- option.fee: کارمزد خرید و فروش قرارداد اختیار (به صورت ضریب، مثلاً 0.001)
- option.buyExerciseFee: کارمزد اعمال خرید (ضریب)
- option.writeExerciseFee: کارمزد اعمال فروش (ضریب)
۳. فیلدهای آبجکت ua (دارایی پایه):
- ua.namad: نماد سهم پایه (رشته - مانند خودرو، اهرم)
- ua.name: نام کامل سهم پایه
- ua.hv: نوسانپذیری تاریخی سهم پایه (عدد بین 0 تا 1)
- ua.ivRank: رتبه نوسانپذیری ضمنی نسبت به یک سال گذشته (0 تا 100)
- ua.ivPercentile: درصد نوسانپذیری ضمنی (0 تا 100)
- ua.isEtf: آیا سهم پایه صندوق است؟ (boolean)
- ua.buyFee: کارمزد خرید سهم پایه
- ua.sellFee: کارمزد فروش سهم پایه
۴. فیلدهای اطلاعات معاملاتی روز (ti) - قابل دسترسی روی option.ti و ua.ti:
- lastPrice: آخرین قیمت معاملهشده
- lastPC: درصد تغییر آخرین قیمت نسبت به دیروز
- endPrice: قیمت پایانی
- endPC: درصد تغییر قیمت پایانی
- volume: حجم معاملات امروز
- tValue: ارزش معاملات امروز (ریال)
- lastDayVolume: حجم معاملات روز قبل
- lastDayTValue: ارزش معاملات روز قبل
- min: کمترین قیمت معاملهشده امروز
- max: بیشترین قیمت معاملهشده امروز
- dailyPriceLow: حد پایین دامنه نوسان قیمت روز
- dailyPriceHigh: حد بالای دامنه نوسان قیمت روز
- صف خرید/فروش ۵ سطحی: buy1Price تا buy5Price و sell1Price تا sell5Price (قیمتها) و حجمهای متناظر: buy1Volume تا buy5Volume و sell1Volume تا sell5Volume
- آمار حقیقی/حقوقی: realBuyVolume, coBuyVolume, realSellVolume, coSellVolume و تعداد خریدار/فروشنده: realBuyCount, coBuyCount, realSellCount, coSellCount
۵. توابع کمکی تحلیلی و معاملاتی:
- intrinsic(): ارزش ذاتی قرارداد (تفاوت قیمت پایه و استرایک بر اساس نوع خرید/فروش)
- timeValue(): ارزش زمانی قرارداد (حقپریمیوم منهای ارزش ذاتی مثبت)
- isITM(): آیا قرارداد در سود (In-the-Money) است؟ (boolean)
- breakeven(): قیمت نقطه سر به سر قرارداد در سررسید
- leverage(): اهرم ساده قرارداد (قیمت پایه تقسیم بر قیمت اختیار)
- askBidSpread(): درصد فاصله بهترین قیمت خرید و فروش (اسپرد) از آخرین قیمت
- optionState(type?, strike?, basePrice?): وضعیت مالی یک قرارداد دلخواه را برمیگرداند ('ITM' | 'ATM' | 'OTM')
- probOfProfit(bePrice, currentPrice, iv, daysToMaturity): درصد احتمال موفقیت/سود تا سررسید (بین 0 تا 100)
- basePrice(item): قیمت بر اساس مبنای انتخابی کاربر در دیدهبان (پاس دادن option یا ua به عنوان ورودی)
۶. توابع محاسباتی و بازدهی:
- ytmProfit(r, t): بازدهی تا سررسید سالانهشده (r درصد بازدهی کل، t روز تا سررسید)
- monthlyProfit(profit, days): بازدهی ماهانه بر اساس درصد سود و تعداد روز
۷. توابع فرمتدهی و زیباسازی خروجی سلولها (رنگ و متن):
- roundNumber(number, maxDecimals?): گرد کردن عدد تا تعداد اعشار مشخص
- commaSeparator(val, fixed?): جدا کردن سه رقم سه رقم عدد
- formatNumber(x, fixed?): فرمتدهی عدد بزرگ همراه با حروف K، M و B
- calcRateChange(n1, n2, fix?): درصد تغییر از عدد n1 به n2
- rnwc(x, fixed?, fixedB?, isCurrency?, wordifyTitleSpan?, showZero?): نمایش پیشرفته عدد همراه با رنگ، فرمت و تبدیل به حروف فارسی در تولتیپ
- rnWordify(val, fromTable?): تبدیل عدد به حروف فارسی همراه با واحدهای ریال/درصد
- wordifyfa(num): تبدیل ساده عدد به حروف فارسی
- namadNo(namad): استخراج عدد انتهای نماد (مثلاً 8004 از ضهرم8004) برای یافتن استرایک یا تاریخ
- style(value, color, bg?, title?, bold?): استایلدهی سلول با رنگ متن، پسزمینه، تولتیپ و ضخامت متن
- colorCondition(value, min, minColor, max, maxColor, mode?, comma?): رنگآمیزی شرطی عدد بین دو بازه
- colorRange(val, ranges): رنگآمیزی بر اساس بازههای دلخواه (آرایهای از قوانین رنگ)
- showDetail(optionName, title?): ساخت دکمه باز کردن جزئیات قرارداد در پایین صفحه
- copyToClipboard(value): ساخت دکمهٔ کپی کردن یک مقدار در حافظه کلاینت
- createPriceLine({ width, points, currentPrice, marginPercent? }): ساخت نمودار خطی کوچک مینیاتوری از قیمت نسبت به نقاط استرایک
- sortAndFormatResults(items, sortBy, sortDir?, displayInline?): مرتبسازی گزینههای یک استراتژی در یک سلول و قالببندی خروجی با خط افقی یا لوله
۸. توابع ساخت سبد استراتژی و شبیهساز (P/L):
- pos.add(position, namad, count?, price?, cashBlock?): اضافه کردن یک موقعیت به سبد شبیهساز. پارامتر position میتواند یکی از مقادیر 'buy_call' | 'sell_call' | 'buy_put' | 'sell_put' | 'buy_stock' | 'sell_stock' باشد.
- pos.build(name?, tradingFee?, exerciseFee?): نهاییسازی و تولید دکمهٔ نمایش نمودار سود/زیان (P/L) و ساخت استراتژی تعاملی در صفحه
- pos.clear(): پاکسازی سبد شبیهساز قبل از محاسبات جدید
۹. توابع محاسبات بلکشولز و یونانیها:
- calcBS(namad?) | calcBS(overrides?): محاسبه بلکشولز و استخراج یونانیها. خروجی یک آبجکت است شامل:
{ bs: قیمت تئوری, delta: دلتا, gamma: گاما, theta: تتا, vega: وگا, rho: رو }
ورودی overrides میتواند اختیاری شامل { uaPrice, strike, iv, days, rate, type } باشد.
۱۰. توابع جستجو و زنجیره قراردادها:
- getOptionsByChain(uaNamad, type?, days?): دریافت کل قراردادهای زنجیرهٔ یک دارایی پایه
- getOptionByParam(type?, strike?, days?, baseNamad?): جستجوی دقیق یک قرارداد بر اساس مشخصات
- optionSE(strikeNo?, type?): دریافت قرارداد همسررسید با چند استرایک بالاتر یا پایینتر (مثلاً 1 برای یک استرایک بالاتر، 1- برای پایینتر)
- optionSU(namad?, type?): دریافت قرارداد با سررسید متفاوت اما استرایک دقیقاً یکسان
- getOptionByNamad(namad): دریافت مستقیم آبجکت قرارداد دیگر با استفاده از نماد فارسی آن
- getUaByNamad(namad): دریافت مستقیم آبجکت دارایی پایه دیگر با استفاده از نماد فارسی آن
--- قوانین کلیدی فرمولنویسی و کنترلهای ویژوال ---
۱. ساختار متغیرهای تعاملی (ویژوال):
هر ثابتی که با حروف بزرگ و یکی از پیشوندهای معتبر تعریف شود، در پنجره تنظیمات به عنوان کنترل تعاملی ظاهر میشود. نوع کنترل از روی مقدار اولیه و کامنت انتهای همان خط ساخته میشود. قوانین نگارش کامنت برای ساخت دکمهها:
- عدد (Number): مقدار اولیه عددی.
const FILTER_MIN_VOL = 100; // حداقل حجم
- تیک روشن/خاموش (Checkbox): مقدار اولیه منطقی true/false.
const SETTING_FEE = true; // محاسبه کارمزد
- لیست کشویی تکانتخابی (Select Dropdown): گزینهها با براکت [مقدار=برچسب] یا [مقدار] مشخص میشوند. برای ساخت گزینه خالی یا خط تیره از [] استفاده میشود.
const FILTER_STATE = 'ITM'; // وضعیت [ITM=در سود] [OTM=در زیان] [ATM=بیتفاوت] []
- لیست چندانتخابی (Multi-Select): کلمه کلیدی multi در کامنت قرار میگیرد و گزینهها با براکت مشخص میشوند. مقدار ذخیره شده در متغیر رشتهای جدا شده با ویرگول (مثلا '1,3') خواهد بود.
const FILTER_ZONES = '1,2'; // محدوده قیمتی multi [1=پایین] [2=وسط] [3=بالا]
- توضیح راهنما (Tooltip): با قرار دادن title=توضیحات در کامنت ظاهر میشود.
const FILTER_DISTANCE = ''; // فاصله تا اعمال title=عدد مثبت به معنای بالای استرایک است
۲. مرتبسازی ویژوال (SORT_BY & SORT_DIR):
برای افزودن مرتبسازی به پنجره تعاملی، از این دو ثابت با گزینههای دلخواه استفاده کن:
const SORT_BY = 'profit'; // [profit=سود] [volume=حجم]
const SORT_DIR = 'desc'; // [asc=صعودی] [desc=نزولی]
۳. ترتیب نمایش و چیدمان کشیدنی (Display Order):
اگر فرمول بخشهای نمایشی مختلفی دارد، متغیرهای SHOW_ را همراه با آرایه displayOrder تعریف کن تا کاربر بتواند با کشیدن و رها کردن ترتیب آنها را تغییر دهد:
const SHOW_VOLUME = true; // نمایش حجم
const SHOW_IV = true; // نمایش IV
const displayOrder = ['SHOW_VOLUME', 'SHOW_IV'];
۴. الگوی استاندارد فیلتر دوکاره (ستون + فیلتر ردیف):
کدهای شما باید دوکاره باشند؛ یعنی هم بتوانند به عنوان ستون در جدول مقدار نشان دهند و هم به عنوان فیلتر کل ردیف کار کنند. ساختار اجباری فیلتر دوکاره به شکل زیر است:
const FILTER_RESULT = false; // سوئیچ فعالسازی فیلتر کل جدول
const FILTER_SHOW = true; // فیلتر در نمایش سلولهای ستون
let isMatched = [شرط فیلتر شما، مثلاً حجم بزرگتر از فیلتر];
if (FILTER_RESULT) return isMatched; // اگر به عنوان فیلتر ردیف فعال شد، مقدار بولی برگردان
if (!FILTER_SHOW && !isMatched) return ''; // اگر سلول شرط را نداشت و فیلتر نمایش فعال نبود، خالی بماند
// در غیر این صورت خروجی سلول را چاپ کن:
return [خروجی نهایی شما، مثلاً مقدار حجم یا دکمه استراتژی];
حالا درخواست من این است:
[درخواست فرمول نویسی خود را در این بخش بنویسید]
۱) اصول پایه و قوانین ساختار فرمول
موتور فرمولنویسی پلتفرم از جاوااسکریپت استاندارد پشتیبانی میکند. رعایت نکات زیر الزامی است:
اجبار در return: فرمول شما باید در نهایت مقدار عددی یا رشتهٔ متنی (که میتواند حاوی تگهای HTML جهت زیباسازی باشد) را با دستور return برگرداند. در غیر این صورت سلول جدول خالی خواهد ماند.
تعریف متغیرهای تعاملی (تنظیمات ویژوال): هر ثابتی که با حروف بزرگ و پیشوندهای معتبر تعریف شود، در پنجره تنظیمات به عنوان کنترل تعاملی ظاهر میشود.
const FILTER_MIN_VOLUME = 100; // حداقل حجم
const SHOW_VOLUME = true; // نمایش حجم معاملات
۲) مشخصات آبجکتهای اصلی (option & ua)
در بدنهٔ هر فرمول، دو آبجکت اصلی به نامهای option (قرارداد جاری) و ua (دارایی پایه متناظر) در دسترس هستند:
فیلدهای پرکاربرد آبجکت option:
option.namad: نماد فارسی قرارداد اختیار (مثلاً ضهرم۸۰۰۴)
option.strike: قیمت اعمال قرارداد (Strike Price)
option.type: نوع قرارداد اختیار که فقط شامل دو مقدار 'call' یا 'put' است.
option.daysUntilMaturity: تعداد روزهای تقویمی باقیمانده تا تاریخ سررسید.
option.size: اندازه یا ضریب قرارداد اختیار (معمولاً ۱۰۰۰ سهم).
option.state: وضعیت مالی قرارداد که شامل سه مقدار 'ITM' (در سود)، 'ATM' (سر به سر) یا 'OTM' (خارج از سود) است.
option.openInterest: تعداد کل موقعیتهای باز فعال در بازار برای این قرارداد.
option.iv: نوسانپذیری ضمنی قرارداد (عددی بین ۰ تا ۱).
option.requiredMargin: وجه تضمین کلید اعلام شده توسط بورس برای موقعیت فروش.
option.fee: نرخ کارمزد معاملهٔ خرید/فروش اختیار.
فیلدهای پرکاربرد آبجکت ua:
ua.namad: نماد دارایی پایه (مثلاً خودرو، اهرم).
ua.hv: نوسانپذیری تاریخی دارایی پایه (عددی بین ۰ تا ۱).
ua.ivRank: رتبه تلاطم ضمنی فعلی نسبت به یک سال گذشته (بازهٔ ۰ تا ۱۰۰).
ua.ivPercentile: درصد روزهایی که تلاطم ضمنی پایه کمتر از مقدار فعلی بوده است (بازهٔ ۰ تا ۱۰۰).
ua.isEtf: مشخص میکند آیا دارایی پایه صندوق قابل معامله است یا خیر (true / false).
۳) مشخصات فیلدهای معاملاتی لحظهای (ti)
اطلاعات قیمتها، حجمها و سفارشهای خرید/فروش لحظهای در آبجکتی به نام ti قرار دارند که هم روی قرارداد اختیار و هم روی دارایی پایه در دسترس است (option.ti و ua.ti):
lastPrice: آخرین قیمت معاملهشده.
endPrice: قیمت پایانی بازار.
lastPC: درصد تغییر آخرین قیمت نسبت به قیمت روز قبل.
endPC: درصد تغییر قیمت پایانی نسبت به قیمت روز قبل.
volume: حجم معاملات امروز نماد.
tValue: ارزش ریالی معاملات انجام شده امروز.
min و max: کمترین و بیشترین قیمت معامله شده در جلسهٔ معاملاتی جاری.
dailyPriceLow و dailyPriceHigh: سقف و کف مجاز نوسان قیمت روزانه.
دفتر سفارشات ۵ سطحی: قیمتهای خرید buy1Price تا buy5Price، قیمتهای فروش sell1Price تا sell5Price و حجمهای متناظر صفها مانند buy1Volume یا sell1Volume.
آمار حقیقی/حقوقی: حجم خرید حقیقی realBuyVolume، حجم فروش حقیقی realSellVolume، حجم خرید حقوقی coBuyVolume و حجم فروش حقوقی coSellVolume.
۴) توابع تحلیلی و محاسباتی آماده
پلتفرم آپشنباز توابع اختصاصی متعددی را برای سادهسازی محاسبات ریاضی و مالی در اختیار شما قرار میدهد:
intrinsic(): ارزش ذاتی قرارداد جاری را برمیگرداند.
timeValue(): ارزش زمانی قرارداد جاری را برمیگرداند.
isITM(): بررسی در سود بودن قرارداد جاری (true / false).
breakeven(): قیمت سر به سر قرارداد در زمان سررسید را محاسبه میکند.
leverage(): اهرم ساده قرارداد را محاسبه میکند (توصیه میشود به جای نام قدیمی CalcLeverage استفاده شود).
askBidSpread(): درصد فاصله بهترین خرید و فروش از آخرین قیمت قرارداد.
optionState(type?, strike?, basePrice?): دریافت وضعیت مالی برای یک قرارداد فرضی دلخواه.
probOfProfit(bePrice, currentPrice, iv, daysToMaturity): محاسبه درصد احتمال موفقیت قرارداد تا سررسید بر اساس مدل لاگنرمال.
basePrice(item): دریافت قیمت یک آبجکت (مانند option یا ua) بر اساس مبنای قیمت انتخابی کاربر در هدر دیدهبان (توصیه میشود به جای ScalePrice استفاده شود).
ytmProfit(r, t): بازدهی تا سررسید سالانهشده (r درصد بازدهی کل, t روز تا سررسید).
monthlyProfit(profit, days): بازدهی ماهانه معادل بر اساس سود کل و تعداد روز باقیمانده.
۵) توابع فرمتدهی و زیباسازی خروجی (رنگ و استایل)
برای قالببندی اعداد و افزودن رنگ به خانههای جدول دیدهبان از توابع زیر استفاده کنید:
roundNumber(number, maxDecimals?): گرد کردن عدد تا رقم اعشار دلخواه.
commaSeparator(val, fixed?): فرمتدهی عددی با جداکننده سه رقمی.
formatNumber(x, fixed?): تبدیل اعداد بزرگ به قالب خوانا همراه با پسوندهای K، M و B (مثال: ۱.۵M به جای ۱۵۰۰۰۰۰).
calcRateChange(n1, n2, fix?): درصد اختلاف و تغییر از مقدار اول به مقدار دوم.
style(value, color, bg?, title?, bold?): تولید کد HTML برای نمایش مقدار با رنگ متن، رنگ پسزمینه و تولتیپ دلخواه در سلول جدول.
colorCondition(value, min, minColor, max, maxColor, mode?, comma?): رنگآمیزی شرطی مقدار متغیر بین دو محدودهٔ عددی.
colorRange(val, ranges): رنگآمیزی بر اساس بازههای تعیین شده در قالب آرایه.
rnwc(x, fixed?, fixedB?, isCurrency?, wordifyTitleSpan?): نمایش پیشرفتهٔ عدد همراه با رنگآمیزی، فرمت سه رقمی و تبدیل عدد به حروف در زمان نگه داشتن ماوس (Tooltip).
rnWordify(val, fromTable?): تبدیل عدد به حروف فارسی همراه با پسوندهای مناسب ریال یا درصد.
wordifyfa(num): تبدیل ساده عدد به معادل حروف فارسی آن.
copyToClipboard(value): دکمهای کوچک با آیکن کپی در سلول جدول ایجاد میکند تا کاربر با کلیک روی آن، مقدار را کپی کند.
createPriceLine({ width, points, currentPrice, marginPercent? }): ایجاد یک نمودار خطی کوچک مینیاتوری در سلول جدول برای ردیابی قیمت فعلی نسبت به قیمتهای اعمال استراتژی.
۶) توابع جستجو و زنجیره قراردادها (Chain & Offset)
برای دسترسی به سایر قراردادهای زنجیره امید از توابع آفست و زنجیره استفاده میشود:
optionSE(strikeNo?, type?): دسترسی به قرارداد همسررسید در فواصل قیمتی اعمال متفاوت. به عنوان مثال، مقدار optionSE(1) قرارداد با یک استرایک بالاتر و optionSE(-1) یک استرایک پایینتر را نسبت به قرارداد سطر جاری برمیگرداند.
optionSU(namad?, type?): دریافت قرارداد با سررسید متفاوت اما استرایک دقیقاً یکسان.
getOptionsByChain(uaNamad, type?, days?): دریافت کل لیست قراردادهای زنجیرهٔ یک دارایی پایه.
getOptionByParam(type?, strike?, days?, baseNamad?): جستجوی کاملاً دقیق یک قرارداد در کل بازار بر اساس ویژگیها.
getOptionByNamad(namad): دریافت مستقیم آبجکت اطلاعاتی یک قرارداد دیگر با استفاده از نام آن (مثلاً ضهرم۸۰۰۴).
getUaByNamad(namad): دریافت مستقیم آبجکت اطلاعاتی یک دارایی پایه دیگر با استفاده از نام نماد آن.
۷) توابع شبیهساز استراتژی و شبیهساز P/L
توابع سبد سهام تعاملی به شما اجازه میدهند قراردادهای مختلف را ترکیب کرده و دکمهٔ نمایش نمودار سود/زیان تعاملی (P/L) را بسازید:
pos.add(position, namad, count?, price?, cashBlock?): اضافه کردن یک موقعیت معاملاتی به سبد. مقادیر مجاز برای position عبارتند از:
'buy_call' (خرید اختیار خرید)
'sell_call' (فروش اختیار خرید)
'buy_put' (خرید اختیار فروش)
'sell_put' (فروش اختیار فروش)
'buy_stock' (خرید سهم پایه)
'sell_stock' (فروش سهم پایه)
pos.build(name?, tradingFee?, exerciseFee?): نهاییسازی سبد و ایجاد دکمهٔ تعاملی نمایش نمودار سود/زیان استراتژی. با کلیک کاربر روی این دکمه در جدول، پنل پویای تحلیل استراتژی گشوده میشود.
۸) محاسبات بلکشولز و پارامترهای یونانی (Greeks)
با فراخوانی تابع محاسباتی بلکشولز، یونانیها و قیمت نظری قرارداد را استخراج کنید:
calcBS(namad?) یا calcBS(overrides?): محاسبات مدل بلکشولز را برای قرارداد جاری یا پارامترهای دستی انجام میدهد. خروجی یک آبجکت با فیلدهای زیر است:
bs: قیمت تئوری منصفانه قرارداد اختیار
delta: پارامتر یونانی دلتا
gamma: پارامتر یونانی گاما
theta: پارامتر یونانی تتا
vega: پارامتر یونانی وگا
rho: پارامتر یونانی رو
به عنوان مثال، برای محاسبهٔ دلتا از دستور calcBS().delta استفاده کنید. ورودی دستی به صورت calcBS({ iv: 0.45 }) نوسانپذیری فرضی ۴۵٪ را جایگزین میکند.
۹) الگوی استاندارد فیلتر دوکاره (ستون + فیلتر)
هنگام طراحی فرمول، توصیه میشود ساختار زیر را برای فیلترهای دوکاره پیادهسازی کنید تا فرمول شما هم بتواند ردیفها را در زمان روشن بودن سوئیچ نتایج فیلتر کند و هم مقدار ستون را در سلول نشان دهد:
const FILTER_MIN_VOLUME = 100; // حداقل حجم
const FILTER_RESULT = false; // فعالسازی فیلتر اصلی جدول
const FILTER_SHOW = true; // فیلتر در نمایش سلولهای ستون
let vol = option.ti.volume;
let isMatched = vol >= FILTER_MIN_VOLUME;
// اگر کاربر سوئیچ فیلتر اصلی را در پنجره تنظیمات روشن کرده باشد:
if (FILTER_RESULT) return isMatched;
// اگر فیلتر ستون فعال بوده و ردیف شرط را نداشته باشد، سلول خالی بماند:
if (!FILTER_SHOW && !isMatched) return '';
// در حالت عادی، مقدار نهایی ستون نمایش داده شود:
return commaSeparator(vol);
راهنمای جامع دیدهبان آپشنباز: جدول زنده قراردادها، فیلتر سریع روی سرستون (سربهسر، IV و …)، پنل فیلتر، فرمولنویسی، آلارم و اتصال به نمودار استراتژی.