
در حالی که تجارت دستی باید به مقادیر چندین شاخص توجه داشته باشید. این کمی متفاوت از تجارت مکانیکی است. اگر دو یا سه شاخص دارید و یک بازه زمانی برای تجارت انتخاب کرده اید ، این یک کار پیچیده نیست. اما اگر پنج یا شش شاخص داشته باشید و استراتژی تجارت شما نیاز به در نظر گرفتن سیگنال ها در چندین بازه زمانی دارد ، چه کاری انجام خواهید داد؟علاوه بر این ، اگر همزمان با چندین جفت ارز تجارت کنید ، چه اتفاقی خواهد افتاد؟به نظر می رسد که این کار به اندازه کافی پیچیده است و در بیشتر موارد منجر به اشتباه و بنابراین به ضرر می شود.
real_time_multiindicator_v1 به طور خاص برای حل این کارها ایجاد شده است. این شاخص سیگنال های شاخص های انتخاب شده را در چهار بازه زمانی به طور همزمان محاسبه می کند و آنها را به یک جدول در زیر مجموعه نمودار اصلی تبدیل می کند. در براکت ها پس از سیگنال نشانگر می توانید تعداد آخرین میله های متعلق به بازه زمانی انتخاب شده را مشاهده کنید که سیگنال را نشان می دهد.
می توانید پارامترهای شاخص ها را تغییر داده و شاخص های خود را اضافه کنید. اکنون برای تصمیم گیری ، فقط باید به جدول که سیگنال های چهار بازه زمانی جمع آوری می شود ، نگاهی بیندازید.
real_time_multiindicator_v1
شاخص داده ها را در زیر مجموعه جداگانه نمودار نشان می دهد. این نمای خارجی نشانگر است:
در ستون نشانگر می توانید نام شاخص های مورد استفاده را مشاهده کنید ، در براکت ها پارامترهای آنها وجود دارد. در ستون های M15 ، M30 ، H1 ، H4 سیگنال های شاخص های بازه های زمانی مربوطه نمایش داده می شوند. تعداد میله هایی که سیگنال را نشان می دهند نیز نمایش داده می شود. اگر داده های تاریخی بارگیری شده یا از دست رفته باشد ، پیام داده انتظار را برای بازه زمانی مربوطه مشاهده خواهید کرد. اگر ترمینال به اینترنت وصل شود ، داده های لازم در چند ثانیه بارگیری می شوند.
لطفاً توجه داشته باشید که قیمت متوسط (بالا+پایین)/2 برای همه شاخص ها استفاده می شود. این می تواند با مقادیر پیش فرض متفاوت باشد. اگر نشانگر را به نمودار وصل کنید یا اگر بزرگنمایی نمودار اصلی را تغییر دهید ، جدول با داده ها می تواند پخش شود یا کوچک شود. گیج نشویدپس از آمدن کنه جدید ، جدول منظره ای عادی خواهد داشت. اگر ترمینال به اینترنت متصل نیست ، بعد از بزرگنمایی نمودار موارد زیر را انجام دهید: بازه زمانی را تغییر دهید ، به عنوان مثالH1 تا H4 و برعکس ، و جدول منظره ای طبیعی خواهد داشت.
برای استفاده از نشانگر ، باید پرونده real_time_multiindicator_v1. mq4 را در پوشه با نشانگر ترمینال متخصصان شاخص ها بارگیری کنید و مجدداً ترمینال را دوباره تنظیم کنید. برای پیوستن به نشانگر بخش "شاخص های کاربر" را در "Navigator" انتخاب کنید ، سپس به REAL_TIME_MULTIINDICATOR_V1 بروید. سپس در منو

می توانید رنگ جدول (tcolor) ، رنگ متن (txtcolor) و همچنین پارامترهای شاخص های مورد استفاده را انتخاب کنید. اگر می خواهید پارامترهای شاخص ها را تغییر دهید ، باید موارد زیر را انجام دهید: روی نمودار اصلی راست کلیک کرده و دستور "لیست شاخص ها" را انتخاب کنید یا از دکمه های Ctrl+i استفاده کنید ،

