وضعیت بازار
ارزش معاملات سهام
ارزش معاملات اختیار
حجم معاملات اختیار
اطلاعات قیمت

کد تخفیف نوروزی "1403" خرید اشتراک سایت

@Optionbaaz

امروز ساعت 19 الی 21

مسیر رسیدن به سود مستمر
دوره آفلاین آموزش اختیارمعامله و فرمول نویسی
بیش از 15 ساعت ویدیوی آموزشی

مفاهیم پایه و کاربردی آپشن - استراتژی های سود آور برای مبتدیان و حرفه ها - آموزش گام به گام اختیار معامله - فرمول نویسی - فیلتر نویسی - دسترسی نامحدود - پشتیبانی و ..

اطلاعات دوره و ثبت نام

بیشترین ارزش معاملات اختیار معامله
روزانه
هفتگی
ماهیانه
روزانه
هفتگی
ماهیانه
نزدیکترین سررسید دوره های معاملاتی
نماد روز تا سررسید
برترین دارایی های پایه
روزانه
هفتگی
ماهیانه
دریافت و فعال سازی آنلاین کد بورسی و اختیار معامله
ما را در شبکه های اجتماعی دنبال کنید

فرمول نویسی و فیلتر موقعیت های مناسب استراتژی کولار collar

آموزش نحوه ایجاد ستون محاسباتی و فیلتر موقعیت های مناسب بر حسب بازدهی

در این مقاله  توضیحات مربوط به این استراتژی بیان شده است

جهت ایجاد ستون محاسباتی   از قسمت  دیده بان ، ساخت ستون وارد محیط فرمول نویسی می شویم . لازم به ذکر هست شما می توانید بر اساس دید، قدرت ریسک و سود مورد نظرتان این فرمول را تغییر دهید . 

روند کلی به این صورت است که قرارداد که در آن فرمول اجرا می شود به عنوان پوزیشن فروش کال محسوب می شود .جهت دسترسی به  زنجیره قراردادهای پوت از تابع OptionSE و حلقه while استفاده می شود

محاسبه  حداکثر زیان  یا ریسک

( قیمت سهم + پرمیوم خرید پوت ) - قیمت اعمال پوت - پرمیوم فروش کال

let lose = (UA.TI.LastPrice + OptionSE('', 'os')[index].TI.Sell_1_Price) - OptionSE('', 'os')[index].Strike - Option.TI.Buy_1_Price ; 

حداکثر سود

قیمت اعمال قرارداد کال - قیمت اعمال قرارداد پوت - حداکثر ریسک

let profit = (Option.Strike - OptionSE('', 'os')[index].Strike ) - lose;

 ایجاد ستون 


let result = ''; 

let index = -1; 

while (OptionSE('', 'os')[++index] != undefined){ 

let putOption = OptionSE('', 'os')[index];

if (putOption.TI.Sell_1_Volume == 0 || Option.TI.Buy_1_Price == 0)

 continue;


let capital = (UA.TI.LastPrice + putOption.TI.Sell_1_Price) - Option.TI.Buy_1_Price; 

let lose = (UA.TI.LastPrice + putOption.TI.Sell_1_Price) - putOption.Strike - Option.TI.Buy_1_Price ; 

let loseP =  (lose/capital) * 100;

let profit = (Option.Strike - putOption.Strike ) - lose;

let profitP = (profit/capital) * 100;


if (MP(profitP,  Option.DaysUntilMaturity) >0  && Option.Strike > putOption.Strike && Option.Type == 'call'

 ){

let otmInfo = '';

if (Option.Strike > UA.TI.LastPrice)

 otmInfo = Style('OTM', 'orange', '', 'قرارداد در زیان هست - سود در صورت در سود بودن قرارداد محقق می شود'); 


pos.Add('buy', UA.Namad);

pos.Add('sell', Option.Namad, 1, 'buy',false);

pos.Add('buy', OptionSE('', 'os')[index].Namad,1, 'sell');

 result += "[" +ShowDetail(putOption.Namad) + ": " +

Style( MP(loseP ,Option.DaysUntilMaturity), 'red', '', 'حداکثر زیان ماهیانه در صورتی سهم کمتر از ' + CommaSeparator(putOption.Strike) + "شود") 

+ " : " + Style(MP(profitP,  Option.DaysUntilMaturity), 'green')

+ pos.Build('colar ' + Option.Namad) +otmInfo+ "] " ;

}

}

