وضعیت بازار
ارزش معاملات سهام
ارزش معاملات اختیار
حجم معاملات اختیار
اطلاعات قیمت

کد تخفیف نوروزی "1403" خرید اشتراک سایت

@Optionbaaz

امروز ساعت 19 الی 21

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

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

اطلاعات دوره و ثبت نام

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

راهنمای فرمول نویسی، ایجاد ستون محاسباتی و فیلتر در دیده بان

در این ویدیوها فرمول نویسی، ستون محاسباتی و فیلتر را با مثال معرفی کرده ایم. پیشنهاد میکنیم قبل از شروع فرمول نویسی حتما ویدیوها رو مشاهده کنید.

فرمول نویسی چیست و چه کاربردی دارد؟

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

ستون محاسباتی به معاملگر این امکان را می دهد در جدول نتایج دیده بان آپشن، ستون هایی با توجه به خواست و نیاز خود ایجاد کنید. این ستون ها می توانند ساده مثل "نام نماد پایه" تا ستون های محاسباتی مثل "ارزش ذاتی"، "سر به سری"، "درصد سود کاورکال"و ... ایجاد کنید.

فیلتربه زبان ساده فیلترها ابزاری هستند که به شما کمک می‌کنند تا از بین صدها قرارداد که در دیده‌بان وجود دارد، قراردادی را شناسایی کنید که تمام فاکتورهای مد نظر شما را دارا باشند. فیلتری که ایجاد می کنید می بایست در نهایت یک خروجی درست یا غلط داشته باشد(true,false). فقط رکورد هایی به معامله گر نمایش داده می شود که در شرط خروجی true داشته باشند. مثل "دلتای بالای 50"، "اختلاف درصد بلک شولز تا پایانی نماد پایه کمتر از 10"و ...

دو آبجکت اصلی به جهت دسترسی به اطلاعات نماد پایه و قرارداد

  1. نماد پایه UA
  2. قرارداد Option
از طریق این دو آبجکت می توان به اطلاعات کامل نماد پایه و قرارداد بصورت مستقیم و غیر مستقیم دسترسی داشت.

منظور از دسترسی مستقیم : وقتی در فرمول نویسی خود آبجکت را فراخوانی می کنیم نماد پایه یا قرارداد سطر جاری برگردانده میشه. برای مثال:آخرین قیمت نماد پایه سطر جاری که فرمول در آن اجرا میشه

UA.TI.LastPrice

دسترسی غیر مستقیم (خروجی تابع): از طریق تابع هایی که سایت در اختیار شما قرار میده می توانید به اطلاعات نماد پایه و قرارداد که از جنس Option یا UA هستند دسترسی داشته باشید . برای مثال دسترسی به اولین قرارداد زنجیره یا دسترسی به یک قرارداد از طرق نام نماد و ... که مثال های فراوان آن در بخش های مختلف آورده شده.

let op = OptionSE()[0];
let strike = op.Strike;
let lastPrice = op.TI.LastPrice;
...

کد بالا خط اول یک آبجکت از جنس Option که در بردارنده اولین قرارداد از زنجیره قرارداد جاری هست رو در متغییر op ذخیره میکنه. حال یه متغییر از جنس Option داریم به نام op . در خط 2و3 نحوه دسترسی به قیمت اعمال و اخرین قیمت و ... نشان داده شده .

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

توجه: تمامی فیلدها، تابع ها حساس به حروف کوچک و بزرگ هستند.

نماد پایه (Underlying Asset) UA
این آبجکت شامل اطلاعات معاملاتی و دیگر ویژگی های مرتبط با نماد پایه می باشد

نام آبجکت در کد : UA

فیلد توضیح
Namad نماد
Name نام کامل نماد
Code کد 12 رقمی نماد
TI Transaction Info

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

HV نوسان پذیری تاریخی
VolumeAvg میانگین حجم ماهیانه
IsETF نماد پایه صندوق هست؟
NAV اگر نماد پایه صندوق باشد : ارزش خالص دارایی

//مثال فیلتر: ارزش معاملات نماد پایه بیشتر از 10

UA.TI.TValue > 10

//مثال فیلتر: نام نماد پایه خودرو یا خساپا باشد

UA.Namad == "خساپا" || UA.Namad == "خودرو"

شامل اطلاعات قیمتی، بلک شولز، نوسان پذیری و اطلاعات تکمیلی مربوط به قرارداد اختیار معامله می باشد

نام آبجکت در کد : Option

فیلد توضیح فیلد توضیح
Namad نماد Name نام کامل نماد
Code کد 12 رقمی نماد
TI Transaction Info

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

Strike قیمت اعمال
Type نوع قراداد (call اختیار خرید - put اختیار فروش) Sarresid تاریخ سررسید
DaysUntilMaturity روز تقویمی مانده تا سررسید DayTradesUntilMaturity روز معاملاتی مانده تا سررسید
Size سایز قرارداد State وضعیت مالی قرارداد : ITM ATM OTM
OpenInterest تعداد قرارداد باز OpenInterestPC درصد اختلاف تعداد قرارداد باز با روز معاملاتی قبل
BlackSholesHV بلک شولز با نوسان پذیری تاریخی WIV_SE میانگین وزنی (ارزش معاملات) IV زنجیره
WIV میانگین وزنی (ارزش معاملات) IV کل قراردادها با دارایی پایه مشابه Required_Margin وجه تضمین
Minimum_Margin حداقل وجه تضمین VolumeAvg میانگین حجم ماه

//مثال ستون آخرین قیمت آپشن

Option.TI.LastPrice

//مثال فیلتر حجم معاملات قرارداد 0 ولی فروشنده داشته باشد

Option.TI.Volume == 0 && Option.TI.Sell_1_Count > 0

//مثال فیلتر اهرم بالای 4 و وضعیت قرارداد در سود

Option.State== "ITM" && CalcLeverage() >= 4

این فیلد در نماد پایه و قراداد مشترک می باشد و شامل اطلاعات معاملاتی نماد یا قرارداد هست (Transaction Info)
فیلد توضیح فیلد توضیح
LastPrice آخرین قیمت LastPC درصد تغییر آخرین قیمت
LastTransaction زمان آخرین معامله Transactions تعداد معاملات
EndPrice قیمت پایانی EndPC درصد تغییر قیمت پایانی
LastDayPrice قیمت روز قبل(پایانی) LastDayLastPrice آخرین قیمت روز قبل
LastDayVolume حجم معاملات روز قبل LastDayTValue ارزش معاملات روز قبل
Min کمترین قیمت Max بیشترین قیمت
daily_price_low بازه کمترین قیمت daily_price_high بازه بیشترین قیمت
Volume حجم معاملات TValue ارزش معاملات
Buy_1_Price

..

Buy_5_Price
قیمت خرید - سطر اول تا پنجم Buy_1_Volume

..

Buy_5_Volume
حجم خرید - سطر اول تا پنجم
Buy_1_Count

..

Buy_5_Count
تعداد خریدار - سطر اول تا پنجم Sell_1_Price

..

Sell_5_Price
قیمت فروش - سطر اول تا پنجم
Sell_1_Volume

..

Sell_5_Volume
حجم فروش - سطر اول تا پنجم Sell_1_Count

..

Sell_5_Count
تعداد فروش - سطر اول تا پنجم
اطلاعات حقیقی حقوقی
فیلد توضیح فیلد توضیح
Real_Buy_Count تعداد خرید حقیقی Co_Buy_Count تعداد خرید حقوقی
Real_Sell_Count تعداد فروش حقیقی Co_Sell_Count تعداد فروش حقوقی
Real_Buy_Volume حجم خرید حقیقی Co_Buy_Volume حجم خرید حقوقی
Real_Sell_Volume حجم فروش حقیقی Co_Sell_Volume حجم فروش حقوقی
این تابع کلیه قراردادها با سررسید و نماد پایه یکسان را برمی گرداند همچنین از طریق این تابع می توان به قراردادهای با اعمال بالاتر و پایین تر زنجیره دسترسی پیدا کرد(Option Same Expiration)

از طریق این تابع می توانیم به کلیه قرارداها، قرارداد بعدی (اعمال بالاتر) و قرارداد قبلی (اعمال پایین تر) با نماد پایه و سررسید یکسان دسترسی پیدا کنیم . این تابع پر کاربرد در استراتژی هایی مانند کاورکال ، اسپرد، استرادل، استرانگل، کانورژن و ... که برای محاسبات نیاز به دسترسی دیگر قراردادهای هم گروه داریم، استفاده می شود.(راهنمای ویدیویی)

ساختار تابع

OptionSE(strikeNo = '', type = '')

پارامتر کاربرد
strikeNo

در صورت مقداردهی عدد + یا - تعداد قرارداد بالاتر یا پایین تر را بر می گرداند

پیش فرض '' : زنجیره قراردادها را بر می گرداند . در این حالت آرایه ای از قراردادها برگردانده می شود

عدد : قرارداد با اعمال بالاتر یا پایینتر را برمیگرداند

0: خود قرارداد یا طرف مقابل با اعمال یکسان بسته به نوع متغییر type

1: قرارداد با اعمال بالاتر

2: قرارداد دوم با اعمال بالاتر

-1: قرارداد با اعمال پایینتر

type

نوع قرارداد اختیار خرید یا فروش را مشخص می کند

پیش فرض '' : قراردادهای مشابه

'call': اختیار خرید

'put': اختیار فروش

'os': قرارداد مخالف

'all': اختیار خرید و فروش

درصورتی که پارامتر strikeNo مشخص نشود زنجیره قراردادها بصورت آرایه برگردانده می شود که با حقله یا ایندکس می شه به قراردادها دسترسی پیدا کرد.
کلیه قراردادها با سررسید و دارایی پایه یکسان

(بصورت آرایه برگردانده می شود)

OptionSE();
زنجیره طرف مقابل OptionSE('', 'os');
تعداد کل قراردادها در زنجیره OptionSE().length;
اعمال اولین قرارداد زنجیره OptionSE()[0].Strike;
آخرین قیمت اولین قرارداد زنجیره OptionSE()[0].TI.LastPrice;
قیمت اعمال آخرین قرارداد زنجیره

let len = OptionSE().length;

OptionSE()[len-1].Strike;
نام اولین قرارداد زنجیره

(نوع قرارداد مشابه قرارداد فعلی)

OptionSE('', )[0].Namad;
نام اولین قرارداد طرف مقابل زنجیره OptionSE('', 'os')[0].Namad;
نام اولین قرارداد اختیار خرید زنجیره OptionSE('', 'call')[0].Namad;
نام اولین قرارداد اختیار فروش زنجیره OptionSE('', 'put')[0].Namad;
در صورتی که پارامتر strikeNo مشخص شود یک آبجکت از نوع Option برگردانده می شود و مستقیم می توانید به فیلد های آن دسترسی پیدا کنید.
آخرین قیمت قرارداد طرف مقابل OptionSE(0, 'os').TI.LastPrice;
نام قرارداد با اعمال بالاتر OptionSE(1).Namad;
آخرین قیمت قرارداد با اعمال پایین تر OptionSE(-1).Namad;
قیمت اعمال دومین قرارداد با اعمال بالاتر OptionSE(2).Strike;
مثال
حلقه در کل زنجیره

توسط for و while میشه در کل زنجیره قرارداد حلقه زد و به تک تک قرارداد ها با ایندکس دسترسی پیدا کرد

let result = '';

index = 0;

while (OptionSE()[index] != undefined) {

//شرط در صورت نیاز

result += ShowDetail(OptionSE()[index].Namad )

index++;

}

result;

let result = '';

for(index = 0; index < OptionSE().length ; index++)

{ //if ..

result += ShowDetail(OptionSE()[index].Namad )

}

result;

ایجاد ستونی جهت نمایش قراردادهایی با این مشخصه که قیمت انتخابی(آخرین، عرضه و ...) با قیمت دیگر قراردادهای هم گروه خودش کمتر از 10% باشد.

let result= '';

//حلقه جهت بررسی قراردادهای همگروه

for(var i=0;i< OptionSE().length ;i++){

//قیمت رکورد فعلی

let price = ScalePrice(Option.TI);

//قیمت قرارداد با ایندکس حلقه

let comparePrice = ScalePrice(OptionSE()[i].TI);

//نماد با خودش مقایسه نشه و دارای قیمت باشه

//دستور continue:

//این دستور باعث میشود کد درون حلقه از بعد آن نادیده گرفته شود و حلقه در دور بعدی قرار گیرد

if (OptionSE()[i].Namad == Option.Namad || price <= 1 || comparePrice <= 1) continue;

// محاسبه اختلاف

let diff = Math.abs(CalcRateChange(price, comparePrice));

if (diff <=10)

result += '[' + ShowDetail(OptionSE()[i].Namad)+": " + diff + ' ]';}

result;
سرمایه درگیر در اسپرد کال صعودی

در اینجا ما یک قرارداد بالاتر رو برای مثال درنظر گرفتیم می تونیم 2 قرارداد یا با حلقه for همه قراردادهای بالاتر را محاسبه کرد

if(OptionSE(1) != undefined){

let debit = (Option.TI.Sell_1_Price - OptionSE(1).TI.Buy_1_Price) * Option.Size;

OptionSE(1).Required_Margin + debit; }

else ''

سر به سری در اسپرد کال صعودی
if(OptionSE(1) != undefined){

let debit = Option.TI.Sell_1_Price - OptionSE(1).TI.Buy_1_Price;

Option.Strike + debit; }

else ''

بیشترین سود در اسپرد کال صعودی
if(OptionSE(1) != undefined){

let debit = (Option.TI.Sell_1_Price - OptionSE(1).TI.Buy_1_Price) * Option.Size;

((OptionSE(1).Strike - Option.Strike) *Option.Size) - debit }

else ''

