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

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

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

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

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

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

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

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

جهت دسترسی به اطلاعات معاملاتی، قیمتی، محاسباتی و ... نماد پایه، قراداد و زنجیره قراردادها ها چهار آبجکت اصلی وجود دارد :

  1. نماد پایه UA
  2. قرارداد Option
  3. قراردادهای هم گروه OptionSE()
  4. قرارداد مقابل OptionOS

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

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

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

فیلد توضیح
TI Transaction Info

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

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

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

UA.TI.TValue > 10

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

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

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

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

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

فیلد توضیح فیلد توضیح
TI Transaction Info

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

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

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

Option.TI.LastPrice

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

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

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

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

این فیلد در نماد پایه و قراداد مشترک می باشد و شامل اطلاعات معاملاتی نماد یا قرارداد هست (Transaction Info)

نام فیلد در کد : TI

فیلد توضیح فیلد توضیح
Namad نماد Name نام کامل نماد
LastPrice آخرین قیمت LastPC درصد تغییر آخرین قیمت
LastTransaction زمان آخرین معامله
EndPrice قیمت پایانی EndPC درصد تغییر قیمت پایانی
LastDayPrice قیمت دیروز Transactions تعداد معاملات
Min کمترین قیمت Max بیشترین قیمت
daily_price_low بازه کمترین قیمت daily_price_high بازه بیشترین قیمت
Volume حجم معاملات TValue ارزش معاملات
Ask_1 .. Ask_5 قیمت خرید - سطر اول تا پنجم AskV_1.. AskV_5 حجم خرید - سطر اول تا پنجم
AskC_1 .. AskC_5 تعداد خریدار - سطر اول تا پنجم Bid_1...Bid_5 قیمت فروش - سطر اول تا پنجم
BidV_1...BidV_5 حجم فروش - سطر اول تا پنجم BidC_1...BidC_5 تعداد فروش - سطر اول تا پنجم
اطلاعات حقیقی حقوقی
فیلد توضیح فیلد توضیح
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].TI.Namad;
نام اولین قرارداد طرف مقابل زنجیره OptionSE('', 'os')[0].TI.Namad;
نام اولین قرارداد اختیار خرید زنجیره OptionSE('', 'call')[0].TI.Namad;
نام اولین قرارداد اختیار فروش زنجیره OptionSE('', 'put')[0].TI.Namad;
در صورتی که پارامتر strikeNo مشخص شود یک آبجکت از نوع Option برگردانده می شود و مستقیم می توانید به فیلد های آن دسترسی پیدا کنید.
آخرین قیمت قرارداد طرف مقابل OptionSE(0, 'os').TI.LastPrice;
نام قرارداد با اعمال بالاتر OptionSE(1).TI.Namad;
آخرین قیمت قرارداد با اعمال پایین تر OptionSE(-1).TI.Namad;
قیمت اعمال دومین قرارداد با اعمال بالاتر OptionSE(2).Strike;
مثال
حلقه در کل زنجیره

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

let result = '';

index = 0;

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

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

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

index++;

}

result;

let result = '';

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

{ //if ..

result += ShowDetail(OptionSE()[index].TI.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].TI.Namad == Option.TI.Namad || price <= 1 || comparePrice <= 1) continue;

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

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

if (diff <=10)

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

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

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

if(OptionSE(1) != undefined){

let debit = (Option.TI.Bid_1 - OptionSE(1).TI.Ask_1) * Option.Size;

OptionSE(1).Required_Margin + debit; }

else ''

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

let debit = Option.TI.Bid_1 - OptionSE(1).TI.Ask_1;

Option.Strike + debit; }

else ''

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

let debit = (Option.TI.Bid_1 - OptionSE(1).TI.Ask_1) * Option.Size;

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

else ''

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

let debit = (Option.TI.Bid_1 - OptionSE(1).TI.Ask_1) * Option.Size;

