- درصد اختلاف بین سطر اول خرید با بلک شولز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 برای تمیزی کد استفاده شده . راهنمای استفاده از آن را می توانید در بخش تابع های آپشن باز مشاهده کنید .
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;