بیشترین ضرر در اسپرد کال صعودی
if(OptionSE(1) != undefined){

let debit = (Option.TI.Sell_1_Price - OptionSE(1).TI.Buy_1_Price) * Option.Size;

else ''

این تابع کلیه قراردادها که دارای نماد پایه یکسان می باشد را برمی گرداند (Option Same Underlying Asset)

از طریق این تابع می توانیم به کلیه قرارداها که نماد پایه یکسان دارند دسترسی پیدا کنیم . یکی از کاربردهای این تابع اجرای استراتژی ها با اختلاف زمانی می باشد. خروجی این تابع آرایه ای از جنس Option می باشد به ترتیب نزدیکترین سررسید و کمترین اعمال

ساختار تابع

OptionSU(namad, type);

پارامتر توضیح اختیاری پیش فرض
namad نماد پایه بله UA.Namad
type نوع قرارداد اختیار خرید یا فروش را مشخص می کند

'call': اختیار خرید

'put': اختیار فروش

'os': قرارداد مخالف

'all': اختیار خرید و فروش

بله قراردادهای مشابه
کلیه قراردادها با دارایی پایه یکسان و از جنس قراردادی فعلی

(بصورت آرایه از جنس Option برگردانده می شود)

OptionSU();
کلیه قراردادهای خودرو OptionSU('خودرو');
کلیه قراردادهای طرف مقابل OptionSU('', 'os');
تعداد کل قراردادها نماد پایه رکورد فعلی OptionSU().length;
تعداد کل قراردادها نماد اهرم OptionSU('اهرم').length;
نماد اولین قرارداد گروه OptionSU()[0].Namad;
آخرین قیمت اولین قرارداد گروه OptionSU()[0].TI.LastPrice;
قیمت اعمال آخرین قرارداد گروه

let len = OptionSU().length;

OptionS.()[len-1].Strike;
مثال
حلقه در کل گروه

توسط for و while میشه در کل زنجیره قرارداد حلقه زد و به تک تک قرارداد ها با ایندکس دسترسی پیدا کرد

let result = '';

index = 0;

while (OptionSU()[index] != undefined) {

//شرط در صورت نیاز

result += ShowDetail(OptionSU()[index].Namad )

index++;

}

result;

let result = '';

for(index = 0; index < OptionSU().length ; index++)

{ //if ..

result += ShowDetail(OptionSU()[index].Namad )

}

result;
این آبجکت (Option Other Side) از لحاظ ساختاری مشابه Option می باشد با این تفاوت که دارای اطلاعات قرارداد آپشن در طرف مقابل می باشد .

در صورتی که سطر مورد نظر (در فیلتر یا ستون) اختیار خرید باشد OptionOS دارای اطلاعات قرارداد اختیار فروش قرارداد با سررسید و قیمت اعمال یکسان می باشد و برعکس.

بصورت خلاصه از OptionOS برای دسترسی به اطلاعات در طرف مقابل استفاده می شود .

این آبجکت در برخی استراتژی ها که نیاز به دسترسی به قرارداد مقابل هست مثل استراگل و استرادل کاربرد دارد

این آبجکت برابر با OptionSE(0,'os') می باشد و برای سادگی بصورت مجزا تعریف شده . پیشنهاد ما استفاده از OptionSE هست

معرفی و توضیح تابع هایی که توسط سایت آپشن تعریف شده اند. از این تابع ها می توانید در کدهای خودتون بهره ببرید
نام تابع ساختار و توضیح
ShowDetail وقتی بر روی سطری در دیده بان بازار کلیک کنید جزئیات همان سطر نمایش داده می شود، گاهی نیاز هست تا بدون تغییر سطر و اتلاف وقت جزئیات قراردادهای دیگر را مشاهده کنید.

این تابع با گرفتن نام قرارداد لینکی ایجاد میکند که وقتی روی آن کلیک کنید اطلاعات همان قرارداد نمایش داده می شود

این تابع در اجرای استراتژی هایی که نیاز به مشاهده جزئیات قراردادهای دیگر دارید کاربرد زیادی دارد

ShowDetail(namad, title);

مثال:

ShowDetail('ضسپا1211');

مثال:

ShowDetail('ضسپا1211', 'saipa1211');

مثال:

ShowDetail('ضسپا1211', '#');

پارامتر کاربرد اختیاری
namad نماد قراردادی که جزئیات آن نمایش داده می شود خیر
title عنوانی که بجای نام نماد نمایش داده می شود.

اگر "#" مقدار دهی شود، عدد قرارداد نمایش داده می شود

بله
مثال : لینک قرارداد طرف مقابل

ShowDetail(OptionSE(0,'os').Namad);

ShowDetail(OptionSE(0,'os').Namad, 'مقابل');

CommaSeparator اعداد را با جداکننده در هر هزارگان نمایش می دهد

CommaSeparator(val)

CommaSeparator(1234567) --> 1,234,567
نمایش قیمت اعمال
CommaSeparator(Option.Strike)
showNo مبنای محاسبات واحد ریال می باشد این تابع بصورت اتوماتیک مقادیر عددی را به پیش فرض انتخابی شما تبدیل میکند(تومان یا ریال)

showNo(val, isPrice = false, comma = false, toFixed =1)

مثال:

showNo(1105.12,false, true ) 1,105.1

پارامتر کاربرد اختیاری
val عددی که می خواهید تغییرات روی آن اعمال شود خیر
isPrice مقدار ورودی (val) اگر قیمت است مقدار true جهت تبدیل به ریال و تومان بله
comma اضافه کردن کاما جهت خوانایی بیشتر عدد در هر سه عدد بله
toFixed تعداد گردن کردن اعشار

پیش فرض:1

بله
مثال : محاسبه درصد فاصله سربه سری اختیار خرید با آخرین قیمت پایه با 2 رقم اعشار

//محاسبه سربه سری

let n1 = UA.TI.LastPrice - (Option.TI.LastPrice + Option.Strike);

//درصد

let n2 = (n1 / UA.TI.LastPrice) * 100;

showNo(n2, 1, 1);

CalcRateChange اختلاف عدد دوم (n2)از عدد اول (n1) را به درصد محاسبه میکند

CalcRateChange(n1, n2, toFixed )

پارامتر کاربرد اختیاری
n1 عدد اول خیر
n2 عدد دوم خیر
toFixed تعداد اعشار

مقدار پیش فرض: 1

بله

CalcRateChange(100,105); 5

CalcRateChange(105,100); -4.8

CalcRateChange(105,100,2); -4.76

CalcRateChange(UA.HV, Option.IV);

//درصد اختلاف تلاطم ضمنی قرارداد عدد دوم از تلاطم تاریخی نماد پایه عدد اول

ScalePrice قیمت را بر اساس مبنای محاسبه و مقایسه که در دیده بان مشخص شده برمیگرداند : آخرین قیمت، قیمت پایانی، عرضه یا تقاضا

ScalePrice(TI ti)

پارامتر کاربرد اختیاری
TI Transaction Info اطلاعات معاملاتی خیر

//قیمت قرارداد بر اساس معیار محاسبه را بر می گرداند

ScalePrice(Option.TI);

ColorCondition رنگ فونت یا زمینه را با توجه به مقدار ورودی و تغییر می دهد

ColorCondition(val, min, minColor, max, maxColor , style = 'color')

پارامتر کاربرد اختیاری
val مقدار عددی خیر
min درصورتی که val کمتر از این عدد باشد به رنگ minColor در می آید خیر
minColor درصورتی که val کمتر از min باشد به این رنگ در می آید خیر
max درصورتی که val بزرگتر مساوی این عدد باشد به رنگ maxColor در می آید خیر
maxColor درصورتی که val بزرگتر از max باشد به این رنگ در می آید خیر
style 'color' : رنگ فونت - 'bg' : رنگ بک گراند بله

نام رنگها یا کد هگز آنها را می توانید از این صفحه مشاهده کنید

مثال: اگر دلتا کمتر از 0.5 باشد رنگ زمینه قرمز و اگر بیشتر از0.5 باشد رنگ زمینه سبز

ColorCondition(CalcBG().delta , .5, 'red', .5 , 'green', 'bg');

ColorRange رنگ و اندازه فونت را با توجه به مقدار ورودی در رنج مشخص شده تغییر می دهد

ColorRange(val, range)

پارامتر کاربرد اختیاری
val مقدار عددی خیر
range آبجکت یا آرایه از آبجکت range می باشد که در آن موارد زیر مشخص می شود خیر

آبجکت range

برای مشخص کردن رنج اعداد و رنگ ها یک یا آرایه از این آبجکت به عنوان پارامتر به تابع ارسال کنید
فیلد کاربرد اختیاری
min آستانه پایین خیر
max آستانه بالا خیر
color رنگ فونت بله
bg رنگ پس زمینه بله
size اندازه فونت: 1 الی 6 بله
bold فونت بولد بله

نام رنگها یا کد هگز آنها را می توانید از این صفحه مشاهده کنید

مثال: روزهای باقی مانده تا سررسید بین 10 الی 20 را با رنگ قرمز نمایش بده

let range = {min:10, max: 10, color:'red'};

ColorRange(Option.DaysUntilMaturity, range);

(در این مثال فقط یک رنج داریم پس فقط یک آبجکت از جنس range ارسال کردیم )

مثال: روزهای باقی مانده تا سررسید بین 0 الی 10 را با رنگ قرمز و اندازه 2

روزهای باقی مانده تا سررسید بین 10 الی 20 را با رنگ زرد و زمینه مشکی و بولد

روزهای باقی مانده تا سررسید بین 30 الی 50 را با زمینه طوسی

let ranges = new Array();

ranges.push({min:0, max: 10, color:'red', size:2});

ranges.push({min:10, max: 20, color:'yellow',bg:'black', bold:true});

ranges.push({min:30, max: 50, bg:'#A9A9A9'});

ColorRange(Option.DaysUntilMaturity, ranges);

در این مثال چون چند بازه مختلف داریم ابتدا یک آرایه به نام ranges تعریف می کنیم . سپس آبجکت هایی از جنس range را به آن اضافه کرده و در نهایت به عنوان پارامتر به تابع ارسال می کنیم .

rnwc عدد را بصورت ساده به همراه تولتیپ عدد بصورت حروف نمایش می دهد

rnwc(x)

پارامتر کاربرد اختیاری
x عددی که می خواهیم بصورت ساده نمایش داده شود خیر
CalcLeverage محاسبه اهرم قرارداد

CalcLeverage(BasePrice, Delta, Premium)

پارامتر کاربرد اختیاری
BasePrice قیمت نماد پایه

پیش فرض: آخرین قیمت

بله
Delta دلتا

پیش فرض: دلتای قرارداد

بله
Premium قیمت قرارداد

پیش فرض: ScalePrice(Option.TI)

بله
NamadNo

NamadNo(option namad);

شماره قرارداد رو به عنوان خروجی بر می گرداند

NamadNo("ضسپا1211") ;

خروجی: 1211

NamadNo(Option.Namad) ;

پارامتر اختیاری
نام قرارداد خیر
pos.Add
pos.Build

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

تابع pos.Add: مقادیر پوزیشن را به عنوان پارامتر وردی به استراتژی اضافه می کنه . (به تعداد موقعیت هایی که داریم این تابع رو فراخوانی می کنیم)

تابع pos.Build: دکمه رسم نمودار را در خروجی کد که در ستون نمایش داده میشه را بر م می گرداند . با کلیک بر روی آن نمودار نمایش داده میشه

pos.Add(buy||sell, namad, count, price, cashBlock)

پارامتر کاربرد مقادیر اختیاری
buy||sell موقعیت خرید/فروش "buy": موقعیت خرید
"sell": موقعیت فروش
خیر
namad نام نماد Option.Namad
UA.Namad
Option.Namad
"ضهرم۱۲۱۹"
خیر
count تعداد پیش فرض: 1 بله
price قیمت پیش فرض: قیمت مبنای محاسبه در دیده بان
مقادیر: عدد به عنوان مبلغ
'buy' : تقاضا
'sell' : عرضه
'last' : آخرین
'end' : پایانی
بله
cashBlock وجه تضمین در فروش بلوکه شود پیش فرض: بله
مقادیر : true, false
بله

pos.Build(name);

name : نام قرارداد بصورت اختیاری

مثال رسم نمودار کاوردکال:


pos.Add('buy', UA.Namad);
pos.Add('sell', Option.Namad, 1, 'buy');
pos.Build('کاور بلوکه ' + Option.Namad);

مثال های بیشتر را جهت رسم نمودار در این صفحه مشاهده کنید
TotalDays

نمایش تعداد روز میان شروع(مقدار ورودی یا تاریخ روز) و پایان

خروجی : عدد

TotalDays(endDate, startDate );

اگر تاریخ روز را 1402/1/1 در نظر بگیریم برای همه مثال ها

TotalDays("1402/1/11") ; //خروجی: 10

TotalDays(14020111, 1) ; //خروجی: 9

TotalDays("1402/1/11", -1) ;//خروجی: 11

TotalDays(14031025, 14031010) ;//خروجی: 15

پارامتر توضیح اختیاری
endDate تاریخ پایان

تاریخ شمسی کامل بصورت رشته ای: "1402/1/1"

تاریخ شمسی بصورت عددی کامل 8 عددی: 14020101

خیر
startDate تاریخ شروع

بدون مقدار: تاریخ روز

عدد (خارج از فرمت تاریخ) : تعداد روز اضافه یا کم می شود از تاریخ روز

تاریخ شمسی: مبنای محاسبه شروع در نظر گرفته می شود

بله
MP

محاسبه بازده ماهیانه - Monthly Profit

MP(profit, days);

در این تابع تعداد روزهای ماه 30 روز درنظر گرفته شده

درصورتی که تعداد روزها از 30 کمتر باشد، سود بدون تغییر برمی گردد

پارامتر توضیح اختیاری
profit سود خیر
days روز خیر

مثال: MP(20, Option.DaysUntilMaturity);

در این مثال بازده ماهیانه با توجه به روزهای باقی مانده تا سررسید قرارداد محاسبه می شود

YTM

محاسبه بازده موثر تا سررسید به صورت سالیانه

YTM(r,t);

پارامتر توضیح اختیاری
r بازده خیر
t دوره به روز خیر
Style

رنگ، بک گراند، اندازه فونت و فاصله به ورودی می دهد

Style(value, color, bg, title, bold, leftMargin, rightMargin);

پارامتر توضیح اختیاری
value عدد یا رشته ای که می خوایم استایل بگیرد خیر
color رنگ

red,blue,green,yellow...(css color)

خیر
bg رنگ زمینه

red,blue,green,yellow...(css color)

بله
title tooltip

وقتی ماوس را روی value نگه میداریم نمایش داده میشه

بله
bold فونت بولد

true || false

بله
leftMargin فاصله چپ

مقادیر 1 الی 5

بله
rightMargin فاصله راست

مقادیر 1 الی 5

بله
مثال

Style("Test","red", "black","اطلاعات بیشتر از تست");

Style(Option.Namad,"blue");

Style("نماد","red", "",true,"",4)+Style(Option.Namad,"blue", "",true,2,2) + Style(UA.Namad,"Green", "yellow");

copyToCB

کپی شدن مقدار در کلیپ بورد (Copy/Pase)

ورودی بدون تغییر در خروجی نمایش داده می شود به علاوه اینکه وقتی بر روی آن کلیک شود مقدار آن در حافظه Clip Board ذخیره می گردد

copyToCB(val);

مثال

copyToCB("با کلیک این متن در حافظه کپی می شود");

copyToCB(Option.Namad);

copyToCB(UA.Namad);

تعریف تابع با دسترسی عمومی(global scope)

تعریف تابع: مجموعه ای از کدها در کنار هم، که محاسبه یا یک کار خاصی رو انجام میدن و در نهایت یک مقدار به عنوان خروجی بر می گردانند. خب حالا به چه درد میخوره؟ از مهمترین مزایای تابع نویسی میتونیم به بالارفتن سرعت و خوانایی برنامه ، جلوگیری از اجرای کدهای تکراری و در نهایت داشتن کدنویسی تمیز اشاره کرد.

محدوده دسترسی: تابع ها و متغییر ها دارای محدوده یا scope هستند . محدوده یک متغییر یا تابع به شما می گوید که در کجای کد می توانید از آن استفاده کنید . محدوده تمامی متغییرها و تابع هایی که در قسمت فرمول نویسی ستون و فیلتر بکار می برید فقط در بدنه همان قسمت قابل اجرا و دسترسی هستند .یا بدین معنی که اگر متغییر یا تابعی در یک فرمول تعریف کنید فقط در همان قسمت قابل دسترسی هست .

درصورتی که نیاز به تابعی داشتید که بتوانید همه جا آن را فراخوانی کنید(فرمول نویسی در ساخت ستون و فیلتر) آن تابع را در قسمت تابع های عمومی تعریف کنید. تابع (function) می تواند یک مقدار ثابت، یک عبارت محاسباتی، یک آبجکت یا ویژگی از آبجکت های نماد پایه یا قرارداد را برگرداند .

ایجاد و دسترسی به تابع عمومی: دیده بان /ساخت ستون/ تب تابع عمومی

ساختار و شکل تابع

function Name ( Parameter1 , Parameter2 , Parameter3 , ... ) {

// کدها و عملیاتی که می خواید روی پارامتر ها و فیلد ها اجرا بشن

return نتیجه;

}

مثال

function myFunction(a, b) {

return a * b; // خروجی ضرب عدد پارامتر اول در پارامتر دوم

}

//نحوه فراخوانی

myFunction(4, 3); // 12

مثال محاسبه سر به سری

function example1() {

return Option.TI.LastPrice + Option.Strike;

}

//نحوه فراخوانی

example1();


مثال ستون و فیلتر

می خوایم قراردایهایی که قیمت عرضه آنها اختلاف کمتر از 10% با قیمت منصفانه (بلک شولز) دارند

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

//یک تابع عمومی تعریف میکنیم که مقدار اختلاف بلک شولز با قیمت عرضه رو به درصد برگردونه

function bsDiff (){ return CalcRateChange( Option.BlackSholesHV,Option.TI.Sell_1_Price, 1); }

//ستونی ایجاد میکنیم که این اختلاف رو نشون بده

bsDiff();

//فیلتری ایجاد میکنیم که اگر اختلاف کمتر از 10 بود شرط صحیح برگردونه

(bsDiff() >= -10 && bsDiff() <=10)

//تابع رو یکبار تعریف ، ولی 2 یا چند جای مختلف می تونیم از اون استفاده کنیم


مثال ستون و فیلتر

//محاسبه ارزش ذاتی قرارداد و استفاده از آن در ستون و فیلتر

//یک تابع عمومی تعریف میکنیم که ارزش ذاتی رو برگردونه

function intrinsictValue (){

let result = 0;

if (Option.Type == 'call') result = UA.TI.LastPrice - Option.Strike;

else result = Option.Strike - UA.TI.LastPrice;

if (result >0) return result;

else return 0;

}


فرمول ستونی که ارزش ذاتی رو نمایش بده

intrinsictValue();

فرمول فیلتری که فقط قراردادهایی با ارزش ذاتی بیشتر از صفر رو نمایش بده

intrinsictValue() > 0

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

var num = 1.123456789;

num.toFixed(3); // ==> 1.123

num.toFixed(1); // ==> 1.1

()Math.pow Math.pow(x, y) مقدار x به توان y را بر می گرداند

Math.pow(8, 2); // returns 64

()Math.round این متد مقدار پارامترش را به نزدیکترین عدد گرد می کند

Math.round(4.7); // returns 5

Math.round(4.3); // returns 4

()Math.abs این متد قدر مطلق پارامترش را بر می گرداند

Math.abs(-4.7); // returns 4.7

()Math.ceil این متد مقدار پارامترش را به نزدیکترین عدد بالای خودش گرد می کند

Math.ceil(4.4); // returns 5

()Math.floor این متد مقدار پارامترش را به نزدیکترین عدد پایین خودش گرد می کند

Math.floor(4.7); // returns 4

دستورات شرطی

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

دستور if
در جاوا اسکریپت سه حالت برای دستور if وجود دارد:
  1. دستور if

    if (شرط){

    // if بدنه دستور

    }

    در اینجا شرط ارزیابی می شود. اگر نتیجه ارزیابی true باشد ، عبارت (های) داده شده اجرا می شوند. اگر شرط false باشد ، هیچ عبارتی اجرا نمی گردد. اکثر اوقات به عملگرهای مقایسه ای برای انجام تصمیم گیری نیاز خواهیم داشت.

  2. دستور if…else

    if (شرط) {

    // بلوک کد در صورت درست بودن شرط

    } else {

    // بلوک کد در صورت نادرست بودن شرط

    }

    در اینجا شرط ارزیابی می شود. اگر نتیجه ارزیابی true باشد عبارت (های) داده شده در بلوک ‘if’ اجرا می شوند. اگر بیانیه شرط false باشد عبارت (های) داده شده در بلوک ‘else’ اجرا می شوند.

  3. دستور if…else if…else

    if (شرط۱){

    // بلوک کد۱

    } else if (شرط۲){

    // بلوک کد۲

    } else {

    // بلوک کد۳

    }

    عبارت if…else…if یک فرمت پیشرفته تر از ساختار if…else می باشد ، که اجازه می دهد جاوا اسکریپت تصمیم صحیح را از بین چندین شرط اتخاذ نماید.

شرط یک خطی (عملگر Ternary)
condition ? exprIfTrue : exprIfFalse

(1+1==2)? "Pass": "Fail"

چون شرط صحیح هست عبارت Pass در خروجی این شرط می آید

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

عبارت switch ابتدا یک بار ارزیابی می گردد. سپس مقدار عبارت با مقادیر هر یک از case ها به طور جداگانه مقایسه می گردد. چنانچه مقدار عبارت با یکی از case ها مطابقت و همخوانی داشت، قطعه کد مربوطه اجرا می گردد.

switch (expression)
{
   case condition 1: statement(s)
   break;
   
   case condition 2: statement(s)
   break;
   ...
   
   case condition n: statement(s)
   break;
   
   default: statement(s)
}

در صورتی که هیچ کدام از گزینه ها با مقدار expression مطابقت نداشته باشند ، عبارت مقابل default جهت اجرا استفاده خواهد شد

کار با رشته ها

نمایش مقدار های محاسباتی یا متغییر در یک رشته با فرمت دلخواه

در این روش به جای استفاده از Single Quotes یا Double Quotes برای تعریف رشته‌ها از کاراکتر ` (Backtick) استفاده می‌شود

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

let name = 'Hamid' , age = 20;
`My name is ${name} and age: ${age}`;

خروجی: My name is Hamid and age: 20;

یک عملگر نماد خاصی است که برای اجرای عملیات روی مقادیر و متغیرها استفاده می شود

از عملگرهای مقایسه‌ای برای مقایسه مقادیر استفاده می‌شود. نتیجه این مقادیر یک مقدار بولی (صحیح/غلط ) است. این عملگرها اگر نتیجه مقایسه دو مقدار درست باشد مقدار true و اگر نتیجه مقایسه اشتباه باشد مقدار false را نشان می‌دهند. این عملگرها به طور معمول در دستورات شرطی به کار می‌روند به این ترتیب که باعث ادامه یا توقف دستور شرطی می‌شوند.

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

عملگر توضیح مثال
== مساوی

با استفاده از این عملگر می‌توان مقدار دو داده را با هم مقایسه کرد. در صورتی که دو داده، دارای مقدار یکسانی باشند مقدار true، و در غیر این صورت مقدار false توسط این عملگر بازگردانده می‌شود. نمونه‌هایی از کاربرد این عملگر را در قطعه کد زیر مشاهده می‌کنید.

نام قرارداد ضخود 2018

Option.Namad == 'ضخود2018'

توجه : برای چک کردن شرط برابری از دو مساوی == استفاده می شود

!= مخالف

عملگرهای عدم تساوی: اگر مقدار دو عملوند با هم برابر باشند مقدار false و در غیر این صورت مقدار true را برمی‌گردانند

نام نماد پایه خودرو نباشد

UA.Namad != 'خودرو'

> بزرگتر

اهرم قرارداد بالای 3 باشد

CalcLeverage() > 3

< کوچکتر

دلتای قرارداد کمتر از 0.3 باشد

CalcBG().delta < .3

>= بزرگتر مساوی

تعداد قرارداد باز بزرگتر مساوی 100

Option.OpenInterest >= 100

<= کوچکتر مساوی

کمتر از 7 روز تا سررسید قرارداد

Option.DaysUntilMaturity <= 7

عملگرهای منطقی

عملگرهای منطقی یا به انگلیسی Logical Operators به اون دسته از عملگرهای زبان جاوااسکریپت گفته میشه که با استفاده از اونا میشه یک یا چندین عملگر رو با همدیگه

ترکیب کرد.
عملگر توضیح مثال
! نقیض

در جاوا اسکریپت، عملگر منطقی NOT با علامت تعجب ( ! ) نشان داده می‌شود. این عملگر منطقی هنگامی که با مقدار بولی استفاده شود، اگر مقدار False باشد، عملگر true را بازمی‌گرداند و بالعکس

دلتای قرارداد بیشتر از 0.3 باشد

!(CalcBG().delta < .3)

&& و

نتیجه عملگر && زمانی true هست که تمامی مقادیر و عبارت ها مقدار true داشته باشند. در غیر این صورت، به نادرست ارزیابی می‌شود

نام نماد پایه خساپا و اعمال کمتر از 2000 ریال

UA.Namad == 'خساپا' && Option.Strike < 2000

|| یا

عملگر || تنها زمانی که هر دو مقدار نادرست باشند، false را بازمی‌گرداند. اگر هر یک از مقادیر درست باشند، عملگر OR مقدار true را به عنوان خروجی به کاربر می‌دهد

نام نماد پایه خساپا یا خودرو

UA.Namad == 'خساپا' || UA.Namad == 'خودرو'

تابع محاسبه قیمت تئوری مدل بلک شولز (Black Scholes) و پارمترهای یونانی (Greeks)

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

شکل کلی تابع

let bg = CalcBG(param);

bg.bs; //بلک شولز

bg.delta; //دلتا

bg.gamma; //گاما

bg.vega; //وگا

bg.theta; // تتا

bg.rho; //رو

bg.iv; //نوسان ضمنی

نوع پارامتر کاربرد و توضیح
رشته

"نام نماد"

در صورتی که نام نماد یک قرارداد به عنوان پارامتر به تابع ارسال شود، برای محاسبه از اطلاعات قرارداد استفاده می شود

مثال ساده:

let bg = CalcBG('ضخود9015');
let delta = bg.delta; //دلتا ;
let bs = bg.bs; //بلک شولز

مثال داینامیک:

let bg = CalcBG(OptionSU()[index].Namad);
let delta = bg.delta; //دلتا ;
let bs = bg.bs; //بلک شولز

آبجکت

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

var param = {p1:val, p2:val, ..};

در جدول زیر مقادیر آبجکت توضیح داده شده است

بدون مقدار یا "" بصورت پیش فرض قرارداد فعلی مقدار دهی می شود به عنوان ورودی
توضیح مقداردهی پارمترهای بلک شولز بصورت دلخواه

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

var param = {p1:val, p2:val, ..};

var bg = CalcBG(param);

پارامتر توضیح پیش فرض مقدار دهی و مثال
Type نوع قرارداد

قرارداد فعلی

var param = {Type:'call'};

var param = {Type:'put'};

UA_Price قیمت نماد پایه

آخرین قیمت نماد پایه

var param = {UA_Price:100};

Days روزهای باقی مانده

قرارداد فعلی

var param = {Days:10};

RiskFree نرخ بهره

25

var param = {RiskFree:30, UA_Price = 2000};

Strike قیمت اعمال

قرارداد فعلی

var param = {Strike:450};

Volatility نوسان پذیری

تلاطم تاریخی نماد پایه

var param = {Volatility:50};

Premium پریمیوم جهت محاسبه IV

0

var param = {Premium:50};

مثال

مقدار بلک شولز در صورتی که نماد پایه در بالاترین مقدار خود معامله شود

var param = {UA_Price: UA.TI.daily_price_high};

CalcBG(param).bs;

نوسان ضمنی و دلتا بر اساس قیمت عرضه و نرخ بهره 30

var param = {RiskFree:30, Premium:Option.TI.Sell_1_Price};

CalcBG(param).delta;

CalcBG(param).iv;

فیلتر قراداد هایی که iv ضمنی بالای 50 (با قیمت خرید) و دلتاشون هم بین 50 تا 60

var param = {Premium:Option.TI.Buy_1_Price};

//در صورتی که بخوایم قیمت پریمیوم رو بر مبنای محاسبه انتخابی ما مقدار دهی کنه

//var param = {Premium:ScalePrice(Option.TI)};

var bg = CalcBG(param);

(bg.delta >=.4 && bg.delta <=.6) && (bg.iv >=.5)

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

  • علی شیر وحدت چهار شنبه، ۱ فروردین ۱۴۰۳ - ۲۱:۱

    سلام من فرمول و جدول میخاهم که درصد1 و2 و 3 و4 و5 و10 و 15 و 20 و25 و 50 و100 و 150 و200 و250 روزه را بتواند نشان دهد


    شهرزاد پنج شنبه، ۲ فروردین ۱۴۰۳ - ۱:۴۸

    این مقاله مطالعه کنید


  • حمید جمعه، ۲۲ دی ۱۴۰۲ - ۹:۵۱

    سلام لطفا کد دلتا بین 0.2 - 0.5 و تعداد روز تا سررسید 60 روز

  • علی شنبه، ۱۶ دی ۱۴۰۲ - ۱:۲۳

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


    شهرزاد شنبه، ۱۶ دی ۱۴۰۲ - ۸:۴

    0.8*UA.TI.LastPrice>OptionSE(index).Strike


  • صابر دو شنبه، ۱۱ دی ۱۴۰۲ - ۰:۲۵

    سلام فیلتری قراردادهای نشان بده که اوردر خریدار بالای 100% گرانتر از بلک شولز باشه و قیمت اعمال حداقل 5% بیشتر از قیمت سهم باشه پارامتر های درصد 100 و 5 قابل تغییر باشه


    شهرزاد دو شنبه، ۱۱ دی ۱۴۰۲ - ۱۳:۲۵

    var bsDiff = CalcRateChange( Option.BlackSholesHV,Option.TI.Buy_1_Price, 1);

    (bsDiff >=100)

    &&

    Option.Strike>1.05 *UA.TI.LastPrice



    صابر دو شنبه، ۱۱ دی ۱۴۰۲ - ۱۴:۳۰

    باتشکر شرط زیر هم قابل اضافه شدن بهش هست که اوردر خریدار بزرگتر از 50? وجه تضمین باشه،??


    شهرزاد دو شنبه، ۱۱ دی ۱۴۰۲ - ۱۶:۳۷

    Option.TI.Buy_1_Price*Option.Size/Option.Required_Margin>0.5





    صابر دو شنبه، ۱۱ دی ۱۴۰۲ - ۲۲:۴۸

    سپاس فراوان

  • مجید يك شنبه، ۲۱ آبان ۱۴۰۲ - ۲۳:۳۶

    سلام برای مشاهده موقعیت های باز قراردادهای آپشن چه فرمولی هست؟


    شهرزاد دو شنبه، ۲۲ آبان ۱۴۰۲ - ۷:۴۵

    ستون تعریف شده داره

    راهنما ببینید هم راهنمای کامل و هم ضمن نوشتن ستون و فیلتر ابزارهای راهنما کنار دست شماست


  • مجید پنج شنبه، ۶ مهر ۱۴۰۲ - ۱۴:۵۳

    سلام من قرارداهای اختیار خریدی رو میخوام که حداقل 30 روز تا تاریخ اعمالشون مونده و حجم معاملات بالای 100M دارند و قیمت پایانی زیر 150 ریال دارند


    شهرزاد پنج شنبه، ۶ مهر ۱۴۰۲ - ۱۶:۵۱

    Option.Type=="call"

    &&

    Option.DaysUntilMaturity>30

    &&

    Option.TI.Volume>100000

    &&

    Option.TI.EndPrice<150



    مجید جمعه، ۷ مهر ۱۴۰۲ - ۱:۱۹

    ممنونم

  • محمد شنبه، ۲۵ شهریور ۱۴۰۲ - ۱۱:۳۸

    سلام خسته نباشید.من واچ لیستی ازسهمهام درست کردم وهمچنین ستونهای محاسباتی.اشتراک حرفه ای دارم .ولئ تعدادی ازستونهای تعریفی ام فاقداطلاعات محاسباتی وسفید هستند محدودیتی درتعدادستون برای واچ لیست هست یامشکل دیگری وجوددارد؟


    شهرزاد شنبه، ۲۵ شهریور ۱۴۰۲ - ۱۲:۳۶

    لطفا اسکرین بفرستید با شرح مشکل به آیدی تلگرام پشتیبانی

    @Optionbaaz_Support


  • حسینی دو شنبه، ۲۰ شهریور ۱۴۰۲ - ۱۵:۹

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


    شهرزاد دو شنبه، ۲۰ شهریور ۱۴۰۲ - ۱۶:۲۵

    این مثال بررسی کنید

    if (Option.Strike < UA.TI.LastPrice)

    D = Style(Option.Strike,("green"));

    else D = Style(Option.Strike,("red"));


  • محمد دو شنبه، ۲۳ مرداد ۱۴۰۲ - ۱۴:۵۸

    باسلام برای خریدهای نسبتاسنگین دربازاراختیار..مبلغ بالاترازمثلا5میلیون...نیازبه تعریف فیلتر یاستونی دارم که ارزش سفارش سطر1 سمت عرضه را sortکند.لذامحاسبه حاصل ضرب قیمت عرضه درحجم سطر1 فروش موردنیازاست بنظرم جای حجم سطر1 عرضه وخرید درامانات فرمول نویسی سایت خالی است.اگرروشی داردلطفاراهنمایی بفرمایید.متشکرم


    شهرزاد دو شنبه، ۲۳ مرداد ۱۴۰۲ - ۱۶:۴۲

    ستون حجم بسازید

    Option.TI.Buy_1_Volume;


  • علی شنبه، ۱۴ مرداد ۱۴۰۲ - ۹:۵۲

    فیلتر قراردادهایی که نماد پایه آنها صف خرید هست


    پشتیبانی شنبه، ۱۴ مرداد ۱۴۰۲ - ۱۰:۱۴

    فیلتر زیر را ایجاد کنید

    UA.TI.Sell_1_Price > UA.TI.daily_price_high


  • علی شنبه، ۷ مرداد ۱۴۰۲ - ۱۳:۱۹

    با سلام و وقت بخیر یک سوال داشتم در خصوص کاوردکال یک فیلتر میخواستم :فیلتر بر اساس این موضوع نوشته بشه که میانگین قیمت 4 اردر سرخط تقاضا برای محاسبه قیمت پریمیوم استفاده بشه مثلا برای کاوردکال شستا بیاد فیلتربهترین قیمت های خرید برای اختیار ببینه و میانگین بگیره بعد بازدهی کاوردکال براش محاسبه کنه


    شهرزاد شنبه، ۷ مرداد ۱۴۰۲ - ۱۴:۴۶

    می‌تونید در دستور زیر استفاده کنید و تغییر ایجاد کنید

    در نظر بگیرید گاهی شکاف قیمت باعث میشه برخی از سطرها خریدار نباشند 

     

    if (Option.TI.Ask_4>5)

    AVask = ((Option.TI.Ask_4 +Option.TI.Ask_3+Option.TI.Ask_2+Option.TI.Buy_1_Price)/4).toFixed(0);

    else AVask = Option.TI.Buy_1_Price;


  • محمد يك شنبه، ۱۸ تیر ۱۴۰۲ - ۱۹:۲۰

    باسلام وخسته نباشین برای نمایش تعداد قرارداد باز ستون ایجاد کرده ام باعنوان OpenInterest(داخل فرمول) ولی نتایج رونمیاره ؟!


    پشتیبانی.1 دو شنبه، ۱۹ تیر ۱۴۰۲ - ۰:۲۳

    تعداد موقعیت باز به صورت پیش فرض در دیده بان قرار داده شده و کافیست از قسمت تنظیم نمایش جدول تیک ان را فعال کنید


  • محمد جمعه، ۱۶ تیر ۱۴۰۲ - ۲۱:۳۵

    باسلام کمترین قیمت معامله شده پرمیوم (درهرروزمعاملاتی ) باچه عبارتی قابل شناسایی است ؟


    شهرزاد شنبه، ۱۷ تیر ۱۴۰۲ - ۱:۵۵

    Option.TI.Min




  • محسن سه شنبه، ۶ تیر ۱۴۰۲ - ۱۰:۴۵

    سلام وقت بخیر میخام کاورد کال به این شکل اصلاح کنم: به جای اینکه قیمت قرارداد رو از سر خط اولین تقاضا بخونه ، به این شکل باشه که:بره تو سر خط تقاضاها و بچرخه و قیمت رو از تقاضایی بخونه که حداقل درخواست مربوط به اون تقاضا حداقل 100 قرارداد باشه


    پشتیبانی سه شنبه، ۶ تیر ۱۴۰۲ - ۱۵:۰

    در فرمول بجای Option.TI.Buy_1_Price می تونید از کد زیر استفاده کنید

    let ask = 0;

    if(Option.TI.Buy_1_Volume >100)

     ask = Option.TI.Buy_1_Volume;

    else if(Option.TI.AskV_2 >100)

     ask = Option.TI.AskV_2;

    else if(Option.TI.AskV_3 >100)

     ask = Option.TI.AskV_3;

    else if(Option.TI.AskV_4 >100)

     ask = Option.TI.AskV_4;

    else if(Option.TI.AskV_5 >100)

     ask = Option.TI.AskV_5;

    ask;

    مقدار خواسته شده در متغییر ask قرار میگیرد


  • مونا يك شنبه، ۴ تیر ۱۴۰۲ - ۹:۴۳

    با سلام و احترام.بنده این کد فیلتر ها رو در سایت tsetmc وارد می کنم ارور می ده.


    پشتیبانی.1 يك شنبه، ۴ تیر ۱۴۰۲ - ۱۰:۲۳

    سلام. کدها مختص سایت آپشن باز هستند


  • علی دو شنبه، ۲۲ خرداد ۱۴۰۲ - ۱۵:۱۵

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


    پشتیبانی جمعه، ۲۶ خرداد ۱۴۰۲ - ۱۷:۳۴

    سلام وقت بخیر
    اگر نیاز دارید مقدار متغییر را برای مدتی نگه دارید (نه در طول اجرای کد)  می تونید از cookie یا localstorage اسفاده کنید


  • omid سه شنبه، ۹ خرداد ۱۴۰۲ - ۱۷:۳

    سلام فیلتر کاورد کال میخواستم ممنون


    شهرزاد سه شنبه، ۹ خرداد ۱۴۰۲ - ۱۷:۲۵

    در ستونهای آماده بصورت عمومی در دسترس هستش.

    می‌تونید مجدد فرمول کپی و به عنوان فیلتر با ایجاد محدودیت استفاده بفرمایید. مثلا mp بیشتر از 5 


  • حمید دو شنبه، ۸ خرداد ۱۴۰۲ - ۱۷:۲۲

    سلام خانم دکتر این کد درستش چیه؟ UA.TI.LastPrice>1.4*Option.Strike


    شهرزاد دو شنبه، ۸ خرداد ۱۴۰۲ - ۱۹:۵۴

    این کد بخشی از یک شرط یا فیلتر هستش که قراردادهای کال دیپ ITM  و قراردادهای پوت دیپ OTM خروجی میده

    اینجور سوالات در گروه و تاپیک فرمول‌نویسی مطرح کنید بهتره

    https://t.me/OptionBaazan

    https://t.me/OptionBaazan/100631


  • حمید شنبه، ۶ خرداد ۱۴۰۲ - ۱۶:۳۷

    سلام آیا ارزش معاملات قراردادهای با اعمال بالاتر و پایین تر زنجیره بزرگتر از صفر به صورت زیر صحیح است. با وجود این شرط ارزش معاملات صفر را نیز میآورد. OptionSE().TI.TValue>0 کد شرط: if (OptionSE()[i].Namad == Option.Namad || price <= 1 || comparePrice <= 1 && Option.TI.TValue > 0 && OptionSE().TI.TValue>0 )


    شهرزاد شنبه، ۶ خرداد ۱۴۰۲ - ۱۸:۹

    فرمول ارزش معاملات درسته


  • پارسا جمعه، ۵ خرداد ۱۴۰۲ - ۱۵:۴۲

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


    پشتیبانی شنبه، ۶ خرداد ۱۴۰۲ - ۹:۱۵

    عملکرد واچ لیست و فیلتر ها با هم متفاوت هستن . در واچ لیست شما نماد ها رو مشخص می کنید و با همون ترتیب  که مشخص می کنید نمایش داده میشن اما در فیلتر ها نماد ها خروجی کد های شما هستند  و می تونن در هر لحظه تغییر کنند . 
    عملکردی که شما می خواید در واچ لیست داشته باشید یعنی ترتیب نمایش ستون ها در فیلتر ها هم وجود داره  و نیازی به ساخت واچ لیست برای این کار نیست


  • پارسا جمعه، ۵ خرداد ۱۴۰۲ - ۱۴:۵۶

    سلام. در کد زیر همزمان گرد کردن تا 2 رقم و قرمز و سبز شدن منفی و مثبت رو نمیتونم داشته باشم. تابع هرکدوم رو اول میارم بعدی کار نمیکنه. یعنی اگه رنگی نشون بده دیگه گرد نمیکنه و اگه گرد کنه دیگه رنگی نشون نمیده ممنون میشم کمک کنید var DarsadSood; DarsadSood=(((Option.Strike-(UA.TI.LastPrice-Option.TI.Buy_1_Price))/(UA.TI.LastPrice-Option.TI.Buy_1_Price))*100).toFixed(1) + "%" ColorCondition(DarsadSood , 0, "red", 0 , "green", "color");


    شهرزاد جمعه، ۵ خرداد ۱۴۰۲ - ۱۶:۳۰

    var DarsadSood;

    DarsadSood=(((Option.Strike-(UA.TI.LastPrice-Option.TI.Buy_1_Price))/(UA.TI.LastPrice-Option.TI.Buy_1_Price))*100).toFixed(1);


    result = ColorCondition(DarsadSood , 0, "red", 0 , "green", "color") +"%"; 


  • محسن پنج شنبه، ۴ خرداد ۱۴۰۲ - ۱۱:۴

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


    شهرزاد پنج شنبه، ۴ خرداد ۱۴۰۲ - ۱۴:۵۱

    //آخرین قیمت معامله

    Option.TI.LastPrice

    سرخط فروش

    Option.TI.Sell_1_Price

    //سرخط خرید

    Option.TI.Buy_1_Price

    قیمت پایانی

    Option.TI.EndPrice

    // حجم سرخط خرید بیشتر از 100

    Option.TI.AskV_1>100

    //حجم سرخط فروش بیشتر از 100

    Option.TI.Sell_1_Volume>100


  • پارسایی سه شنبه، ۲ خرداد ۱۴۰۲ - ۱۲:۵۹

    سلام. فرق بین var و let چیه؟ چه مواقعی از let و چه مواقعی از var استفاده میکنیم؟


    شهرزاد سه شنبه، ۲ خرداد ۱۴۰۲ - ۱۴:۱۷

    let به متغیر‌های یک بلوکی از کد، مثل حلقه for، محدود میشه و خارج از محدوده بلوک تعریف نشده.

    var بدون محدودیت، همه جای کد در دسترس هستش



    پارسایی سه شنبه، ۲ خرداد ۱۴۰۲ - ۲۲:۲

    پس میتونیم همیشه (حتی به جای let) از var استفاده کنیم؟


    شهرزاد سه شنبه، ۲ خرداد ۱۴۰۲ - ۲۲:۵۳

    بهتره از یه سایت تخصصی جاوا اسکریپت جزییات مطالعه بفرمایید.

    نظرات و پیشنهادات به آیدی پشتیبان تلگرام ارسال بفرمایید

    @Optionbaaz_Support


  • وحید صفا دو شنبه، ۱ خرداد ۱۴۰۲ - ۱۵:۱۶

    سلام میخواستم در ستون سود اسپرد ،قرارداد دوم مورد محاسبه OTM نباشه و فقط سود قراردادهای تا ATM محاسبه بشه یا پرمیوم دریافتی از فروش حداقل 20% از پرمیوم پرداختی را پوشش بده اگر ممکنه سطوری که باید به فرمول اضافه بشه راهنمایی کنید.


    شهرزاد دو شنبه، ۱ خرداد ۱۴۰۲ - ۱۶:۳۹

    شرط‌هایی که باید اضافه کنید

    0.2*Option.TI.Sell_1_Price<OptionSE(index).TI.Buy_1_Price >0 && OptionSE(index).State !="OTM"




  • مهرداد پنج شنبه، ۲۸ اردیبهشت ۱۴۰۲ - ۲۱:۴۲

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


    پشتیبانی. پنج شنبه، ۲۸ اردیبهشت ۱۴۰۲ - ۲۲:۱۲

    در بخش مثال های کاربردی اموزش داده شده

    مشاهده مقاله


  • حمید سه شنبه، ۲۶ اردیبهشت ۱۴۰۲ - ۱۵:۳

    let capital= ScalePrice(Option.TI) + UA.TI.LastPrice; let eps = (Option.Strike - capital )*100 / capital; let month = Option.DaysUntilMaturity / 30; if (Option.Type == "put" && ScalePrice(Option.TI)>1 && Option.DaysUntilMaturity > 30) //incomePerMonth (eps/month).toFixed(1); else ""; فیلتر بالا چه اشکالی داره ، چون را برای طتوس709 برابر 11.2 نشان میده در صورتی که مقدار مطابق محاسبه خودم 1.08 درصد هستش


    حمید سه شنبه، ۲۶ اردیبهشت ۱۴۰۲ - ۱۹:۵۲

    اشکال رو متوجه شدم ممنون

  • حمید سه شنبه، ۲۶ اردیبهشت ۱۴۰۲ - ۱۱:۳۸

    سلام مفهوم دو عبارت زیر چیست؟ let index = 0; OptionSE()[index


    شهرزاد سه شنبه، ۲۶ اردیبهشت ۱۴۰۲ - ۱۲:۴۷

    حلقه در کل زنجیره

    توسط for و while میشه در کل زنجیره قرارداد حلقه زد و به تک تک قرارداد ها با ایندکس دسترسی پیدا کرد

    لطفا راهنما و مثالها را مطالعه بفرمایید پاسخ عین عبارت مثال است


  • امیر دو شنبه، ۲۵ اردیبهشت ۱۴۰۲ - ۲۰:۴۴

    سلام فیلتر اسپر خرسی میخوام که اعمال بالا OTM و اعمال پایین که میفروشیم ATM باشه سود اجرا استراژی نشون بده


    شهرزاد دو شنبه، ۲۵ اردیبهشت ۱۴۰۲ - ۲۱:۵۷

    به محض آماده شدن مقاله منتشر خواهد شد.

  • پرهام يك شنبه، ۲۴ اردیبهشت ۱۴۰۲ - ۸:۱۹

    سلام ، وقت بخیر فیلتر درصد شکاف رو میخواستم سپاس


    شهرزاد يك شنبه، ۲۴ اردیبهشت ۱۴۰۲ - ۸:۴۵

    Gap= (100*(Option.TI.Sell_1_Price - Option.TI.Buy_1_Price)/Option.TI.Buy_1_Price).toFixed(1);




  • حمید شنبه، ۲۳ اردیبهشت ۱۴۰۲ - ۱۴:۳۷

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


    شهرزاد شنبه، ۲۳ اردیبهشت ۱۴۰۲ - ۱۵:۱

    به ستون آماده اسپرد در قسمت if آخر این شرط هم با && اضافه  کنید

    UA.TI.LastPrice>1.4*Option.Strike





    حمید شنبه، ۲۳ اردیبهشت ۱۴۰۲ - ۱۵:۲۳

    سپاس از پاسخ گویی سریع لطفا قسمت دوم فیلتر یعنی سود اسپرد بالای 10 درصد را نیز برایم ارسال کنید.


    حمید شنبه، ۲۳ اردیبهشت ۱۴۰۲ - ۱۵:۴۰

    ضمنا هر دو اختیار چه long و put ، قیمت اعمال 40 درصد پایین تر از آخرین معامله باشد. با شرط فوق فقط روی اختیاری که خردید می شود اعمال می گردد.


    شهرزاد شنبه، ۲۳ اردیبهشت ۱۴۰۲ - ۲۲:۲۲

    var nIndex = 0;

    for(i=0;i<Option.Namad.length;i++)

    {

    if (!isNaN(Option.Namad[i]) && Option.Namad[i] != " ")

    { nIndex = i;

    break;

    }

    }

    "- " + Option.Namad.substring(nIndex) ;

    let result = "";

    let index = 0;

    while ( OptionSE(++index) != undefined ){

    let time = Option.DaysUntilMaturity/30

    let debit = (Option.TI.Sell_1_Price - OptionSE(index).TI.Buy_1_Price) * Option.Size;

    //درصورت قبول وثیقه توسط کارگزاری خط اول و در غیر اینصورت خط دوم 

    let capital = debit;

    //let capital = OptionSE(index).Required_Margin + debit;

    let profit = ((OptionSE(index).Strike - Option.Strike) *Option.Size) - debit;

    let yCapital = ((100*profit / capital) /time).toFixed(1);

    if (yCapital >=10 && Option.TI.Sell_1_Price >0 && OptionSE(index).TI.Buy_1_Price >0 && UA.TI.LastPrice>1.4*Option.Strike)

    result += "[ " + ShowDetail(OptionSE(index).Namad, OptionSE(index).Namad.substring(nIndex)) + ": " + yCapital + "] ";

    }

    result;



    حمید دو شنبه، ۲۵ اردیبهشت ۱۴۰۲ - ۱۳:۳۸

    لطفا هر دوطرف اسپرد صعودی ، حداقل مثلا 30 درصد درسود (ITM) باشد.


    شهرزاد دو شنبه، ۲۵ اردیبهشت ۱۴۰۲ - ۱۴:۱۳

    به جای ضریب 1.4 عدد 1.3 بزارید، علامت  >  و  متغیر مدنظر


  • حمید جمعه، ۲۲ اردیبهشت ۱۴۰۲ - ۲۲:۱۶

    سلام و دورد فراوان چگونه نمودار کاوردکال و کانورژن ها را مانند سایت optioncreator مشاهده کنیم.


    شهرزاد جمعه، ۲۲ اردیبهشت ۱۴۰۲ - ۲۲:۲۱

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

    https://t.me/OptionBaazan/1/113386


  • ابوالفضل احسانی جمعه، ۲۲ اردیبهشت ۱۴۰۲ - ۲۱:۱۰

    سلام و دورد فراوان لطفا، 1- فیلتر کاورد کال برای سهم هایی که قیمت آخرین معامله سهم 20 درصد بیش از قیمت اعمال سهم باشه 2-امکان شناسایی موقعیت های مناسب جهت افست زودتر از موعد کاورد کال هایی که زده ایم


    شهرزاد جمعه، ۲۲ اردیبهشت ۱۴۰۲ - ۲۲:۰

    1- این شرط به فیلتر کاوردکال اضافه کنید

    UA.TI.LastPrice > 1.2*Option.Strike;

    2-  از فیلتر آربیتراژ استفاده کنید.



    ابوالفضل احسانی جمعه، ۲۲ اردیبهشت ۱۴۰۲ - ۲۲:۳۴

    متوجه پاسخ سوال دو نشدم ، چه ارتباطی بین بستن کاورد کالها زودتر از سررسید با سود و آربیتراژ وجود داره


    شهرزاد جمعه، ۲۲ اردیبهشت ۱۴۰۲ - ۲۳:۵۳

    این ویدئو ببینید

    https://t.me/OptionBaaz/839



    حمید شنبه، ۲۳ اردیبهشت ۱۴۰۲ - ۱۴:۳۱

    بسیارسپاس استاد گرامی

  • اشکان يك شنبه، ۱۷ اردیبهشت ۱۴۰۲ - ۱۷:۱۲

    سلام ستونی میخواستم بسازم که اختلاف ارزش ذاتی و اولین عرضه را به درصد بگه


    شهرزاد يك شنبه، ۱۷ اردیبهشت ۱۴۰۲ - ۲۰:۵۵

    منظورتون از اولین عرضه ، سرخط  فروشنده است؟



    اشکان يك شنبه، ۱۷ اردیبهشت ۱۴۰۲ - ۲۳:۱

    بله


    شهرزاد دو شنبه، ۱۸ اردیبهشت ۱۴۰۲ - ۸:۳۲

    let intrinsictValue;

    if (Option.Type == "call") intrinsictValue = UA.TI.LastPrice - Option.Strike;

    else intrinsictValue = Option.Strike - UA.TI.LastPrice;

    CalcRateChange(intrinsictValue,Option.TI.Sell_1_Price);


  • علی شیر وحدت شنبه، ۱۶ اردیبهشت ۱۴۰۲ - ۱۳:۴۰

    سلام فیلتر ی می خاستم که آپشن هایی که بعد از ساغت 12.30 معامله می شوند را نشان دهد آ


    شهرزاد شنبه، ۱۶ اردیبهشت ۱۴۰۲ - ۱۵:۵۵

    صندوق‌های ETF بعد از 12:30 معامله میشن

    UA.IsETF;




  • اشکان چهار شنبه، ۱۳ اردیبهشت ۱۴۰۲ - ۱۸:۱۱

    سلام نوسان ضمنی (iv) راباچه عنوانی درفرمول میتوان نوشت؟


    پشتیبانی. چهار شنبه، ۱۳ اردیبهشت ۱۴۰۲ - ۱۸:۲۳

    CalcBG().iv;





    اشکان چهار شنبه، ۱۳ اردیبهشت ۱۴۰۲ - ۱۹:۳۲

    خیلی ممنون

  • محمد دو شنبه، ۱۱ اردیبهشت ۱۴۰۲ - ۲۱:۲۰

    باسلام ..قیمت پایانی پرمیوم..راباچه عندانی درفرمولهامیتوان نوشت..؟..باتشکر


    پشتیبانی. دو شنبه، ۱۱ اردیبهشت ۱۴۰۲ - ۲۳:۵۲

    Option.TI.EndPrice




    محمد سه شنبه، ۱۲ اردیبهشت ۱۴۰۲ - ۰:۱۶

    متشکرم

  • زحمت کش يك شنبه، ۱۰ اردیبهشت ۱۴۰۲ - ۱۷:۳۵

    عصربخیر؛ قبلا دو ستون ایجاد کرده بودم که محاسبه قدرت خریدار آپشن و پایه مربوطه را برای هر آیتم نشان داده می شد ولی چند وقت است هر 2 ستون را صفر نشان می دهد؛ آیا بخاطر نداشتن اشتراک؛ آنها را نشان نمی دهد؟ ممنون که بررسی می فرمایید.نمونه: let bp; let bper; let sper; bper= Option.TI.Real_Buy_Volume /Option.TI.Real_Buy_Count; sper= Option.TI.Real_Sell_Volume /Option.TI.Real_Sell_Count; if (sper > 0) bp=(bper / sper).toFixed(2); else bp=0; bp;


    شهرزاد يك شنبه، ۱۰ اردیبهشت ۱۴۰۲ - ۱۸:۱۹

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


  • محمد رضا پنج شنبه، ۷ اردیبهشت ۱۴۰۲ - ۱۱:۱۲

    سلام روز شما بخیر فیلتری برای اطلاع از قرارداد های با سررسید نزدیک که افت قیمت پیدا میکنند قابل تهیه است ؟ به هر دلیل نزدیک سر رسید عرضه با قیمت پایین تر از سر به سر داشته باشند


    پشتیبانی . پنج شنبه، ۷ اردیبهشت ۱۴۰۲ - ۱۴:۲۵

    سلام. در مقاله نمونه کد های کاربردی وجود دارند

    مشاهده متن مقاله



    محمدرضا پنج شنبه، ۷ اردیبهشت ۱۴۰۲ - ۱۴:۲۹

    ممنونم

  • علیرضا سه شنبه، ۵ اردیبهشت ۱۴۰۲ - ۲۳:۱۰

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


    شهرزاد سه شنبه، ۵ اردیبهشت ۱۴۰۲ - ۲۳:۲۷

    نیاز به فیلتر نیست

    از داشبورد سایت، با علامت طلوع مشخص شده


  • سیامک يك شنبه، ۳ اردیبهشت ۱۴۰۲ - ۱۱:۳

    سلام ممنون از راهنماییها و پاسخگوییتون یه فیلتری میخوام که اختیارهایی رو نشون بده که آخرین قیمت معامله شده یا آخرین قیمت عرضه با کمترین قیمتی که از روز اول تعریف اون اختیار معامله شده حداکثر 10درصد اختلاف داشته باشد.


    پشتیبانی يك شنبه، ۳ اردیبهشت ۱۴۰۲ - ۱۳:۲۳

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


  • سعید يك شنبه، ۳ اردیبهشت ۱۴۰۲ - ۲:۳۳

    سلام ، اول ممنون بابت دیده بان و پاسخگویی شما به سوالات میشه راهنمایی کنید 1-چه جوری باید یه ستون برای تعداد معاملات قرارداد ایجاد کنم چون تو ستون های آماده نیست 2-میشه فیلتری نوشت که خرید و فروش حفوقی رو در قرارداد نشون بده ممنون بابت پاسخگویی


    شهرزاد يك شنبه، ۳ اردیبهشت ۱۴۰۲ - ۸:۲۸

    تعداد معاملات

    TN=Option.TI.Transactions;

    درصد حجم معاملات خرید حقوقی

    BuyCo= (100*(Option.TI.Co_Buy_Volume/Option.TI.Volume)).toFixed(0);

    درصد حجم معاملات فروش حقوقی

    SellCo= (100*(Option.TI.Co_Sell_Volume/Option.TI.Volume)).toFixed(0);



    سعید يك شنبه، ۳ اردیبهشت ۱۴۰۲ - ۲۲:۲۷

    واقعا ممنون بابت پاسخگویی و پشتیبانی شما ، اصلا توقع نداشتم به این سرعت جواب بدید ؛ مجموعه ای که در دوره اونا شرکت کردم حتی پاسخگو نیستند .

  • سیامک شنبه، ۲ اردیبهشت ۱۴۰۲ - ۲۱:۳۳

    سلام آیا میشه ستونها رو جابجا کرد و بعضی ستونها رو به اوال جدول بیاریم؟وهمچنین عرض ستونها رو کم و زیاد کرد؟


    شهرزاد شنبه، ۲ اردیبهشت ۱۴۰۲ - ۲۲:۵۸

    ترتیب ستونها می‌تونید از قسمت تنظیمات به دلخواه جابجا کنید. عرض ستون می‌تونید  با style اگر چند خروجی دارید با فواصل منظم تنظیم کرد



    سیامک يك شنبه، ۳ اردیبهشت ۱۴۰۲ - ۱۱:۷

    سلام میشه لطفا بفرمایید از کدام قسمت تنظیمات میشه ستونها رو جابجا کرد من پیدا نکردم جایی رو که بشه اینکارو کرد


    پشتیبانی يك شنبه، ۳ اردیبهشت ۱۴۰۲ - ۱۳:۲۱

    مقاله راهنمای دیده بان رو مطالعه کنید قسمت اخر توضیح داده شده 




  • نوید راد جمعه، ۱ اردیبهشت ۱۴۰۲ - ۱۳:۳۲

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


    شهرزاد جمعه، ۱ اردیبهشت ۱۴۰۲ - ۱۷:۵

    let intrinsictValue;


    if (Option.Type == "call") intrinsictValue = UA.TI.LastPrice - Option.Strike;


    else intrinsictValue = Option.Strike - UA.TI.LastPrice;

    if (ScalePrice(Option.TI)>1)

    result = intrinsictValue - ScalePrice(Option.TI);

    else "" ;


  • محمد چهار شنبه، ۳۰ فروردین ۱۴۰۲ - ۱۶:۳۵

    سلام، می خواهم یک ستون داشته باشم که در آن این استراتژی را اجرا کنم و بازده آن را محاسبه کنم: Buy Stock Buy 1 ITM Call Sell 2 ATM Calls سهم خریداری شود و یک اختیار خرید ITM نیز خریداری شود و با حجم دوبرابر اختیار قبلی یک اختیار خرید ATM فروخته شود.


    شهرزاد چهار شنبه، ۳۰ فروردین ۱۴۰۲ - ۲۳:۴۱

    var nIndex = 0;

    for(i=0;i<Option.Namad.length;i++)

    {

    if (!isNaN(Option.Namad[i]) && Option.State == "ITM" && Option.Namad[i] != " ")

    { nIndex = i;

    break;

    }

    }

    "- " + Option.Namad.substring(nIndex) ; 

    let result = ""; 

    let index = 0; 

    while ( OptionSE(++index) != undefined ){ 

    let time= Option.DaysUntilMaturity/30 ;

    let debit = (UA.TI.LastPrice + Option.TI.Sell_1_Price - (2*OptionSE(index).TI.Buy_1_Price)) ;

    let profit = (2*(OptionSE(index).Strike + OptionSE(index).TI.Buy_1_Price) - (Option.Strike + Option.TI.Sell_1_Price + UA.TI.LastPrice)); 

    Capital = (100*profit / (time*debit)).toFixed(1); 

    if (Capital > 8 && OptionSE(index).TI.Sell_1_Price> 10 && Option.TI.Sell_1_Price >1 && OptionSE(index).State == "ATM") 

    result += ShowDetail(OptionSE(index).Namad) + " : " + Capital ;

    else "";

    }  

    result;

    در قسمت شرط‌ها می‌تونید تغییر ایجاد کنید

    بازدهی 8%  و قابل تغییر هستش

    متناسب با وثیقه کردن موقعیت خرید و سهم پایه فرمول تنظیم شده اگر امکان وثیقه ندارید، وجه تضمین به debit اضافه کنید

    زمان هم در محاسبه اومده


  • محمد دو شنبه، ۲۱ فروردین ۱۴۰۲ - ۱:۵۳

    سلام. خسته نباشید :من فرمولی میخواستم ک بین اعمال های یک نماد خاص مثلا شستا بیاد اختلاف بین سطر اول خرید یه اعمال و فروش اعمال دیگه رو حساب کنه و مثلا اگر بزرگ تر از 3 بود رو بهم نمایش بده.


    شهرزاد دو شنبه، ۲۱ فروردین ۱۴۰۲ - ۱۳:۲۴

    var nIndex = 0;
    for(i=0;i<Option.Namad.length;i++)
    {
    if (!isNaN(Option.Namad[i]) && Option.Namad[i] != " ")
    { nIndex = i;
    break;
    }
    }
    "- " + Option.Namad.substring(nIndex) ;
    let result = "";
    let index = 0;
    while ( OptionSE(++index) != undefined ){
    let diff =(100* (Option.TI.Sell_1_Price - OptionSE(index).TI.Buy_1_Price) / Option.TI.Sell_1_Price).toFixed(1) ;
    if (diff < 10 && Option.TI.Sell_1_Price >1 && OptionSE(index).TI.Buy_1_Price >1)
    result += ShowDetail(OptionSE(index).Namad) + " : " + diff + " / " ;

    result;

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

    عدد فرضی فعلا 10% قرار داده شده که می‌تونید به دلخواه تغییر دهید


  • فرهاد چهار شنبه، ۱۶ فروردین ۱۴۰۲ - ۱۲:۱۸

    let brk = UA.TI.Lastprice-Option.TI.Buy_1_Price; let profit = (Option.Strike - UA.TI.LastPrice)+Option.TI.Buy_1_Price; let percent = (profit/brk)*100; let month = (Option.DaysUntilMaturity/30); let rate = (percent/month).toFixed(1); let condition1 =var1 != " ? var1 : 5; Option.TI.Buy_1_Price > 1 && rate > condition1 && rate >condition1 && Option.Type=="call" سلام فرمول بالا خطا می دهد لطفا راهنمایی بفرمایید


    پشتیبانی. چهار شنبه، ۱۶ فروردین ۱۴۰۲ - ۱۴:۴۷

    به این صورت

    let brk = UA.TI.LastPrice - Option.TI.Buy_1_Price;

    let profit = (Option.Strike - UA.TI.LastPrice) + Option.TI.Buy_1_Price;

    let percent = (profit/brk) * 100;

    let month = (Option.DaysUntilMaturity / 30);

    let rate = (percent / month).toFixed(1);

    let condition1  = var1 != "" ? var1 : 5;

    Option.TI.Buy_1_Price > 1 && rate > condition1  && Option.Type == "call"



  • رضا سه شنبه، ۸ فروردین ۱۴۰۲ - ۱۵:۲۹

    سلام و احترام. اگر ممکن باشه این فیلتر رو میخواستم. نقطه سر به سر زیر 10 درصد شکاف قیمت عرضه و تقاضا زیر 10 درصد. متشکرم.


    پشتیبانی سه شنبه، ۸ فروردین ۱۴۰۲ - ۱۹:۴۲

    //محاسبه سر به سری

    let be ;

    let optionPrice = ScalePrice(Option.TI);

    if (Option.Type == "call") 

       be = optionPrice + Option.Strike;

    else     be =  Option.Strike - optionPrice ;

    let beDiff = CalcRateChange(UA.TI.LastPrice, be);

    // محاسبه شکاف

    let spread = Option.TI.Sell_1_Price - Option.TI.Buy_1_Price;

    spread = spread / Option.TI.LastPrice;

    spread = (spread * 100).toFixed(0);

    if (Option.TI.Sell_1_Price == 0 || Option.TI.Buy_1_Price == 0 || Option.TI.LastPrice == 0)

            spread = 0;

    //شرط

    (spread <= 10 && spread != 0) && beDiff <=10


  • فرزاد جمعه، ۴ فروردین ۱۴۰۲ - ۱۳:۴۷

    سلام و احترام. ببخشید میشه لطفااین فیلتر رو بهم بدین؟ حجم بیشتر از 5000 قرارداد ارزش بیشتر از 50 میلیون تومان پریمیوم آپشن کمتر از 20 تومان با تشکر.


    شهرزاد جمعه، ۴ فروردین ۱۴۰۲ - ۱۶:۵۳

    Option.TI.Volume>500

    &&

    Option.TI.Volume* Option.TI.LastPrice>5000000

    &&

    Option.TI.LastPrice<200


  • احسان يك شنبه، ۲۸ اسفند ۱۴۰۱ - ۲۱:۵۲

    فکر میکنم درست سوال منتقل نشد منظور نمادهایی است که ممکنه با تاریخ اعمال متفاوت قرارداد باز داشته باشدو مجددا حقوقی با قیمت اعمال دیگری اقدام به فروش آپشن نماید مثلا حقوقی فملی با قیمت 700 تومان و به تارخ برج 5 در روزهای گذشته اقدام به عرضه ی اختیار کرده بود و مجددا در قیمت 800 تومان اقدام به انتشار آپشن میکند باچه فیلتری می توان در اسرع وقت به این قراردادها درسترسی پیدا کرد.باتشکر


    شهرزاد دو شنبه، ۲۹ اسفند ۱۴۰۱ - ۸:۳۲

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


    Option.OpenInterest>0


    و حجم فروش حقوقی یا حقیقی

    Option.TI.Co_Sell_Volume>0 || Option.TI.Real_Sell_Volume>0


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


  • احسان چهار شنبه، ۲۴ اسفند ۱۴۰۱ - ۱۵:۲۶

    سلام کد یا فیلتری که اولین روز عرضه یک آپشن رو نشون بده (چه کدی نوشته بشه که فقط آپشن های جدید رو نمایش بده) ممنون از وقتی که میزارین بابت پاسخگویی


    شهرزاد چهار شنبه، ۲۴ اسفند ۱۴۰۱ - ۲۰:۴۳

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


  • رفی حجازی پنج شنبه، ۱۸ اسفند ۱۴۰۱ - ۱۷:۱

    سلام کد کاور کال که شما در اپارات معرفی کرید باید دستی باز نویسی کنم ؟؟ یا اینکه میشه از شما گرفت


    پشتیبانی. پنج شنبه، ۱۸ اسفند ۱۴۰۱ - ۲۳:۶

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


  • علیرضا سه شنبه، ۱۶ اسفند ۱۴۰۱ - ۱۹:۲۷

    سلام اگر بخواهم ستون اهرم را اضافه کنم به این صورت که سهم پایه تقسیم به قیمت پرمیوم فرمول آ چطور میشه که قابلیت سورت هم داشته باشه


    پشتیبانی. چهار شنبه، ۱۷ اسفند ۱۴۰۱ - ۰:۵۳

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


  • علیرضا دو شنبه، ۱۵ اسفند ۱۴۰۱ - ۲۱:۱

    ببخشید چطور میتونیم دو ستون اضافه کنیم که کمترین و بیشترین قیمت معامله شده در طول روز برای قرارداد را به ما نشان بده؟ ممنون


    پشتیبانی سه شنبه، ۱۶ اسفند ۱۴۰۱ - ۱۰:۴

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


    Option.TI.Min

    بیشترین قیمت معامله شده قرارداد:

    Option.TI.Max



  • علیرضا دو شنبه، ۱۵ اسفند ۱۴۰۱ - ۲۰:۵۹

    سلام، آیا میتونم فیلتری بنویسم که قرارداهای با بیش از P درصد اصلاح قیمتی در n روز گذشته رو به من نشون بده؟ مثلاً اختیارهایی که در 5 روز گذشته بیش از 30 درصد اصلاح قیمتی داشته اند. و اگر بله، آیا میشه دو فیلتر مختلف یکی بر اساس مقایسه آخرین قیمت ایجاد کرد و یکی بر اساس قیمت میانگین (پایانی)؟ تشکر


    شهرزاد سه شنبه، ۱۶ اسفند ۱۴۰۱ - ۱۳:۱۱

    تاریخچه روزهای قبل در دسترس نیست


  • محمود جمعه، ۱۲ اسفند ۱۴۰۱ - ۲۲:۱۵

    محمود باسلام،خیلی ممنون از بابت سایت بسیار خوبتون و پاسخگوییتان ، دو فیلتر زیر را می خواستم : 1- قراردادهایی در زنجیره قراردادهای اختیار خرید را نشان دهد که کمترین قیمت اعمال را دارد. 2- قراردادهایی در زنجیره قراردادهای اختیار فروش را نشان دهد که بیشترین قیمت اعمال را دارد. باتشکر


    پشتیبانی شنبه، ۱۳ اسفند ۱۴۰۱ - ۱۱:۲۱

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


  • علی زحمت کش پنج شنبه، ۱۱ اسفند ۱۴۰۱ - ۱۳:۳۸

    روزبخیر من 2 روزه از سایت شما استفاده می کنم ضمن تشکر از امکانات فیلتر نویسی دیده بان؛ با مشاهده سوابق؛ شیوه پاسخگویی شما به سوالات؛ واقعا ارزشمند است.

  • محمد يك شنبه، ۷ اسفند ۱۴۰۱ - ۱۶:۲۸

    باسلام وخسته نباشید . من آزمایشی ازسایت خوب شما استفاده میکنم .یک اشکال درمحاسبه اهرم مشاهد ه کردم که اگردسوربررسی بفرمایید دراستفاده ازسایت بسیارموثراست . اهرم معاملاتی که درضرر--->OTM هستند اشتباه محاسبه ونمایش داده می شوند .


    شهرزاد يك شنبه، ۷ اسفند ۱۴۰۱ - ۱۸:۱۷

    درود بر شما

    مبنای محاسباتی سایت برای قراردادها ScalePrice که کاربر استفاده می‌کند

    یعنی در سیستم شما اگر تنظیمات آخرین قیمت باشد اهرم بصورت

    قیمت دارایی پایه ÷ آخرین قیمت پرمیوم ×دلتا

    و اگر تنظیمات سیستم شما بر اساس عرضه باشه محاسبه اهرم بصورت زیر خواهد بود

    قیمت دارایی پایه ÷ سرخط فروشنده پرمیوم × دلتا

    برای همین ممکنه با محاسبات عددی شما تفاوتی ببینید

    پس یا ستون بنویسید بر اساس پارامترهای مورد نیاز خودتون یا تنظیمات دیده‌بان تغییر دهید

    موفق باشید



    محمد يك شنبه، ۷ اسفند ۱۴۰۱ - ۱۸:۲۶

    متشکرم

  • مهدی پنج شنبه، ۴ اسفند ۱۴۰۱ - ۱۸:۲۴

    با سلام من کدی میخوام که بین تمام قرار دادهای یک نماد(کل قرار دادها در ماه های مختلف منظورم هست) قرار دادهای با اعمال یکسان رو فیلتر کنه (مثلا براس شستا در ماه 12 یک قرار داد با اعمال 100 تومن هست و برای شستا مجدد در ماه 3 یک قرار داد با اعمال 100 تومن هست میخوام فیلتر بهم بگه مثلا برای اعمال 100 تومنی شستا 4 قرار داد متفاوت در ماه های مختلف وجود داره و نام اون قرار دادها رو بهم بگه در یک ستون )


    پشتیبانی چهار شنبه، ۱۰ اسفند ۱۴۰۱ - ۸:۱۵

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


  • حسین سه شنبه، ۲ اسفند ۱۴۰۱ - ۱۸:۳۴

    سلام ممنون بابت امکانات و پاسخگویی خوب شما فیلترهای زیر رو میخواستم 1- قیمت پایانی پایه + عرضه < اعمال 2- آخرین قیمت پایه + عرضه < اعمال


    شهرزاد سه شنبه، ۲ اسفند ۱۴۰۱ - ۲۰:۵۰

    1

    Option.Strike > UA.TI.LastPrice + Option.TI.Sell_1_Price

    2

    Option.Strike > UA.TI.EndPrice + Option.TI.Sell_1_Price





  • حسین دو شنبه، ۱۷ بهمن ۱۴۰۱ - ۲۲:۱۶

    سلام برای استراتژی Protective Put یک ستون میخوام درست کنم ولی خطا نامعتبر بودن کد را میده if (Option.Type == "put" && ScalePrice(Option.TI)>1) { let capital= ScalePrice(Option.TI) + UA.TI.LastPrice let eps = (Option.Strike - capital )*100 / capital var month = 1; if (Option.DaysUntilMaturity > 30) {month = Option.DaysUntilMaturity / 30;} let incomePerMonth= (eps/month) } incomePerMonth.toFixed(1);


    شهرزاد سه شنبه، ۱۸ بهمن ۱۴۰۱ - ۱۰:۲۵

    let capital= ScalePrice(Option.TI) + UA.TI.LastPrice;

    let eps = (Option.Strike - capital )*100 / capital;

    let month = Option.DaysUntilMaturity / 30;

    if (Option.Type == "put" && ScalePrice(Option.TI)>1 && Option.DaysUntilMaturity > 30) 
        //incomePerMonth
        (eps/month).toFixed(1);

    else "";



    حسین پنج شنبه، ۲۰ بهمن ۱۴۰۱ - ۱۶:۴

    ممنون فقط یک سوال دارم چرا نمیشه شرط را اول محاسبات قرار داد و سپس در صورت برقراری شرط باقی محاسبات انجام شود. به اینصورت if (Option.Type == "put" && ScalePrice(Option.TI)>1) ادامه کد


    شهرزاد جمعه، ۲۱ بهمن ۱۴۰۱ - ۱۷:۵۱

    بلاک کد اشتباه انجام دادید


  • محمد دو شنبه، ۱۷ بهمن ۱۴۰۱ - ۲۰:۵۳

    با درود فیلتری میخواستم که حجم معامله امروز بیش از 2 برابر دیروز باشد.


    شهرزاد سه شنبه، ۱۸ بهمن ۱۴۰۱ - ۹:۵۴

    در آپشن تابلوخوانی چندان اهمیت نداره

    می تونید موقعیت های باز دنبال کنید که ستون آماده دارد و می تونید sort کنید. برای فیلتر هم می تونید کد زیر را در یک محدوده خاص تعریف کنید

    Option.OpenInterest;


  • علی پنج شنبه، ۱۳ بهمن ۱۴۰۱ - ۱۹:۴۲

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


    پشتیبانی دو شنبه، ۱۷ بهمن ۱۴۰۱ - ۱۳:۴۱

    let result= "";

    //حلقه جهت بررسی قراردادهای همگروه

    for(var i=0;i<OptionSE().length ;i++)

    {

    //قیمت رکورد فعلی

    let price = ScalePrice(Option.TI);

    //قیمت   قرارداد با ایندکس حلقه

    let comparePrice = ScalePrice(OptionSE()[i].TI);


    //نماد با خودش مقایسه نشه و دارای قیمت باشه

    if (OptionSE()[i].Namad == Option.Namad || price <= 1 || comparePrice <= 1) continue;

    // محاسبه اختلاف

    let diff = Math.abs(CalcRateChange(price, comparePrice));


    if (diff <=10)

    result += "[" + ShowDetail(OptionSE()[i].Namad)+": " + diff + " ]";

    }

    result;



  • ربیع پنج شنبه، ۱۳ بهمن ۱۴۰۱ - ۱۰:۶

    ما میتونیم سرانه خرید امروز سهم پایه و دوتا سه روز پیش را هم در فیلترها داشته باشیم؟


    پشتیبانی پنج شنبه، ۱۳ بهمن ۱۴۰۱ - ۱۷:۲۰

    سلام

    فقط برای دیتای روزانه قابل دسترس هست


  • علی چهار شنبه، ۱۲ بهمن ۱۴۰۱ - ۲۳:۲۰

    خسته نباشید برای پیدا کردن بهترین کال اسپرد فیلتری هست


    شهرزاد پنج شنبه، ۱۳ بهمن ۱۴۰۱ - ۰:۱۵

    در ستون‌های اماده دیده‌بان سایت آپشن‌باز می‌تونید سود اسپرد اجرا کنید

    این اسکلت یک اسپرد صعودی هستش برای دریافت خروجی مناسب با روند و ریسک پذیری خودتون می‌تونید محدودیت‌های اعمال کنید

    مثلا هر دو موقعیت ITM باشند و با بازده بیشتر از 80% باشه

    تا جایی که خروجی‌ها به شرایط دلخواه شما نزدیک بشه


  • شکسپیر يك شنبه، ۲ بهمن ۱۴۰۱ - ۱۰:۱۱

    می تونم تعداد موقعیت باز رو محدود کنم؟


    پشتیبانی يك شنبه، ۲ بهمن ۱۴۰۱ - ۱۰:۳۴

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

    مثلا موقعیت باز بیشتر از 100 : 

     

    Option.OpenInterest >= 100



  • علی دو شنبه، ۲۶ دی ۱۴۰۱ - ۸:۴

    سلام ممنون می شم نحوه نوشتن فیلتر برای استراتژی باکس با سود کم ریسک را آموزش دهید. سپاس

  • سپهر يك شنبه، ۲۵ دی ۱۴۰۱ - ۱۵:۱۱

    چطور می تونم در یک ستون 2 مقدار رو نمایش بدم ؟


    شهرزاد يك شنبه، ۲۵ دی ۱۴۰۱ - ۱۶:۰

    اگر 2 متغییر برای مثال داشته باشیم 

    Result= A + "--" + B;


  • حجازیان يك شنبه، ۱۸ دی ۱۴۰۱ - ۱۶:۳۸

    با تشکر فراوان از راهنمایی شما چطور میتونم ستونی که ایجاد کردم قابلیت sort شدن داشته باشه


    شهرزاد يك شنبه، ۱۸ دی ۱۴۰۱ - ۲۰:۳۱

    موقع ساخت ستون مرتب سازی بر اساس حروف یا عدد بزارید و از حالت غیرفعال خارج کنید


  • یاسر يك شنبه، ۱۸ دی ۱۴۰۱ - ۱۵:۵۹

    سلام وارادت من این کد را میخام (100*(قیمت پایانی/(قیمت اعمال-(قیمت سهم پایه*1.1)))


    شهرزاد يك شنبه، ۱۸ دی ۱۴۰۱ - ۲۰:۵۷

    (((1.1*UA.TI.LastPrice)-(Option.Strike)/Option.TI.LastPrice)*100).toFixed(0);

    //آخرین قیمت سهم پایه
    UA.TI.LastPrice

    //قیمت اعمال
    Option.Strike

    //آخرین قیمت قرارداد
    Option.TI.LastPrice


  • حجازیان شنبه، ۱۷ دی ۱۴۰۱ - ۱۹:۵۷

    ;s=(Option.strike + Option.TI.Buy_1_Price - UA.TI.LastPrice)*Option.Size سلام کد بالا برای ساخت ستون میباشد چرا فقط NAN نمایش داده میشود ممنون میشم از راهنمایی شم


    شهرزاد شنبه، ۱۷ دی ۱۴۰۱ - ۲۰:۱۲

    به بزرگی و کوچکی حروف دقت بفرمایید

    فرمول شما اصلاح شد تست کنید.

    s=(Option.Strike  +  Option.TI.Buy_1_Price  -  UA.TI.LastPrice)*Option.Size;


  • بیدی پنج شنبه، ۸ دی ۱۴۰۱ - ۱۴:۵۸

    سلام عرض ادب و احترام چند فیلتر نیاز دارم که اگر مقدور و ممکن هست لطفا کمک و راهنمایی بفرمایید 1_فیلتری نیاز دارم که اردر فروشنده کمتر از ارزش ذاتی باشد 2_ فیلتری نیاز دارم که سفارش فروشنده کمتر از قیمت روز گذشته باشد 3_فیلتری نیاز دارم که آخرین قیمت قراردادکمتر از ارزش ذاتی و پایین معامله می شود.با تشکر فراوان


    پشتیبانی شنبه، ۱۰ دی ۱۴۰۱ - ۱۶:۱۶

    1_فیلتری نیاز دارم که اردر فروشنده کمتر از ارزش ذاتی باشد

    var intrinsictValue = 0;

    if (Option.State == "ITM") {

     if (Option.Type == "call")

       intrinsictValue = UA.TI.LastPrice - Option.Strike;

                else intrinsictValue = Option.Strike - UA.TI.LastPrice;

            }

    Option.TI.Sell_1_Volume > 0 && Option.TI.Sell_1_Price < intrinsictValue

    2-فیلتری نیاز دارم که سفارش فروشنده کمتر از قیمت روز گذشته باشد

    Option.TI.Sell_1_Volume > 0 && Option.TI.Sell_1_Price < Option.TI.LastDayPrice

    3_فیلتری نیاز دارم که آخرین قیمت قراردادکمتر از ارزش ذاتی و پایین معامله می شود.

    var intrinsictValue = 0;

    if (Option.State == "ITM") {

     if (Option.Type == "call")

       intrinsictValue = UA.TI.LastPrice - Option.Strike;

                else intrinsictValue = Option.Strike - UA.TI.LastPrice;

            }

    Option.TI.LastPrice < intrinsictValue


  • عباس يك شنبه، ۴ دی ۱۴۰۱ - ۲۳:۱۷

    سلام. فیلتر بول اسپرد با سودِ بالای سالیانه شده فلان‌ درصد رو میخواستم. خیلی ممنون


    شهرزاد يك شنبه، ۴ دی ۱۴۰۱ - ۲۳:۵۵

    لطفا ستونهای آماده ببینید


  • Hoseyn يك شنبه، ۴ دی ۱۴۰۱ - ۲۲:۲۱

    سلام برای ستون آربیتراژ میشه یک فیلتر بدید که در قسمت ستون اضافه کنم ؟


    شهرزاد يك شنبه، ۴ دی ۱۴۰۱ - ۲۲:۳۴

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


  • Mohsen يك شنبه، ۴ دی ۱۴۰۱ - ۱۸:۳۰

    سلام فیلتر قبلی ایراد داشت فیلتر اینجور باشه لطفا قیمت پرمیوم زیر 20% ارزش بلک شولز بین منفی 5% تا مثبت 10 درصد سربسری حجم بالای 100000 ممنون میشم اگر انجام بدید دوست عزیز


    شهرزاد يك شنبه، ۴ دی ۱۴۰۱ - ۲۱:۳۶

    در واقع سوال شما ایراد داشت

    دقیقا نوشتید 20% بالاتر از بلک شولز

    فرمول دارید اعداد و درصدها به اعداد دلخواهتون تغییر بدید 



    شهرزاد يك شنبه، ۴ دی ۱۴۰۱ - ۲۳:۵۲

    let be;

    if (Option.Type == "call") be =(Option.TI.LastPrice+Option.Strike);

    else be = (Option.Strike-Option.TI.LastPrice);

    0.95*UA.TI.LastPrice < be < 1.1*UA.TI.LastPrice

    &&

    Option.TI.Sell_1_Price<1.2*Option.BlackSholesHV

    &&

    Option.TI.Volume > 100000

    &&

    CalcLeverage() >= 2


  • محسن شهیب يك شنبه، ۴ دی ۱۴۰۱ - ۱۳:۳۱

    میشه این فیلتر رو برای من بنویسید لطفا ؟ اختلاف با بلک شولز بیشتر از 20 درصد فاصله سربسری کمتر از 10 درصد حجم معاملات بالای 100000 اهرم بیشتر از 2


    شهرزاد يك شنبه، ۴ دی ۱۴۰۱ - ۱۶:۱۶

    let be;

    if (Option.Type == "call") be =(Option.TI.LastPrice+Option.Strike);

    else be = (Option.Strike-Option.TI.LastPrice);

    be > 1.1*UA.TI.LastPrice

    &&

    Option.TI.Sell_1_Price>1.2*Option.BlackSholesHV

    &&

    Option.TI.Volume > 100000

    &&

    CalcLeverage() >= 2



    محسن شهیب يك شنبه، ۴ دی ۱۴۰۱ - ۱۶:۴۲

    ممنون بابت لطفتون سپاسگذار


    محسن شهیب يك شنبه، ۴ دی ۱۴۰۱ - ۱۷:۴۰

    ببخشید فیلتری که نوشتید فکر کنم ایراد داره چونکه قیمتهای پرمیوم زیر ارزش بلک شولز نیستن من فیلتری میخواستم که پرمیومهای زیر قیمت بلک شولز رو بیاره مثلا 20 درصد زیر ارزش بلک شولز و نزدیک سربسری

  • سید صادق ظریفی دو شنبه، ۲۱ آذر ۱۴۰۱ - ۲۲:۱۸

    سلام فیلتری میخوام که قراردادهای در ضرر که سه روز متوالی هست حجم چند برابر میانگین میخورن رو ببینم.ممنون. جسارتا سوال مشکلی داره که جواب ندادین؟


    پشتیبانی سه شنبه، ۲۲ آذر ۱۴۰۱ - ۸:۴۵

    قراردادهای در ضرر در قسمت جستجو وضعیت رو OTM بزارید
    داده تاریخی برای مقایسه  در دیده بان به علت عدم کاربرد در دسترس نیست برای مقایسه حجم


  • علی دو شنبه، ۲۱ آذر ۱۴۰۱ - ۱۵:۲۹

    سلام، وقت بخیر، فیلتر تحرکات حقوقی تو اختیارات رو میخواستم


    محسن سه شنبه، ۲۲ آذر ۱۴۰۱ - ۸:۴۶

    تحرک یعنی چی خوب ؟  سوالت خیلی کلی هست 



    علی سه شنبه، ۲۲ آذر ۱۴۰۱ - ۱۳:۲۱

    منظور خرید یا فروش بیش از 50 درصد حجم روزانه یا کد به کد حقوقی به حقیقی


    محسن سه شنبه، ۲۲ آذر ۱۴۰۱ - ۱۴:۵۷

    اگر این رو بخواید می تونید با یه ضرب و تقسیم با فرمول بدستش بیارید



    شهرزاد سه شنبه، ۲۲ آذر ۱۴۰۱ - ۲۲:۱۴

    از این کد می‌تونید استفاده کنید و ستون بسازید

    A= (100*(Option.TI.Real_Buy_Volume/Option.TI.Volume)).toFixed(0)

    B=  (100*(Option.TI.Co_Buy_Volume/Option.TI.Volume)).toFixed(0)

    D= (100*(Option.TI.Real_Sell_Volume/Option.TI.Volume)).toFixed(0)

    E=  (100*(Option.TI.Co_Sell_Volume/Option.TI.Volume)).toFixed(0)

    if (Option.TI.Volume > 0) C = A + "--" +B+ "****" +D+ "--" +E ;

    else "";

    در بخش فیلترها محدودیت لازم اعمال کنید.

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



    علی چهار شنبه، ۲۳ آذر ۱۴۰۱ - ۰:۲۸

    خیلی ممنونم، اگر گروه عمومی هست لطف می کنید لینک گروه رو ارسال کنید


    پشتیبانی چهار شنبه، ۲۳ آذر ۱۴۰۱ - ۹:۴۵

    https://t.me/OptionBaazan   
    https://t.me/OptionBaaz
    @optionbaazan 
    @optionbaaz


  • حسین دو شنبه، ۲۱ آذر ۱۴۰۱ - ۱۱:۱۷

    سلام کار این کد چیه CalcRateChange( Option.BlackSholesHV,Option.TI.Sell_1_Price, 1);


    سعید دو شنبه، ۲۱ آذر ۱۴۰۱ - ۱۴:۱۶

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


  • علی دو شنبه، ۱۴ آذر ۱۴۰۱ - ۱۷:۳۶

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


    پشتیبانی. دو شنبه، ۱۴ آذر ۱۴۰۱ - ۲۳:۱۷

    سلام 

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


  • اسماعیل دو شنبه، ۷ آذر ۱۴۰۱ - ۰:۱۶

    سلام وقتتون بخیر میخواستم در غالب یک ستون آخرین قیمت سهام پایه تقیسم بر اخرین قیمت اختیار معامله رو برای نمادهای معاملاتی نمایش دهد . در واقع میخواهم ببینم برای هر نماد اختیار : آخرین قیمت سهام پایه چند برابر آخرین قیمت اختیار معامله هست.


    پشتیبانی دو شنبه، ۷ آذر ۱۴۰۱ - ۹:۱۹

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

    (UA.TI.LastPrice / Option.TI.LastPrice).toFixed(1)


  • سید صادق چهار شنبه، ۲ آذر ۱۴۰۱ - ۰:۴۹

    سلام فیلتری میخوام که قراردادهای در ضرر که سه روز متوالی هست حجم چند برابر میانگین میخورن رو ببینم.ممنون.

  • حسین سه شنبه، ۱ آذر ۱۴۰۱ - ۲۱:۳۰

    سلام... فیلتری میخواستم که تغییرات موقعیت های باز رو نشون بده... مثلا کدام سهم ها امروز موقعیت های بازشون کم یا زیاد شده و چقدر؟ ممنون


    شهرزاد چهار شنبه، ۲ آذر ۱۴۰۱ - ۸:۵۸

    درود

    نیازی به فیلتر نیست ستون موقعیت‌های باز فعال کتید و ب  اساس درصد sort بفرمایید.


  • محمد بیدی دو شنبه، ۲۳ آبان ۱۴۰۱ - ۱۰:۲۱

    سلام عرض ادب و احترام غیر فعال کردن فیلتر بدون اینکه فیلتر رو حذف کنیم امکان پذیر هست؟تا هر زمان خواستیم مجدد فیلتر رو فعال کنیم.اگر امکان پذیر است لطفا بفرمایید چطور؟


    پشتیبانی سه شنبه، ۲۴ آبان ۱۴۰۱ - ۱۲:۳۵

    درود
    بله تیک فیلتر رو بردارید غیر فعال میشه


  • باقر شنبه، ۱۴ آبان ۱۴۰۱ - ۲۳:۳۴

    باسلام و احترام بی زحمت فیلتر تعداد موقعیت باز خواستم ممنونم


    پشتیبانی يك شنبه، ۱۵ آبان ۱۴۰۱ - ۱۸:۵۶

    چه فیلتری ؟ بیشتر توضیح بدید



    باقر دو شنبه، ۱۶ آبان ۱۴۰۱ - ۰:۵۹

    فیلتری که تعدادموقعیت باز راسهم ها نشون بده مثلا سهم هایی که بیش از 100 موقعیت باز دارد


    پشتیبانی دو شنبه، ۱۶ آبان ۱۴۰۱ - ۱۳:۵۷

    Option.OpenInterest >= 100



    باقر پنج شنبه، ۱۹ آبان ۱۴۰۱ - ۱۴:۴۵

    ممنونم خداخیرت بده

  • باقر شنبه، ۱۴ آبان ۱۴۰۱ - ۲۳:۳۱

    سلام وتشکر ببخشید فیلتر اهرم CalcLeverage() >= 5 به چه معنی هست ممنونم توضیح دهید.


    سینا يك شنبه، ۱۵ آبان ۱۴۰۱ - ۱۸:۵۶

    اهرم آپشن بیشتر یا مساوی 5


  • جمشید خیری سه شنبه، ۱۰ آبان ۱۴۰۱ - ۱۵:۷

    سلام قیمت خرید چه آبجکت یا پراپرتی هستش؟


    شهرزاد چهار شنبه، ۱۱ آبان ۱۴۰۱ - ۹:۳۳


    Option.TI.Buy_1_Price




  • حسن علوی دیلمی پنج شنبه، ۱۴ مهر ۱۴۰۱ - ۱:۴۰

    سلام درصد شکاف چطور محاسبه میشه ؟ ممنونم


    شهرزاد جمعه، ۱۵ مهر ۱۴۰۱ - ۱۱:۴۷

    درود 

    if (Option.TI.Buy_1_Price>0 && Option.TI.Sell_1_Price>0 ) (100*(Option.TI.Buy_1_Price - Option.TI.Sell_1_Price)/Option.TI.Buy_1_Price).toFixed(1)

    else ";



    حسن جمعه، ۱۵ مهر ۱۴۰۱ - ۱۴:۱۴

    سپاسگزار از شما

  • علیرضا جمعه، ۸ مهر ۱۴۰۱ - ۰:۲۸

    سلام فیلتر سر به سری کمتر از 20 درصد رو میخواستم


    شهرزاد شنبه، ۹ مهر ۱۴۰۱ - ۱۴:۶

    سربه‌سری نسبت به چه پارامتری لازم دارید؟ و در کدوم سمت معامله؟



    علیرضا شنبه، ۹ مهر ۱۴۰۱ - ۱۵:۲۸

    نسبت به اخرین قیمت سهم پایه هم سمت خرید و هم فروش اختیار خرید


    شهرزاد شنبه، ۹ مهر ۱۴۰۱ - ۲۱:۳

    let intrinsictValue;

    if (Option.Type == "call") intrinsictValue = Option.TI.LastPrice +Option.Strike;

    else intrinsictValue = Option.Strike - Option.TI.LastPrice;

    100*(intrinsictValue/UA.TI.LastPrice)<20

    && Option.TI.Sell_1_Price>1



    علیرضا شنبه، ۹ مهر ۱۴۰۱ - ۲۱:۷

    فقط نمیدونم چطور درصد بگیرم


    علیرضا شنبه، ۹ مهر ۱۴۰۱ - ۲۲:۵۲

    بسیار سپاسگزارم برای پاسخگویی و راهنمایی تون. کد رو که اجرا میکنم بازهم سربه سری بیشتر از 20 درصد رو میاره لطفا راهنمایی بفرمایید متشکرم


    شهرزاد يك شنبه، ۱۰ مهر ۱۴۰۱ - ۰:۳۴

    تست شد طبق چیزی که درخواست داشتید نوشتم

    اگر سربه‌سری منفی لازم ندارید می‌تونید محدود کنید به 0 تا 20 درصد یا منفی5 تا 20%



    علیرضا يك شنبه، ۱۰ مهر ۱۴۰۱ - ۱:۴

    درست شد لطفا چک بفرمایید let intrinsictValue; if (Option.Type == "call") intrinsictValue =(Option.TI.LastPrice + Option.Strike) - UA.TI.LastPrice; else intrinsictValue = (Option.Strike - Option.TI.LastPrice) - UA.TI.LastPrice; 100*(intrinsictValue/UA.TI.LastPrice)<20 && Option.TI.Sell_1_Price>1

  • حسین دو شنبه، ۳۱ مرداد ۱۴۰۱ - ۱۹:۴۷

    سلام فیلتر قیمت سر ب سر کمتر از قیمت پایه رو میخواستم


    پشتیبانی شنبه، ۵ شهریور ۱۴۰۱ - ۱۲:۸

    ScalePrice(Option.TI) + Option.Strike < UA.TI.LastPrice

  • سهیل دو شنبه، ۲۰ تیر ۱۴۰۱ - ۱۱:۱۷

    با سلام و احترام، ممنون از پاسخ سوالتون. لطفا توضیحی هم در خصوص اعداد با رنگ قرمز، سبز و سیاه در دیده بان و در قسمت ستون بلک شولز بفرمایید. هر کدام به چه معنی است. من از دوستان فیلتری در خصوص این که قیمت بلک شولز نماد بین 5 تا منفی 10 درصد باشد، خواستم و دوستان زحمت کشیدند فیلتری ارسال فرمودند. فقط اعدادی که در فیلتر می آیند را متوجه نمی شوم که چطور این نماد بین 5 تا -10 درصد قرار گرفته اند. اگر مقدور است با توضیحاتی و یا طی تماسی، بنده را راهنمایی بفرمایید. (امروز روز آخر تست رایگان بنده است). با تشکر از زحمات شما


    شهرزاد دو شنبه، ۲۰ تیر ۱۴۰۱ - ۱۵:۵

    رنگ مشکی اعداد محاسبه شده بلک‌شولز بر حسب تنظیماتی که روی دیده‌بان اعمال می‌کنید مثلا عرضه تقاضا یا قیمت پابانی و آخرین قیمت

    اعداد قرمز درصد بلک‌شولز نسبت به پارامتر تنظیم شده هستند که در قیمت بالاتری معامله می‌شوند

    و رنگ سبز یعنی زیر قیمت هستند

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


  • سهیل يك شنبه، ۱۹ تیر ۱۴۰۱ - ۱۲:۵۹

    با سلام و احترام، فیلتر مد نظر بنده دارای مولفه های زیر است. لطفا فرمول های مرتبط را معرفی بفرمایید. 1- حجم بالای 500 2- قیمت بلک شولز بین 5 تا -10 درصد 3- مانده تا سررسید بالای 60 روز 4- اهرم بالای 5


    شهرزاد دو شنبه، ۲۰ تیر ۱۴۰۱ - ۱۰:۱

    Option.TI.Volume >= 500

    &&

    5 <= Option.BlackSholesHV <= -10

    &&

    60 >= Option.DaysUntilMaturity

    &&

    CalcLeverage() >= 5


  • علی اکبر دو شنبه، ۱۹ اردیبهشت ۱۴۰۱ - ۲۳:۰

    با سلام چطوری می تونم فیلتری بنویسم که اگر سهم پایه یک درصد یا بیشتر مثبت یا منفی شد واختیار ان 5 برابر منفی یا مثبت شده نشون بده مثلا اگر سهم پایه 2درصد مثبت یا 2درصد منفی شد اختیارش حداقل 10درصد مثبت یا منفی شد نشون بده

  • javad سه شنبه، ۳۰ فروردین ۱۴۰۱ - ۱۰:۱۴

    با سلام و تشکر چطور می توانیم به حجم های روزهای گذشته قرارداد با کد دسترسی پیدا کنیم؟


    پشتیبانی سه شنبه، ۳۰ فروردین ۱۴۰۱ - ۱۴:۱۹

    با سلام در حال حاضر امکان دسترسی به دیتای گذشته وجود نداره


  • yousef پنج شنبه، ۲۵ فروردین ۱۴۰۱ - ۱۰:۳۹

    با سلام و خسته نباشید من وقتی ستونی میسازم و مقادیر عددی برای ستون نوشته میشه علامت منفی سمت راست قرار میگیره چجوری میشه علامت منفی سمت چپ قرار بگیره 2- بصورت -2 نوشته میشه


    پشتیبانی پنج شنبه، ۲۵ فروردین ۱۴۰۱ - ۱۱:۵۱

    با سلام

    در قسمت ساخت ستون تراز رو  چپ چین بزارید


  • محمود پنج شنبه، ۱۸ فروردین ۱۴۰۱ - ۲۱:۳

    با سلام و عرض ادب . میشه خواهش کنم فیلتر نمادهای اختیار معامله که در حال خرید و فروش هستند و حجم خورده رو بی زحمت بگذارین. ممنونم ازتون


    پشتیبانی جمعه، ۱۹ فروردین ۱۴۰۱ - ۱۴:۵۱

    فیلترش اماده هست

    ارزش معاملات رو بزارید روی 1 برای مثال فقط قراردادهایی که معامله شدند رو نمایش میده بهتون



    محمود جمعه، ۱۹ فروردین ۱۴۰۱ - ۱۹:۴۲

    ببخشید کجاست فیلترش من ندیدم ؟؟


    پشتیبانی جمعه، ۱۹ فروردین ۱۴۰۱ - ۲۰:۱

    دیده بان بازار > حداقل ارزش


  • سپهر يك شنبه، ۱۴ فروردین ۱۴۰۱ - ۱۰:۳۸

    سلام میشه یه راهنمایی کنید فیلتری می خوام که همه قراردادهای صندوق های etf که فروشنده هم دارند رو بهم نشون بده


    پشتیبانی يك شنبه، ۱۴ فروردین ۱۴۰۱ - ۱۲:۵۶

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

    Option.TI.Sell_1_Count > 0



  • یوسف پنج شنبه، ۱۱ فروردین ۱۴۰۱ - ۱۴:۲۶

    با سلام دوستان من تکه کدی دارم که اطلاعات رو از tse به تلگرام میفرسته میخواستم ببینم چجوری اونو تبدیل کنم که تو قسمت فیلتر نویسی آپشن باز بشه اعمال کرد


    پشتیبانی جمعه، ۱۲ فروردین ۱۴۰۱ - ۱۳:۱۷

    با سلام
    ابتدا بگید قرارداد ها رو می خواید فیلتر کنید یا اطلاعاتی به تلگرام بفرستید ؟ 
    در ضمن آلارم داره خوده فیلتر های سایت



    یوسف جمعه، ۱۲ فروردین ۱۴۰۱ - ۱۳:۱۸

    من میخوام نتایج فیلترم رو به تلگرام بفرسته تو سایت tse میتونم این کار رو انجام بده ولی تو اپشن باز نتونستم تکه کد رو اینجا نتونستم بذارم


    پشتیبانی جمعه، ۱۲ فروردین ۱۴۰۱ - ۱۳:۵۱

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


  • صفا چهار شنبه، ۱۰ فروردین ۱۴۰۱ - ۱۹:۳۳

    سلام، فیلتر مثال شما - اختلاف سربسری - را عینا کپی کردم ولی موقع اجرا هم سطرهای با خروجی true و هم خروجی های false نمایش داده میشود. ضمنا جهت مقایسه با تقاضا از چه عبارتی باید استفاده کنیم؟


    شهرزاد پنج شنبه، ۱۱ فروردین ۱۴۰۱ - ۱۲:۱۷

    درود بر شما

    موارد که بصورت مثال ذکر شده جنبه نمونه دارند و تعریف ستون هستش

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

    برای تعریف بر اساس تقاضا از عبارت  Ask_1 به جای قیمت پایانی استفاده بفرمایید.


  • احمد چهار شنبه، ۱۰ فروردین ۱۴۰۱ - ۱۲:۲۸

    سلام عرض ادب میشه شکاف درصدی رو طوری محاسبه کرد که اگر سمت منفی بود منفی نشون بده و اگر سمت مثبت بود مثبت ؟ و اینکه میشه رنگ اون رو هم عوض کرد ؟


    شهرزاد چهار شنبه، ۱۰ فروردین ۱۴۰۱ - ۱۳:۱۷

    شکاف قیمت هیچوقت منفی  نیست یا صفر هستش یا عددی مثبت، به محض اینکه سرخط خریدار و فروشنده باهم برابر شد معامله اتفاق می‌افته و  این عدد حاصل درصد اختلاف سرخط فروشنده با خریدار است.


  • فاطمه يك شنبه، ۷ فروردین ۱۴۰۱ - ۱۸:۴۳

    نمادهایی را به من نشان بده که قیمت پیشنهادی با قیمت منصفانه نزدیک به هم باشه


    پشتیبانی پنج شنبه، ۱۱ فروردین ۱۴۰۱ - ۱۱:۳۹

    //می تونید ستونی ایجاد کنید و اختلاف قیمت منصفانه با عرضه رو ببینید(ایجاد ستون اختیاری هست و فقط برای مشاهده اختلاف)

     CalcRateChange( Option.BlackSholesHV,Option.TI.Sell_1_Price, 1);


    //در فیلتر هم بگید فقط قراردادهایی رو نمایش بده که این اختلاف کمتر از 10% باشه

    let diff =  CalcRateChange( Option.BlackSholesHV,Option.TI.Sell_1_Price, 1) ;

    (diff >= -10 && diff <=10)


  • milad جمعه، ۲۷ اسفند ۱۴۰۰ - ۲:۰

    توی نوشتن فیلتر برای اضافه کردن درصد کارمزد از چه چیزی باید استفاده کنیم، به عنوان مثال اگر بخوایم به قیمت سهم پایه 1.25 %کارمزد رو اضافه کنیم چجوری باید اینکارو کنیم مثلا UA. TI. LastPrice رو بخوایم مقدار درصد کارمزد رو بهش اصافه کنیم یعنی جز ضرب اون مقدار در (1.25/100) راه دیگه ای نیست، خود %کارایی نداره تو این محیط


    پشتیبانی جمعه، ۲۷ اسفند ۱۴۰۰ - ۲:۳

    درصد از یک مقدار رو به این شکل می تونید حساب کنید

    let  p1 =  UA.TI.LastPrice += (UA.TI.LastPrice * 1.5)/100;

    toNumber(p1);


  • شکری پنج شنبه، ۲۶ اسفند ۱۴۰۰ - ۱۴:۴

    باسلام داده های تعریف شده با آبجکتهای Option و UA براحتی در فیلتر قابل استفاده هست. ستونی بنام FuturePrice با استفاده از فرمولی اضافه کردم، داده این ستون در ستونهای دیگه قابل استفاده هست ولی در بخش فیلتر نمی توان از آن استفاده کرد. با آبجکتهای Option و UA امتحان کردم نشد. آیا راه حلی وجود داره که بتوان از این داده ها(همانند داده های تعریف شده مثل EndPrice و ....) در فیلتر استفاده کرد؟


    پشتیبانی شنبه، ۲۸ اسفند ۱۴۰۰ - ۲۲:۲۳

    در قسمت تابع های عمومی می تونید تابعی تعریف کنید و در همه قسمت ها از آن استفاده کنید


  • سعید دو شنبه، ۲۳ اسفند ۱۴۰۰ - ۱۵:۷

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


    پشتیبانی دو شنبه، ۲۳ اسفند ۱۴۰۰ - ۱۵:۲۷

    با سلام  احترام

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

    مقدار مورد نظر که استاتیک هست رو براتون برگردونه

    کدش شبیه این می تونه باش (کد فقط مثال هست و می تونید برای نماد های بیشتر و قیمت دلخواه اجراش کنید)

    هرجای محاسبات نیاز داشتید می تونید تابع GetUA_Price رو فراخوانی کنید تا مقدار مورد نظرتون رو برگردونه

    function GetUA_Price(namad){

    switch(namad) {

      case "خودرو":

        return 250;break;

      case "سایپا":

        return 150;break;

      default: return 0;break;

    }}

    GetUA_Price(UA.Namad);



  • نرگس دو شنبه، ۲۳ اسفند ۱۴۰۰ - ۱۲:۱۱

    سلام خیلی ممنون از امکانات خوبی که تو سایت قرار میدید. راهی هست که بین قراردادهای یک نماد بتونیم سرچ کنیم مثلا اگه تمام اختیارهای نماد رو بر اساس قیمت اعمال مرتب کنیم (نزولی به صعودی) اولین قرارداد در زیان رو برگردونه. ویه قرارداد با قیمت اعمال بالاتر از اون؟ روی خودرو اگه این فیلتر اجرا بشه ضخود 2019 و ضخود 2018 رو برگردونه


    پشتیبانی دو شنبه، ۲۳ اسفند ۱۴۰۰ - ۱۴:۵

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


  • حسام اسدی يك شنبه، ۲۲ اسفند ۱۴۰۰ - ۲۳:۳۵

    سلام وعرض ادب احتراما فیلد وجه تضمین چی هست؟


    شهرزاد دو شنبه، ۲۳ اسفند ۱۴۰۰ - ۱:۲

    درود بر شما

    Option.Required_Margin



    حسام دو شنبه، ۲۳ اسفند ۱۴۰۰ - ۱:۸

    ممنون

  • احمد پنج شنبه، ۱۹ اسفند ۱۴۰۰ - ۲۳:۵۱

    اگر امکان داره تو تنظیمات بشه رنگ ستون رو تغییر داد عالی میشه اینطور همه یک رنگ ی مقدار سخته ممنون


    پشتیبانی شنبه، ۲۱ اسفند ۱۴۰۰ - ۱۷:۰

    رنگ ستون و بگ گراند رو  می تونید عوض کنید
    بصورت شرطی هم امکانش هست تابع  ColorCondition  برای همین منظور هست



    شایسته شنبه، ۲۱ اسفند ۱۴۰۰ - ۱۷:۹

    میشه الان . من رنگ پیش زمینه رو برای خودم عوض کردم

  • احمد پنج شنبه، ۱۹ اسفند ۱۴۰۰ - ۲۳:۴۷

    این متغیر برای متغیر فاصله با قیمت منصفانه درست نیست ؟ چرا بعضی ها رو 100 درصد نشون میده ؟ "%" +" " +"("+ Math.round(((Option.BlackSholesHV - Option.TI.Sell_1_Price ) / Option.BlackSholesHV)*100) +")"


    شهرزاد جمعه، ۲۰ اسفند ۱۴۰۰ - ۱۵:۲۲

    به این صورت بنویسید

    P1=Option.BlackSholesHV - Option.TI.Sell_1_Price;

    P2=Option.BlackSholesHV;

    if (Option.TI.Sell_1_Price>1) C=100*P1/P2;

    else C=0;

    C.toFixed(1);

     موفق باشید


  • احمد پنج شنبه، ۱۹ اسفند ۱۴۰۰ - ۲۳:۲۸

    سلام چطور میشه مثلا ستونی ایجاد کرد که درصد قیمت پایانی اختیار رو قرار بدید و همزمان بسته به رنگش رنگ بک گراند ستون سبز یا قرمز بشه ؟ برای نمونه عرض کردم


    پشتیبانی شنبه، ۲۱ اسفند ۱۴۰۰ - ۱۷:۸

    درود . تابع ColorCondition برای همین منظور هست

    مستنداتش در قسمت راهنمای فیلترنویسی می تونید مشاهده کنید


  • احمد سه شنبه، ۱۷ اسفند ۱۴۰۰ - ۲۳:۲۷

    سلام اینکه بخوام مثلا نماد هایی رو بیاره که حجمشون بیشتر از 300 باشه اینطور درست نیست ؟؟ Option.Volume > 300


    پشتیبانی چهار شنبه، ۱۸ اسفند ۱۴۰۰ - ۱۱:۳۵

    سلام    برای دسترسی به اطلاعات معاملاتی از TI می بایست برای نماد پایه و قرارداد استفاده کنید . فرم  صحیح : 

    Option.TI.Volume> 300



  • احمد سه شنبه، ۱۷ اسفند ۱۴۰۰ - ۱۳:۱۴

    سلام و احترام برای اینکه ستونی باشد که بلک شولز W_IV نشان دهد و بتوان با عرضه یا تقاضا یا آخرین قیمت مقایسه کرد هنگامی که دیده بان بر اساس هر کدام قرار دادیم از چه فیلتری باید استفاده کرد؟


    پشتیبانی چهار شنبه، ۱۸ اسفند ۱۴۰۰ - ۱۱:۴۶

    با سلام و احترام

    دسترسی به بلک شولز میانگین وزنی  : Option.BlackSholesWIV

    دسترسی به قیمت بر اساس معیار محاسبه که در دیده بان تنظیم کرده اید : ScalePrice(Option.TI)

    این تابع بر اساس معیاری که مشخص کردید قیمت را بر اساس آخرین قیمت، قیمت پایانی، عرضه یا تقاضا برمی گرداند




    احمد جمعه، ۲۰ اسفند ۱۴۰۰ - ۱۴:۴۵

    اگر بخواهیم در محاسبه بلک شولز در ستون نرخ بازدهی به جای 25 عدد دلخواه ما باشد چکار باید کرد و اینکه daily _price_low با min و ماکزیمم ها چه تفاوت با هم دارند؟

  • حسام اسدی دو شنبه، ۱۶ اسفند ۱۴۰۰ - ۱۴:۳۰

    سلام وعرض ادب احتراما میخواهم یک ستون با فرمول زیر داشته باشم .درصورت امکان راهنمایی فرمایید.باتشکر 100*30* تعداد روز تقویمی تاسررسید/{(قیمت پرمیموم_قیمت تابلو)/((قیمت پرمیموم_قیمت تابلو) - قیمت اعمال)}


    شهرزاد دو شنبه، ۱۶ اسفند ۱۴۰۰ - ۲۲:۱۶

    n1= 30*100* (Option.Strike - UA.TI.LastPrice + Option.TI.LastPrice)/((UA.TI.LastPrice -Option.TI.LastPrice)*Option.DaysUntilMaturity)

    ;n1.toFixed(2)


    درود بر شما

    البته سوال شما کامل نیست برای رسیدن به جواب مدنظر باید در فرمول تغییراتی ایجاد کنید

    موفق باشید


  • آرش شاهرخی چهار شنبه، ۱۱ اسفند ۱۴۰۰ - ۱۵:۴۳

    سلام می خواهم یک ستون داشته باشم با فرمول زیر 30*(تعداد روز تقویمی تا سررسید/(قیمت اعمال/( قیمت پرمیموم-قیمت تابلو))) ممنون میشم راهنمایی کنید


    پشتیبانی چهار شنبه، ۱۱ اسفند ۱۴۰۰ - ۲۱:۱۵

    n1= ( ( (UA.TI.LastPrice - Option.TI.LastPrice) / Option.Strike ) / Option.DaysUntilMaturity) * 30;

    n1.toFixed(2);