else ''

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

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

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

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

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

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

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

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

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

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

ShowDetail(namad, title);

مثال:

ShowDetail('ضسپا1211');

پارامتر کاربرد اختیاری
namad نماد قراردادی که جزئیات آن نمایش داده می شود خیر
title عنوانی که بجای نام نماد نمایش داده می شود بله
مثال : لینک قرارداد طرف مقابل

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

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

toNumber مبنای محاسبات واحد ریال می باشد این تابع بصورت اتوماتیک مقادیر عددی را به پیش فرض انتخابی شما تبدیل میکند(تومان یا ریال)

toNumber(val, persian = false, comma = false, fixNo = 1)

مثال:

toNumber(1105.12,false, true ) 1,105.1

پارامتر کاربرد اختیاری
val عددی که می خواهید تغییرات روی آن اعمال شود خیر
persian عدد به شکل فارسی نمایش داده شود بله
comma اضافه کردن کاما جهت خوانایی بیشتر عدد در هر سه عدد بله
fixNo تعداد گردن کردن اعشار بله
مثال : محاسبه درصد فاصله سربه سری اختیار خرید با آخرین قیمت پایه با 2 رقم اعشار

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

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

//درصد

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

toNumber(n2, 0, 1, 2);

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

CalcRateChange(n1, n2, fix = 1)

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

CalcRateChange(100,105); 5

CalcRateChange(105,100); -5

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

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');

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

rnwc(x)

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

CalcLeverage(BasePrice, Delta, Premium)

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

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

بله
Delta دلتا

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

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

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

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

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

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

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

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

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.Bid_1, 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

معرفی تابع های پرکاربرد Javascript و Jquery
نام تابع ساختار و توضیح
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

عملگرهای مقایسه ای جهت استفاده در فیلتر

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

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

فیلتری که ایجاد می کنید می بایست یک خروجی درست یا غلط داشته باشد(true,false) . فقط در صورت صحیح (true) بودن شرط سطر که شامل اطلاعات قرارداد و نماد پایه هست نمایش داده میشود

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

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

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

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

!= مخالف

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

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

> بزرگتر

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

CalcLeverage() > 3

< کوچکتر

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

CalcBG().delta < .3

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

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

Option.OpenInterest >= 100

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

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

Option.DaysUntilMaturity <= 7

! نقیض

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

!(CalcBG().delta < .3)

&& و

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

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

|| یا

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

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

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

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

شکل کلی تابع:

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

var bg = CalcBG(param);

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

bg.delta; //دلتا

bg.gamma; //گاما

bg.vega; //وگا

bg.theta; // تتا

bg.rho; //رو

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

پارامترها

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

پارامتر توضیح پیش فرض مقدار دهی و مثال
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.Bid_1};

CalcBG(param).delta;

CalcBG(param).iv;

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

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

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

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

var bg = CalcBG(param);

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

دراین قسمت پیاده سازی ستون و فیلتر برخی از استراتژی ها با مثال توضیح داده شده

توضیح : بمنظور استفاده بهینه و کاربردی از این کد ها می بایست کامل با استراتژی مربوطه و بصورت نسبی با فرمول نویسی آشنا باشید .

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

کاورد کال (Covered Call)

چند نمونه پیاده سازی این استراتژی به همراه فرمول ایجاد ستون و فیلتر را در زیر آوریدیم .

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

توضیح و کد

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

در این حالت هیچ پولی تا زمان سررسید دریافت نمی کنیم، پس مبلغی که در کل بلوکه می کنیم وجه تضمین + مبلغ خرید سهم پایه می باشد

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

var month = 1;
if (Option.DaysUntilMaturity > 30)
month = (Option.DaysUntilMaturity / 30);
month = month.toFixed(1);

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

var b1 = Option.Required_Margin;

مبلغی که بابت خرید سهام پایه پرداخت می کنیم

var b2 = UA.TI.LastPrice * Option.Size;

