روش جدید یکپارچه سازی فیلتر و فرمول و تعریف متغییر و متغییر آن بصورت ویژوال | آپشن باز

مثال‌های عملی

const FILTER_MIN_PROFIT = 2.5;     // حداقل سود (درصد)
const FILTER_MIN_TVALUE = 10000000; // حداقل ارزش معاملات
const FILTER_OPTION_STATE = 'ITM';  // وضعیت قرارداد [][ITM][OTM][ATM]

مقایسه قبل و بعد

کد قدیمی:

let condition11 = _var11 != '' ? _var11 : 1000;
let condition12 = _var12 != '' ? _var12 : 'ITM';

if (price > condition11 && state == condition12) {
    return 'نمایش داده شود';
}

کد جدید:

const FILTER_MIN_PRICE = 1000;     // حداقل قیمت
const FILTER_OPTION_STATE = 'ITM';  // وضعیت قرارداد

if (price > FILTER_MIN_PRICE && state == FILTER_OPTION_STATE) {
    return 'نمایش داده شود';
}

یکپارچه‌سازی فیلتر و فرمول

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

مثال کامل

🔸 فرمول ساده (بدون فیلتر) در قسمت ستون محاسباتی

const FILTER_TVALUE_MIN = 10000000;  // حداقل ارزش معاملات
const FILTER_OPTION_STATE = '';      // وضعیت قرارداد [][ITM][OTM][ATM]

let result = '';
if (option.ti.tValue > FILTER_TVALUE_MIN
&& (FILTER_OPTION_STATE == '' || option.state == FILTER_OPTION_STATE)) {
    result = 'ارزش معاملات: ' + option.ti.lastDayTValue + ' ' + option.state;
}

result;

🔸 فیلتر جداگانه (روش قدیمی) در قسمت فیلتر تعریف می شد

const FILTER_TVALUE_MIN = 10000000;  // حداقل ارزش معاملات
const FILTER_OPTION_STATE = '';      // وضعیت قرارداد

// فقط true/false برمی‌گرداند
option.ti.tValue > FILTER_TVALUE_MIN
&& (FILTER_OPTION_STATE == '' || option.state == FILTER_OPTION_STATE)

🔸 🌟 فرمول یکپارچه جدید (فیلتر + فرمول) در قسمت ستون محاسباتی

const FILTER_TVALUE_MIN = 10000000;  // حداقل ارزش معاملات
const FILTER_OPTION_STATE = '';      // وضعیت قرارداد [][ITM][OTM][ATM]

<b><i>const FILTER_SHOW = true;             // فیلتر در نمایش خروجی
const FILTER_RESULT = false;          // فیلتر جستجوی اصلی

let isFilterMatched = false;           
let result = '';

if ((!FILTER_SHOW && !FILTER_RESULT) ||</i></b>  
(option.ti.tValue > FILTER_TVALUE_MIN
&& (FILTER_OPTION_STATE == '' || option.state == FILTER_OPTION_STATE))) {
    
    <b><i>if (FILTER_RESULT) {              
        isFilterMatched = true;       
    }</i></b>                   
    
    result = 'ارزش معاملات: ' + option.ti.lastDayTValue + ' ' + option.state;
}

<b><i>if (FILTER_RESULT === true) {         
    isFilterMatched;                  
} else {                              
    result;
}</i></b>

راهنمای تبدیل کد

کلید توضیح مقدار پیش‌فرض
FILTER_SHOW فیلتر نمایش خروجی true
FILTER_RESULT فیلتر جستجوی اصلی false

توضیح کدهای اضافی برای ترکیب ستون و فیلتر

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

متغیرهای کنترلی
const FILTER_SHOW = true;     // کنترل نمایش خروجی
const FILTER_RESULT = false;  // کنترل حالت فیلتر

این دو متغیر تعیین می‌کنند که کد در چه حالتی کار کند:
- اگر فقط نمایش خروجی می‌خواهید
- اگر فقط فیلتر می‌خواهید
- یا هر دو

متغیر وضعیت فیلتر
let isFilterMatched = false;

این متغیر نتیجه فیلتر را ذخیره می‌کند. اگر شرایط فیلتر برقرار باشد، مقدار آن true می‌شود.

منطق کنترل اجرا

<b>if ((!FILTER_SHOW && !FILTER_RESULT) ||</b> 
(option.ti.tValue > FILTER_TVALUE_MIN && ...)) {
    // محتوای اصلی
}

<b>if (FILTER_RESULT === true) {         
    isFilterMatched;                  
} else {                              
    result;
}</b>

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

مقالات مرتبط

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

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

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

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