پارامترهای مورد بررسی در این کد
- حداکثر سود
- درصد افت قیمت سهم از سر به سری کال
- درصد افت قیمت سهم از سر به سری پوت
- درصد رشد سهم تا رسیدن به حداکثر سود ( چنانچه قرارداد پوت در سود باشد و قیمت سهم کمتر از سر به سری
- درصد اختلاف 2 اعمال
شورت استرانگل
کد ستون
let result = '';
let index = 0;
let condition1 = _var1 != '' ? _var1 : 3;
while (optionSE('', 'os')[++index] != undefined)
{
let putOption = optionSE('', 'os')[index];
if (putOption.ti.buy1Volume == 0 || option.ti.buy1Volume == 0)
continue;
//سرمایه درگیر
let blok = putOption.Required_Margin + option.requiredMargin;
//حداکثر سود
let profit = (((putOption.ti.buy1Price + option.ti.buy1Price)* option.size)/blok)*100 ;
let rate = MP(profit , option.daysUntilMaturity);
//سربه سری پوت
let bePut = putOption.Strike - (putOption.ti.buy1Price + option.ti.buy1Price);
let disBePut = calcRateChange(ua.ti.lastPrice , bePut);
//سربه سری کال
let beCall = option.strike + (putOption.ti.buy1Price + option.ti.buy1Price);
let disBeCall = calcRateChange(ua.ti.lastPrice , beCall);
let disStrike = calcRateChange(putOption.Strike , option.strike);
let difUaStrike = calcRateChange(ua.ti.lastPrice , putOption.Strike);
if(putOption.Strike < option.strike && rate > condition1 && option.type == 'call') {
pos.add('sell', option.namad, 1, 'buy');
pos.add('sell', optionSE('', 'os')[index].Namad, 1, 'buy');
result += showDetail(putOption.Namad) + ' : ' + style(rate , 'green' , ' ' , 'حداکثر سود%') + ' [' + style(disBePut , 'LightSalmon' , ' ' , 'افت سهم تا در زیان قرار گرفتن%') + ' , '
+ style(disBeCall , 'LightSalmon' , ' ' , 'رشد سهم تا در زیان قرار گرفتن%') + ' ] ' + style(disStrike , 'black' , ' ' , 'اختلاف 2 اعمال%') ;
if(putOption.State == "ITM" && ua.ti.lastPrice < bePut){
result += showDetail(putOption.Namad) + ' | ' + style(rate , 'green' , ' ' , 'حداکثر سود%') + ' | ' + style(difUaStrike , 'DarkCyan' , ' ' , '%رشد سهم تا رسیدن به حداکثر سود') + ' | '
+ style(disStrike , 'black' , ' ' , 'اختلاف 2 اعمال%') ;}
result += pos.build('شورت استرانگل ' + option.namad);
}
}
result;
فیلتر
کد فیلتر
let result = false;
let index = 0;
let condition1 = _var1 != '' ? _var1 : 3;
while (optionSE('', 'os')[++index] != undefined)
{
let putOption = optionSE('', 'os')[index];
if (putOption.ti.buy1Volume == 0 || option.ti.buy1Volume == 0)
continue;
//سرمایه درگیر
let blok = putOption.Required_Margin + option.requiredMargin;
//حداکثر سود
let profit = (((putOption.ti.buy1Price + option.ti.buy1Price) * option.size)/blok) * 100;
let rate = MP(profit, option.daysUntilMaturity);
if(putOption.ti.buy1Price > 1
&& option.ti.buy1Price > 1
&& putOption.Strike < option.strike
&& option.type == "call"
&& rate > condition1
){
result = true;
break;
}
}
result;