// تعریف متغیرهای اولیه
let strategyDetails = '';
let optionIndex = -1;
// تنظیم پارامترهای استراتژی
// maxTotalCost: حداکثر هزینه قابل قبول برای استراتژی (پیشفرض: 500)
let maxTotalCost = _var1 != '' ? _var1 : 500;
// maxStrikeDifference: حداکثر درصد اختلاف بین قیمتهای اعمال (پیشفرض: 20)
let maxStrikeDifference = _var2 != '' ? _var2 : 20;
// بررسی تمام قراردادهای پوت موجود
while (OptionSE('', 'os')[++optionIndex] != undefined) {
let putContract = OptionSE('', 'os')[optionIndex];
// رد کردن قراردادهای بدون حجم یا قیمت فروش
if (putContract.TI.Sell_1_Volume == 0 || Option.TI.Sell_1_Price == 0)
continue;
// محاسبه پارامترهای استراتژی
// totalCost: مجموع قیمت خرید کال و پوت
let totalCost = (putContract.TI.Sell_1_Price + Option.TI.Sell_1_Price);
// محاسبه نقطه سر به سری پوت
let putBreakEven = putContract.Strike - totalCost;
// محاسبه درصد فاصله قیمت فعلی تا نقطه سر به سری پوت
let putBreakEvenDistance = CalcRateChange(UA.TI.LastPrice, putBreakEven);
// محاسبه نقطه سر به سری کال
let callBreakEven = totalCost + Option.Strike;
// محاسبه درصد فاصله قیمت فعلی تا نقطه سر به سری کال
let callBreakEvenDistance = CalcRateChange(UA.TI.LastPrice, callBreakEven);
// محاسبه درصد اختلاف بین قیمتهای اعمال
let strikePriceDifference = CalcRateChange(putContract.Strike, Option.Strike);
// بررسی شرایط استراتژی لانگ استرانگل
if (putContract.Strike < Option.Strike &&
Option.Type == "call" &&
strikePriceDifference < maxStrikeDifference &&
totalCost < maxTotalCost) {
// اضافه کردن موقعیتهای خرید
pos.Add('buy', Option.Namad, 1, 'sell');
pos.Add('buy', OptionSE('', 'os')[optionIndex].Namad, 1, 'sell');
// ساخت متن نتیجه با جزئیات
strategyDetails += ShowDetail(putContract.Namad) + ' : ' +
Style(-totalCost, 'red', ' ', ' هزینه پرداختی') +
' [' + Style(putBreakEvenDistance, 'DarkCyan', ' ', 'افت سهم تا درسود قرار گرفتن%') +
' , ' + Style(callBreakEvenDistance, 'DarkCyan', ' ', 'رشد سهم تا درسود قرار گرفتن%') +
'] ' + Style(strikePriceDifference, 'black', ' ', 'درصد اختلاف 2 اعمال') +
' : ' + pos.Build('لانگ استرانگل ' + Option.Namad);
}
}
// نمایش نتیجه نهایی
strategyDetails;