جهت نوشتن فرمول و فیلتر به
صفحه دیده بان رفته سپس بر روی
ساخت ستون یا ساخت فیلتر کلیک کنید.
نام ستون یا فیلتر را مشخص، کد را در قسمت
ادیتور نوشته و در نهایت جهت مشاهده نتیجه بر روی
ذخیره کلیک کنید .
درصد اختلاف بین سطر اول خرید با بلک شولزhv
به منظور محاسبه درصد اختلاف از تابع CalcRateChange که در راهنمای فرمول نویسی بخش تابع های آپشن باز توضیحات ان بیا شده است استفاده کنید
CalcRateChange( Option.BlackSholesHV,Option.TI.Buy_1_Price, 1);
محاسبه سر به سری و درصد اختلاف با اخرین قیمت سهم پایه
let n = 0;
if ( Option.TI.Sell_1_Price > 1 && Option.Type == "call" ) n= Option.Strike + Option.TI.Sell_1_Price;
else n= Option.Strike - Option.TI.Sell_1_Price;
CalcRateChange(UA.TI.LastPrice,n);
در صورتی بخواهید محاسبات سر به سری با تغییر مبنای محاسبات سایت(اخرین قیمت ، پایانی و...) تغییر دهید
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);
beDiff;
توضیحات مربوط به ScalePrice در راهنمای فرمول نویسی بخش تابع های آپشن باز مطالعه نمایید
محاسبه شکاف
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;
نمایش 2 یا چند خروجی در یک ستون بصورت خطی و مجزا
به عنوان مثال برای دو خروجی A و B به این صورت Result= A + ":" + B;
نمایش ارزش ذاتی و درصد اختلاف پرمیوم با ارزش ذاتی
result ='';
var intrinsictValue = 0;
if (Option.State == "ITM") {
if (Option.Type == "call") intrinsictValue = UA.TI.LastPrice - Option.Strike;
else intrinsictValue = Option.Strike - UA.TI.LastPrice;
}
var b = CalcRateChange(intrinsictValue, Option.TI.LastPrice);
result = intrinsictValue+ ' : ' + b ;
نمایش 2 یا چند خروجی در یک ستون هر کدام در یک خط
از کدهای html برای این منظور مانند <p> یا </br> و .. می توانیم استفاده کنیم .
در مثال زیر می خواهیم 2 قرارداد قبل و بعد قرارداد فعلی را به همراه لینک نمایش در یک خط نمایش دهیم
let result= '';
for(index = -2; index <= 2 ; index++)
{
if (index == 0) continue;
if (OptionSE(index) != undefined )
result += '<p>{0}: {1} </p>'.format(index, ShowDetail(OptionSE(index).Namad ));
}
result;
از تابع format برای تمیزی کد استفاده شده .
با از استفاده از <br>
let result= '';
for(index = -2; index <= 2 ; index++)
{
if (index == 0) continue;
if (OptionSE(index) != undefined )
result += index +""+ ShowDetail(OptionSE(index).Namad ) + '<br>';
}
result;
محاسبه ارزش ذاتی
var intrinsictValue = 0;
if (Option.State == "ITM") {
if (Option.Type == "call")
intrinsictValue = UA.TI.LastPrice - Option.Strike;
else intrinsictValue = Option.Strike - UA.TI.LastPrice;
}
intrinsictValue;
محاسبه اهرم
از تابع CalcLeverage استفاده میکنیم (مشاهده توضیحات در راهنمای فرمول نویسی بخش تابع های آپشن باز )
CalcLeverage(UA.TI.Lastprice, CalcBG().delta, ScalePrice(Option.TI));
ستون کال اسپرد صعودی جهت نمایش درصد سود ماهانه به همراه درصد اختلاف اعمال از سهم پایه و نمودار استراتژی
let result = '';
let index = -1;
let condition1 = var1 != '' ? var1 : 2;
let condition2 = var2 != '' ? var2 : 10;
while ( OptionSE(++index) != undefined ){
if (OptionSE(index).TI.Buy_1_Volume == 0 || Option.TI.Buy_1_Volume == 0)
continue;
//سرمایه درگیر
let debit = (Option.TI.Sell_1_Price - OptionSE(index).TI.Buy_1_Price) * Option.Size;
// دریافتی در اعمال
let profit = ((OptionSE(index).Strike - Option.Strike) *Option.Size) - debit;
let yCapital = MP(((profit / debit) * 100) , Option.DaysUntilMaturity);
//درصد اختلاف
let disStrike = CalcRateChange(UA.TI.LastPrice ,OptionSE(index).Strike );
if (yCapital >=condition1 && disStrike > condition2 && disStrike>0 && Option.TI.Sell_1_Price > 0 && OptionSE(index).TI.Buy_1_Price > 0 ){
pos.Add('buy', Option.Namad,1, 'sell');
pos.Add('sell', OptionSE(index).Namad, 1, 'buy', false);
result +=ShowDetail(OptionSE(index).Namad) + ' : ' + Style(yCapital , 'green' , ' ' , 'درصد حداکثر سود') + ' : ' + Style(disStrike , 'DarkOrange' );
result += pos.Build('اسپرد ' + Option.Namad);
}
}
result;