مجموعه کاملی از نمونه کدهای آماده و کاربردی برای ساخت ستونهای محاسباتی شخصیسازیشده و پیشرفته در دیدهبان بر اساس بلکشولز، سر به سر، یونانیها و موقعیت باز.
برای ساخت ستون، به دیدهبان آپشن بروید، یا از طریق میزکار باکس دیدهبان اضافه کنید؛ سپس روی دکمهٔ ستون محاسباتی کلیک کنید، یک نام مناسب بگذارید، کد را در ادیتور بنویسید و خروجی نهایی را با دستور return برگردانید، سپس آن را ذخیره کنید.
ستونهای زیر آمادهٔ کپیاند، ولی برای اینکه بتوانید تغییرشان بدهید باید بدانید هر خط چه میگوید — زبان فرمولنویسی متغیر، شرط، آرایه و تابع را با همین جنس مثالها توضیح میدهد.
یک سلول سه کانال دارد: مقدار خوانده میشود، رنگ وضعیت را بیکلمه میگوید، و تولتیپ جزئیات را بدون شلوغ کردن جدول نگه میدارد.رنگ را چشم پیش از عدد میبیند، پس آستانهها را جایی بگذارید که تصمیم شما عوض میشود — و برای دادهٔ خالی رشتهٔ خالی بدهید، نه رنگ خنثی.
اختلاف قیمت بازار (بهترین تقاضا) با قیمت تئوریک بلکشولز (درصد):
نمایش وضعیت زنجیره معاملاتی (باز/بسته) و درصد پر شدن سقف قانونی بورس:
let status = option.chainOpen ? 'باز' : 'بسته/محدود';
let color = option.chainOpen ? '#16a34a' : '#dc2626';
return style(status, color, '', 'زنجیره') +
' | ' + style(roundNumber(option.chainFill, 0) + '%', '#ea580c', '', 'درصد سقف قانون');
6. توابع پیشرفته همسررسید (زنجیره اختیارها)
یک ستون میتواند قراردادهای اعمالِ بالاتر و پایینتر را قابل کلیک کنار هم بگذارد — مقایسهٔ همسایهها بدون ترک جدول.
نمایش نمادهای همسررسید با قیمت اعمال بالاتر و پایینتر:
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 میکند. به کمک **ثابتهای ویژوال جدید**، شما میتوانید آستانههای فیلتر سود ماهانه و فاصله اعمال تا سهم را مستقیماً از دکمهٔ ⚙️ بالای ستون کنترل کنید:
ستون پیشرفته چهار چیز را یکجا دارد: ثابتهای ویژوال، حلقه روی زنجیره، ساخت پوزیشن و دکمهٔ نمودار — و حجم سرخط را باید پیش از حلقه چک کرد.
// --- تنظیمات ویژوال قابل تغییر در پنل ⚙️ ---
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;