result;

let   capital سرمایه درگیر  را نمایش می دهد

MP تابع تبدیل سود کل به ماهانه است که جزییات را در بخش راهنمای فرمول نویسی بخش تابع های آپشن باز مشاهده نمایید.

از تابع style برای  تغییر رنگ فونت و قراردادن تولتیپ برای متغییر مورد نظر استفاده شده است

تابع CommaSeparator اعداد را با جداکننده برای هر هزارگان نمایش می دهد

تابع  pos.Add  وpos.Build  جهت نمایش ایکن رسم نمودار  استفاده شده


آپشن باز فرمول نویسی و فیلتر موقعیت های مناسب استراتژی کولارcollar


ایجاد فیلتر 

از قسمت دیده بان سایت بخش  ساخت فیلتر کد مربوط را به همراه شروط مورد نیاز خود اضافه کنید

به عنوان مثال در کد زیر تمام شروطی که برای ستون قرار داده شده بود وجود دارد مثل شرط محاسبه فقط برای پوت هایی که اعمال کمتر از کال را دارند انجام شود زیرا استفاده از اعمال مشابه یا بیشتر   تبدیل به استراتژی دیگری می شود و شکل پروفایل ریسک تغییر می کند

let result= false;

let index = -1;

let condition1  = var1 != '' ? var1 : 3;

while (OptionSE('', 'os')[++index] != undefined)

let putOption = OptionSE('', 'os')[index];

let  capital= (UA.TI.LastPrice + putOption.TI.Sell_1_Price) - Option.TI.Buy_1_Price; 

let lose = (UA.TI.LastPrice + putOption.TI.Sell_1_Price) - putOption.Strike - Option.TI.Buy_1_Price;

let loseP =  (lose/capital) * 100;

let profit = (Option.Strike - putOption.Strike ) - lose;

let profitP = (profit/capital) * 100;

if(putOption.TI.Sell_1_Price > 0

 && Option.TI.Buy_1_Price >0

 && MP(profitP,  Option.DaysUntilMaturity) > condition1 

&& putOption.Strike< Option.Strike

Option.Type == 'call'

 ){

result = true;

break;

}

}

result;

با استفاده از متغییر condition1 می توانید بدون  تغییر در کد و از بخش دیده بان سایت فیلد var1  بازدهی را تغییر دهید ., به عنوان مثال در این کد بازدهی های بالای 3درصد فیلتر می شوند و نمایش داده می شود چنانچه تمایل دادشته باشید  قراردادهایی که سود ماهیانه بالای 10درصد فیلتر شوند کافی است از فیلد var1 در دیده بان استفاده کنید و عدد مورد نظر را وارد کنید مطابق تصویر زیر

در مقاله دسترسی و تغییر متغییر از بیرون کد به طور کامل نحوه استفاده از متغییر condition1  توضیح داده شده است




لطفا سوال یا نظر خود را در این قسمت مطرح فرمایید
وارد کردن شماره همراه و ایمیل اختیاری می باشد و فقط جهت اطلاع رسانی از دریافت پاسخ استفاده خواهد شد .

  • احسانی شنبه، ۲۵ شهریور ۱۴۰۲ - ۱۵:۴۳

    سلام چه کد به فرمول ستون اضافه کنم تا قیمت سربه سر استراتژی رو محاسبه کنه و در خروجی عدد سربه سری رو بیاره


    شهرزاد شنبه، ۲۵ شهریور ۱۴۰۲ - ۱۸:۳۰

    در فرمولهای آماده برای ستون کولار، capital نقطه سربه‌سر هم هست



    حمید شنبه، ۲۵ شهریور ۱۴۰۲ - ۲۰:۳۷

    سپاس فراوان