کل مبلغ بلوکه شده

var block = b1 + b2;

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

var receive = (Option.Strike - UA.TI.LastPrice + Option.TI.Ask_1) * Option.Size;

محاسبه سود ماهاینه

var mp = (receive / block) * 100;
mp = (mp / month).toFixed(1) ;

قرارداد را می فروشیم و سهم پایه رو هم زمان می خریم و وثیقه قرار میدیم

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

محاسبه تعداد ماه مانده تا سررسید مانند بالا

سرمایه درگیر

var block = (UA.TI.LastPrice - Option.TI.Ask_1)* Option.Size;

مبلغ دریافتی در زمان سررسید

var receive = (Option.Strike - UA.TI.LastPrice + Option.TI.Ask_1) * Option.Size;

محاسبه سود ماهاینه

var mp = (receive / block) * 100;
mp = (mp / month).toFixed(1) ;

در هر کدام از موارد بالا می توانیم عبارت را برای مشاهده و تست بصورت ستون ایجاد کنید. برای مثال برای مشاهده تعداد ماه تا سررسید:

var month = 1;
if (Option.DaysUntilMaturity > 30)
month = (Option.DaysUntilMaturity / 30);
month.toFixed(1);

مثال ایجاد فیلتر: در حالت وثیقه نماد پایه شرطی ایجاد کنیم که فقط قراردادهایی که بالای 4 درصد سود ماهیانه می دهند و قیمت اعمال 8 در صد بالاتر از دارایی پایه باشه (جهت اطمینان از در سود ماندن قرارداد)

var con1 = CalcRateChange(Option.Strike, UA.TI.LastPrice) >= 8;
var month = 1;
if (Option.DaysUntilMaturity > 30)
month = (Option.DaysUntilMaturity / 30);
month = month.toFixed(1);
var block = (UA.TI.LastPrice - Option.TI.Ask_1) * Option.Size;
var receive = (Option.Strike - UA.TI.LastPrice + Option.TI.Ask_1) * Option.Size;
var mp = (receive / block) * 100;
mp = (mp / month).toFixed(1) ;
(con1 && mp>=4)

خالی فروشی (Naked Call)

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

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

توضیح و کد

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

var month = 1;
if (Option.DaysUntilMaturity > 30)
month = (Option.DaysUntilMaturity / 30);
month = (month).toFixed(1);

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

var b1 = Option.Required_Margin;

مبلغی که بابت خرید سهام در قیمت اعمال پرداخت می کنیم

var b2 = Option.Strike * Option.Size;

کل مبلغ بلوکه شده

var block = b1 + b2;

مبلغ دریافتی در زمان سررسید

var receive = (Option.TI.Ask_1) * Option.Size;

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

var mp1 = (receive / b1) * 100;
mp1 = (mp1 / month).toFixed(1) ;

محاسبه سود ماهیانه در صورتی که قرارداد در سود بسته بشه

var mp2 = (receive / block) * 100;
mp2 = (mp2 / month).toFixed(1) ;

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