سپس real_time_multiindicator_v1 را انتخاب کرده و روی دکمه "Properties" کلیک کنید. تغییر پارامترهای شاخص ها بسیار دشوار نیست ، در حالی که اضافه کردن یک شاخص جدید ، تلاش و دانش MQL4 را در سطح ورود انجام می دهد.
اضافه کردن یک نشانگر جدید در جدول
من سه خط آخر جدول نشانگر را پر نکرده ام تا بتوانید نشانگرهایی را که استفاده می کنید یا مواردی که خودتان نوشتید اضافه کنید. من سعی کردم الگوریتم محاسبه و تبدیل داده ها را تا حد امکان به جدول تبدیل کنم. علاوه بر این ، من قطعات کد را با نظرات در برنامه منبع ترک کردم تا هرکسی که MQL4 را در سطح ورودی بشناسد ، می تواند شاخص ها را به جدول اضافه کند بدون اینکه جزئیات عملکرد الگوریتم را بررسی کند.
با استفاده از مثال شاخص شاخص کانال کالا ، الگوریتم اضافه کردن یک شاخص جدید را به جدول به شما نشان می دهم. لطفاً توجه داشته باشید که من سیگنال های این شاخص را به روش زیر تفسیر می کنم: مقدار شاخص 0 - سیگنال خرید و برعکس. این تفسیر کمی متفاوت از کلاسیک است ، اما من این کار را با هدف انجام می دهم تا توضیحات الگوریتم را آسان تر کنم. علاوه بر این می توانید سیگنال ها را به راحتی خود تفسیر کنید.
بخش "شاخص های کاربر" را در "Navigator" انتخاب کنید ، سپس به REAL_TIME_MULTIINDICATOR_V1 بروید و روی دکمه "تغییر" کلیک کنید.
سپس ما در کد منبع تغییراتی ایجاد خواهیم کرد:
// ---- پارامترهای شاخص ها بیرونی رشتهP1 ="پارامترهای SAR"; بیرونی دو برابرsar_step =0. 01; بیرونی دو برابرsar_max =0.1; بیرونی رشتهP2 ="پارامترهای MACD"; بیرونی در نظر گرفتنfast_ema =12; بیرونی در نظر گرفتنآهسته_ما =26; بیرونی در نظر گرفتنmacd_sma =9; بیرونی رشتهp3 ="حرکت پارامترهای متوسط"; بیرونی در نظر گرفتنfast_ma =5; بیرونی در نظر گرفتنآهسته_ما =10; بیرونی رشتهp4 ="پارامترهای ADX"; بیرونی در نظر گرفتنadx_period =14; // Exte String p5 = "پارامترهای شاخص 1" ؛ // Exte String p6 = "پارامترهای شاخص 2" ؛ // Exte String p7 = "پارامترهای شاخص 3" ؛
در این قطعه باید نظرات را در خط با متن "پارامترهای شاخص 1" حذف کرده و نام CCI را اضافه کنید. در نتیجه شما خواهید داشت:
بیرونی رشتهp5 ="پارامترهای CCI";
سپس پارامتر نشانگر CCI را اضافه کنید - دوره:
بیرونی رشتهp5 ="پارامترهای CCI"; بیرونی در نظر گرفتندوره_ cci =14;
رشتهنام [] = "sar parabolic","MACD","сrossing ma","ADX","","","">;
نام شاخص را برای نمایش در جدول اضافه کنید:
رشتهنام [] = "sar parabolic","MACD","сrossing ma","ADX","CCI","","">;
سپس در بلوک اولیه سازی نشانگر
در نظر گرفتنinit ()<رشتهsn ="real_time_multiindicator_v1"; نام شاخص(SN) ؛setindexlabel(0، sn) ؛نام[0] = نام [0] + "(" + دو برابر کردن(sar_step ،2) + ", " + دو برابر کردن(sar_max ،2) + ")"؛نام[1] = نام [1] + "(" + دو برابر کردن(fast_ema ،0) + ", " + دو برابر کردن(آهسته_ما ،0) + ", " + دو برابر کردن(MACD_SMA ،0) + ")"؛نام[2] = نام [2] + "(" + دو برابر کردن(fast_ma ،0) + ", " + دو برابر کردن(آهسته_ما ،0) + ")"؛نام[3] = نام [3] + "(" + دو برابر کردن(adx_period ،0) + ")"; // نام [4] = نام [4] + "(" + // DoubleToStr (پارامتر اول شاخص 1 ، 0) + // "،" + DoubleToStr (پارامتر 2 شاخص 1 ، 0) + ")" ؛ // نام [5] = نام [5] + "(" + // DoubleToStr (پارامتر اول شاخص 2 ، 0) + // "،" + DoubleToStr (پارامتر 2 شاخص 2 ، 0) + ")" ؛ // نام [6] = نام [6] + "(" + // DoubleToStr (پارامتر اول شاخص 3 ، 0) + // "،" + DoubleToStr (پارامتر 2 شاخص 3 ، 0) + ")" ؛ برگشت(0);>ما نظرات را در خط حذف می کنیم
// نام [4] = نام [4] + "(" + // DoubleToStr (اولویت اول شاخص 1 ، 0) + // "،" + DoubleToStr (پارامتر 2 شاخص 1 ، 0) + ")" ؛و تغییرات زیر را ایجاد کنید:
نام[4] = نام [4] + "(" + دو برابر کردن(دوره_ cci ،0) + ")";سپس نظرات را از این بلوک حذف کنید:
/* //+------------------------------------------------------------------------+ // |عملکرد 1 |//+----------------------------------------------------------------------------+ عملکرد رشته (Int P)دیگر>*/
به جای کلمه "تابع" نام عملکرد را بنویسید ، به عنوان مثالCCI:
رشتهCCI (در نظر گرفتنپ)
اکنون به جای "شرط برای شاخص - درست - فروش ، کاذب - خرید" شرط خرید سیگنال برای نوار فعلی (صفر) را بنویسید:
عکسبرداری(خالی، P ، PRION_CCI ،قیمت_دانه, 0) <0
سپس ، به جای خط "شرط فروش" شرط خرید سیگنال و برای محاسبه تعداد میله های فرآوری شده که این سیگنال را نشان می دهد:
در حالی که(عکسبرداری(خالی، P ، PRION_CCI ،قیمت_دانه، ii)<0)
II - تغییر در اشاره به نوار فعلی است. به همین ترتیب خط "در حالی" (شرط خرید) را به تغییر دهید
در حالی که(عکسبرداری(خالی، P ، PRION_CCI ،قیمت_دانه, ii)> 0)
در نتیجه می بینیم:
رشتهCCI (در نظر گرفتنپ)<در نظر گرفتنii =1; if(عکسبرداری(خالی، P ، PRION_CCI ،قیمت_دانه, 0) <0) <در حالی که(عکسبرداری(خالی، P ، PRION_CCI ،قیمت_دانه، ii)<0) II ++ ؛if(خطا (ص ، II +1) == 1) برگشت("داده های انتظار"); برگشت("فروش (" + دو برابر کردن(ii ،0) + ")");> دیگر <در حالی که(عکسبرداری(خالی، P ، PRION_CCI ،قیمت_دانه, ii)> 0) II ++ ؛if(خطا (ص ، II +1) == 1) برگشت("داده های انتظار"); برگشت("خرید (" + دو برابر کردن(ii ،0) + ")");>>اگر می خواهید سیگنال ها را از سطح 100 و-100 بشمارید ، و دامنه (-100 ؛ 100) را به عنوان سیگنال خرید یا فروش تفسیر نکنید ، باید برای فروش و خرید 0 ب ه-100 و 100 تغییر دهیدبه ترتیب و اضافه کردن خط بعدی برای نمایش واقعیت عدم اطمینان در جدول:
if(عکسبرداری(خالی، P ، PRION_CCI ،قیمت_دانه, 0)> -100) && عکسبرداری(خالی، P ، PRION_CCI ،قیمت_دانه, 0) <100)) برگشت("n/a");رشتهCCI (در نظر گرفتنپ)<در نظر گرفتنii =1; if((عکسبرداری(خالی، P ، PRION_CCI ،قیمت_دانه, 0)> -100) && (عکسبرداری(خالی، P ، PRION_CCI ،قیمت_دانه, 0) <100) ) برگشت("n/a"); if(عکسبرداری(خالی، P ، PRION_CCI ،قیمت_دانه, 0) <100) <در حالی که(عکسبرداری(خالی، P ، PRION_CCI ،قیمت_دانه، ii)<100) II ++ ؛if(خطا (ص ، II +1) == 1) برگشت("داده های انتظار"); برگشت("فروش (" + دو برابر کردن(ii ،0) + ")");> دیگر <در حالی که(عکسبرداری(خالی، P ، PRION_CCI ،قیمت_دانه, ii)> 100) II ++ ؛if(خطا (ص ، II +1) == 1) برگشت("داده های انتظار"); برگشت("خرید (" + دو برابر کردن(ii ،0) + ")");>>حال ما باید نتایج محاسبه را به جدول تبدیل کنیم. ما موارد زیر را انجام می دهیم: قطعه کد را در متن برنامه پیدا کنید
/*//----------خط پنجمبرای (i = 1 ؛ i */
و نظرات را از آن حذف کنید. از آنجا که مختصات نمایش متن به طور جداگانه محاسبه می شود ، پر کردن جدول با استفاده از چرخه امکان پذیر است. شما باید عملکردی را تنظیم کنید که نتایج را محاسبه می کند. سپس نام عملکرد را به جای کلمه "عملکرد" بنویسید. اکنون ما داریم:
// ---------- خط پنجم برای(من =1؛ i4؛ i ++)<هدف اصلی("6" + دو برابر کردن(من،0)); اشخاص("6" + دو برابر کردن(من،0), OBJ_TEXT, پنجره("real_time_multiindicator_v1") ، متن [i+1] ، textc [5]); متن("6" + دو برابر کردن(من،0) ، CCI (در هر [i-1]), 13, "تاهوما", TxtColor);>سپس بر روی دکمه "کامپایل" کلیک کنید. به ترمینال بروید و شاخص را به نمودار وصل کنید. در نتیجه ما:
اگر می خواهید بازه های زمانی را که مقادیر شاخص ها در آن شمارش شده است تغییر دهید ، باید موارد زیر را انجام دهید: در خط:
در نظر گرفتنper [] = 15,30,60,240>;
مقدار دقیقه را برای بازه زمانی که انتخاب کرده اید وارد کنید ، به عنوان مثال:
در نظر گرفتنper [] = 5,30,60,240>;
و در خط:
رشتهنام ها [] = "شاخص","M15","M30","H1","H4">
شما باید نام آن را وارد کنید:
رشتهنام ها [] = "شاخص","M5","M30","H1","H4">;
و برای کامپایلبالاخره ما داریم:
اشکال زدایی پارامترها در تاریخ
شاخص توصیف شده فقط در حالت آنلاین قابل استفاده است. دلیل آن این است که در حالی که آزمایش در حالت تجسم ، نشانگر مقادیر کافی را فقط در بازه زمانی فعلی نشان می دهد. این ویژگی ترمینال و تستر است. اگر می خواهید پارامترهای شاخص ها را اشکال بزنید یا هنگام آزمایش تجسم در تاریخ ، استراتژی خود را آزمایش کنید ، پیشنهاد می کنم که باید از Real_Time_Multiexpert_v1 استفاده کنید. توابع انجام شده توسط real_time_multiindicator_v1 و real_time_multiexpert_v1 کاملاً یکسان هستند. کد منبع آنها یکسان است ، و ایجاد تغییر در کد متخصص ، الگوریتم مشابهی با ایجاد تغییر در کد شاخص دارد. برای استفاده از متخصص ، باید Real_Time_Time_Multiexpert_v1 را بارگیری کنید. پرونده MQ4 به پوشه ترمینال متخصصان شاخص ها و راه اندازی مجدد ترمینال.
برای استفاده از real_time_multiexpert_v1 شما باید با نام "real_time_multiexpert_v1" با نشانگر "real_time_multiindicator_v2" ضمیمه شده به نمودار ، الگویی بسازید. وظیفه شاخص "Real_Time_Multiindicator_v2" ساخت یک زیر مجموعه با بزرگنمایی در نمودار اصلی است. سپس شما باید در قسمت "Advisor" تستر ، real_time_multiexpert_v1 را انتخاب کنید و گزینه "All Ticks" را در قسمت "مدل" انتخاب کنید ، در غیر این صورت نشانه های مشاور در نوار فعلی (صفر) می تواند با واقعی متفاوت باشدوضعیت چیزها ، اما در کل نشانه ها صحیح خواهد بود.
فراموش نکنید که روی دکمه Shift Automatic کلیک کنید:
سپس گزینه "تجسم" را انتخاب کرده و روی دکمه "شروع" کلیک کنید.
در پنجره Real_Time_MultiIndicator_v2 جدول را با سیگنال های شاخص ها مشاهده خواهید کرد. شما می توانید هر بازه زمانی را برای آزمایش انتخاب کنید ، زیرا مقادیر شاخص ها به آن بستگی ندارند. تفاوت زیادی بین متخصص توصیف شده و نشانگر وجود ندارد ، بنابراین می توانید آنچه را که دوست دارید انتخاب کنید. به نظر من استفاده از شاخص در حالت آنلاین راحت تر است.
نتیجه
در مقاله ما یکی از روشهای جمع آوری و سازماندهی اطلاعات مهم در مورد وضعیت بازار ، -سیگنال های چندین شاخص از چهار بازه زمانی را مورد بحث قرار دادیم. از این روش می توان برای حل طیف گسترده ای از کارها استفاده کرد. با استفاده از برنامه های توصیف شده می توانید پارامترهای لازم را برای شاخص هایی که هنگام آزمایش در نقل قول های تاریخ استفاده می کنید ، انتخاب کنید. این شاخص با هدف استفاده برای تجارت دستی است.
تجارت با گزینههای باینری...
ما را در سایت تجارت با گزینههای باینری دنبال می کنید
برچسب :
نویسنده : حمیدرضا پگاه
بازدید : 34
تاريخ : چهارشنبه
4 مرداد
1402 ساعت: 15:33