// متغیر نتیجه نهایی را خالی تعریف میکنیم
let result = '';
// محاسبه سرمایه بلوکه شده: (قیمت سهم - قیمت اختیار) × اندازه قرارداد
let block = (UA.TI.LastPrice - Option.TI.Buy_1_Price) * Option.Size;
// محاسبه مبلغ دریافتی در سررسید
let receive = (Option.Strike - UA.TI.LastPrice + Option.TI.Buy_1_Price) * Option.Size;
// محاسبه سود ماهیانه
var mp = MP((receive / block) * 100, Option.DaysUntilMaturity);
// اضافه کردن موقعیتها
pos.Add('buy', UA.Namad);
pos.Add('sell', Option.Namad, 1, 'buy', false);
// محاسبه سرمایه درگیر
let ci = UA.TI.LastPrice * Option.TI.Buy_1_Volume * Option.Size;
// محاسبه نسبت پوشش سرمایه
let ccr = (Option.TI.Buy_1_Price / UA.TI.LastPrice) * 100;
// ساخت متن اطلاعات تکمیلی
let moreInfo = " [" + Style('CI: ', 'blue', '', 'سرمایه درگیر') + rnwc(ci) + " ]";
moreInfo += " [" + Style('CCR: ', 'blue', '', 'نسبت پوشش سرمایه') + ccr.toFixed(1) + " ]";
// بررسی شرایط مختلف
if (Option.Type == 'put') result = '';
else if (Option.Strike > UA.TI.LastPrice && Option.TI.Buy_1_Price > 0 && mp > 0) {
mp2 = MP((Option.TI.Buy_1_Price * Option.Size / block) * 100, Option.DaysUntilMaturity);
result = mp + " " + Style('ITM', 'green', '', 'درصد سود در صورتی که قرارداد اعمال شود')
+ "(" + Style('OTM:', 'LightSalmon', '', 'درصد سود در صورتی که قرارداد در زیان باقی بماند') + mp2 + ")"
+ " [" + Style('to ITM:', 'DarkCyan', '', 'درصد فاصله تا در سود قرار گرفتن قرارداد')
+ CalcRateChange(UA.TI.LastPrice, Option.Strike) + " ]"
+ moreInfo
+ pos.Build('کاور وثیقه ' + Option.Namad);
}
else if (Option.TI.Buy_1_Price > 0 && mp > 0) {
let zp = CalcRateChange(UA.TI.LastPrice, UA.TI.LastPrice - Option.TI.Buy_1_Price);
let toOTM = CalcRateChange(UA.TI.LastPrice, Option.Strike);
result = mp + " ["
+ Style('OTM:', 'Crimson', '', 'درصد ریزش نماد پایه تا قیمت اعمال') + toOTM + " ] ";
result += " [" + Style('Lose: ', 'red', '', 'درصد ریزش نماد پایه تا سربه سری') + zp + " ] ";
result += moreInfo + pos.Build('کاور وثیقه ' + Option.Namad);
}
else result = '';
result;