var con1 = CalcRateChange(Option.Strike, UA.TI.LastPrice) < -10; var month = 1;
if (Option.DaysUntilMaturity > 30)
month = (Option.DaysUntilMaturity / 30);
month = (month).toFixed(1);
var b1 = Option.Required_Margin;
var b2 = Option.Strike * Option.Size;
var block = b1 + b2;
var receive = (Option.TI.Ask_1) * Option.Size; var mp2 = (receive / block) * 100;
mp2 = (mp2 / month).toFixed(1) ;
//شرط
(mp2 >1 && con1)

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

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

    سلام و احترام. اگر ممکن باشه این فیلتر رو میخواستم. نقطه سر به سر زیر 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.Bid_1 - Option.TI.Ask_1;

    spread = spread / Option.TI.LastPrice;

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

    if (Option.TI.Bid_1 == 0 || Option.TI.Ask_1 == 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.Bid_1

    2

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





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

    سلام برای استراتژی 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].TI.Namad == Option.TI.Namad || price <= 1 || comparePrice <= 1) continue;

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

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


    if (diff <=10)

    result += "[" + ShowDetail(OptionSE()[i].TI.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.Ask_1 - UA.TI.LastPrice)*Option.Size سلام کد بالا برای ساخت ستون میباشد چرا فقط NAN نمایش داده میشود ممنون میشم از راهنمایی شم


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

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

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

    s=(Option.Strike  +  Option.TI.Ask_1  -  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.BidV_1 > 0 && Option.TI.Bid_1 < intrinsictValue

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

    Option.TI.BidV_1 > 0 && Option.TI.Bid_1 < 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.Bid_1<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.Bid_1>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.Bid_1, 1);


    سعید دو شنبه، ۲۱ آذر ۱۴۰۱ - ۱۴:۱۶

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


  • علی دو شنبه، ۱۴ آذر ۱۴۰۱ - ۱۷:۳۶

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


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

    سلام 

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


  • اسماعیل دو شنبه، ۷ آذر ۱۴۰۱ - ۰:۱۶

    سلام وقتتون بخیر میخواستم در غالب یک ستون آخرین قیمت سهام پایه تقیسم بر اخرین قیمت اختیار معامله رو برای نمادهای معاملاتی نمایش دهد . در واقع میخواهم ببینم برای هر نماد اختیار : آخرین قیمت سهام پایه چند برابر آخرین قیمت اختیار معامله هست.


    پشتیبانی دو شنبه، ۷ آذر ۱۴۰۱ - ۹:۱۹

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

    (UA.TI.LastPrice / Option.TI.LastPrice).toFixed(1)


  • سید صادق چهار شنبه، ۲ آذر ۱۴۰۱ - ۰:۴۹

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

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

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


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

    درود

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


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

    سلام عرض ادب و احترام غیر فعال کردن فیلتر بدون اینکه فیلتر رو حذف کنیم امکان پذیر هست؟تا هر زمان خواستیم مجدد فیلتر رو فعال کنیم.اگر امکان پذیر است لطفا بفرمایید چطور؟


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

    درود
    بله تیک فیلتر رو بردارید غیر فعال میشه


  • باقر شنبه، ۱۴ آبان ۱۴۰۱ - ۲۳:۳۴

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


    پشتیبانی يك شنبه، ۱۵ آبان ۱۴۰۱ - ۱۸:۵۶

    چه فیلتری ؟ بیشتر توضیح بدید



    باقر دو شنبه، ۱۶ آبان ۱۴۰۱ - ۰:۵۹

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


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

    Option.OpenInterest >= 100



    باقر پنج شنبه، ۱۹ آبان ۱۴۰۱ - ۱۴:۴۵

    ممنونم خداخیرت بده

  • باقر شنبه، ۱۴ آبان ۱۴۰۱ - ۲۳:۳۱

    سلام وتشکر ببخشید فیلتر اهرم CalcLeverage() >= 5 به چه معنی هست ممنونم توضیح دهید.


    سینا يك شنبه، ۱۵ آبان ۱۴۰۱ - ۱۸:۵۶

    اهرم آپشن بیشتر یا مساوی 5


  • جمشید خیری سه شنبه، ۱۰ آبان ۱۴۰۱ - ۱۵:۷

    سلام قیمت خرید چه آبجکت یا پراپرتی هستش؟


    شهرزاد چهار شنبه، ۱۱ آبان ۱۴۰۱ - ۹:۳۳


    Option.TI.Ask_1




  • حسن علوی دیلمی پنج شنبه، ۱۴ مهر ۱۴۰۱ - ۱:۴۰

    سلام درصد شکاف چطور محاسبه میشه ؟ ممنونم


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

    درود 

    if (Option.TI.Ask_1>0 && Option.TI.Bid_1>0 ) (100*(Option.TI.Ask_1 - Option.TI.Bid_1)/Option.TI.Ask_1).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.Bid_1>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.Bid_1>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.BidC_1 > 0



  • یوسف پنج شنبه، ۱۱ فروردین ۱۴۰۱ - ۱۴:۲۶

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


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

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



    یوسف جمعه، ۱۲ فروردین ۱۴۰۱ - ۱۳:۱۸

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


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

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


  • صفا چهار شنبه، ۱۰ فروردین ۱۴۰۱ - ۱۹:۳۳

    سلام، فیلتر مثال شما - اختلاف سربسری - را عینا کپی کردم ولی موقع اجرا هم سطرهای با خروجی true و هم خروجی های false نمایش داده میشود. ضمنا جهت مقایسه با تقاضا از چه عبارتی باید استفاده کنیم؟


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

    درود بر شما

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

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

    برای تعریف بر اساس تقاضا از عبارت  Ask_1 به جای قیمت پایانی استفاده بفرمایید.


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

    سلام عرض ادب میشه شکاف درصدی رو طوری محاسبه کرد که اگر سمت منفی بود منفی نشون بده و اگر سمت مثبت بود مثبت ؟ و اینکه میشه رنگ اون رو هم عوض کرد ؟


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

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


  • فاطمه يك شنبه، ۷ فروردین ۱۴۰۱ - ۱۸:۴۳

    نمادهایی را به من نشان بده که قیمت پیشنهادی با قیمت منصفانه نزدیک به هم باشه


    پشتیبانی پنج شنبه، ۱۱ فروردین ۱۴۰۱ - ۱۱:۳۹

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

     CalcRateChange( Option.BlackSholesHV,Option.TI.Bid_1, 1);


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

    let diff =  CalcRateChange( Option.BlackSholesHV,Option.TI.Bid_1, 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.TI.Namad);



  • نرگس دو شنبه، ۲۳ اسفند ۱۴۰۰ - ۱۲:۱۱

    سلام خیلی ممنون از امکانات خوبی که تو سایت قرار میدید. راهی هست که بین قراردادهای یک نماد بتونیم سرچ کنیم مثلا اگه تمام اختیارهای نماد رو بر اساس قیمت اعمال مرتب کنیم (نزولی به صعودی) اولین قرارداد در زیان رو برگردونه. ویه قرارداد با قیمت اعمال بالاتر از اون؟ روی خودرو اگه این فیلتر اجرا بشه ضخود 2019 و ضخود 2018 رو برگردونه


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

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


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

    سلام وعرض ادب احتراما فیلد وجه تضمین چی هست؟


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

    درود بر شما

    Option.Required_Margin



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

    ممنون

  • احمد پنج شنبه، ۱۹ اسفند ۱۴۰۰ - ۲۳:۵۱

    اگر امکان داره تو تنظیمات بشه رنگ ستون رو تغییر داد عالی میشه اینطور همه یک رنگ ی مقدار سخته ممنون


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

    رنگ ستون و بگ گراند رو  می تونید عوض کنید
    بصورت شرطی هم امکانش هست تابع  ColorCondition  برای همین منظور هست



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

    میشه الان . من رنگ پیش زمینه رو برای خودم عوض کردم

  • احمد پنج شنبه، ۱۹ اسفند ۱۴۰۰ - ۲۳:۴۷

    این متغیر برای متغیر فاصله با قیمت منصفانه درست نیست ؟ چرا بعضی ها رو 100 درصد نشون میده ؟ "%" +" " +"("+ Math.round(((Option.BlackSholesHV - Option.TI.Bid_1 ) / Option.BlackSholesHV)*100) +")"


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

    به این صورت بنویسید

    P1=Option.BlackSholesHV - Option.TI.Bid_1;

    P2=Option.BlackSholesHV;

    if (Option.TI.Bid_1>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);