نشانگر MQL4 Multi-TimeFrame

ساخت وبلاگ

من می خواهم یک نشانگر را بنویسم که می تواند تغییر INT یک بازه زمانی اختصاص داده شده را وارد کند و مقدار مربوط به بازه زمانی دیگر را مشخص کند. به عنوان نمونه ، من می خواهم یک شاخص MACD را در طی 100 دوره M15 بنویسم ، که می تواند ارزش آن را 1،2،3،4،5،6،7 بازگرداند. دقایقی قبل از شمع فعلی. از آنجا که در شمع فعلی ، این شاخص "تغییر" مقدار آن را تغییر می دهد ، با تیک تیک ، فکر می کنم که برای نوشتن چنین نشانگر ممکن است ، اما نمی توانم بفهمم چگونه این کار را انجام دهم.

دنبال کردن از 12 نوامبر 2017 در 22:11 پرسید پرجلیو 91 3 3 نشان نقره 12 12 نشان برنز

و تاکنون چه چیزی را امتحان کرده اید؟در ساختهای قدیمی MQL4/MT4 ، در مورد داشتن رفتار صحیح چند زمان در داخل تستر استراتژی Metatrader Terminal 4 مشکلی وجود داشت ، بنابراین ، در واقع ، این یک منطقه خطرناک است اگر سعی در طراحی برنامه های قوی برای ورود به [تولید] داشته باشد.

13 نوامبر 2017 در 7:36

من فقط باید مقدار AF را یک شاخص در یک شبکه زمانی که دارای وضوح پایین تر از بازه زمانی فعلی است که در آن نشانگر محاسبه می شود ، به یاد بیاورم. یعنیمن باید از چیزی بپرسم که آیا MACD بیش از 100 دوره M15 کمتر از ارزش 7 دقیقه قبل است ، از کاری که انجام می شود. در حال حاضر من شاخص های موجود در کد خود را با استفاده از ICUSTOM به یاد می آورم ، اما تغییر INT مربوط به چهارچوب زمانی را که در آن نشانگر سفارشی مشخص شده را محاسبه می کند ، وارد می کند.

13 نوامبر 2017 در 10:31

من می خواهم یک نشانگر سفارشی بنویسم تا بتوانم آن را در نمودارها وارد کنم و به عنوان مثال در نمودارهای M15 روند نشانگر MACD را که بیش از 100 دوره M30 محاسبه می کند ، ببینم

13 نوامبر 2017 در 10:31 مطمئناً ، راه حل در زیر شرح داده شده است. 13 نوامبر 2017 در 10:33

2 پاسخ 2

مرتب شده توسط: تنظیم مجدد به طور پیش فرض

زبان MQL4 در اصل ابزارهایی برای این کار دارد:

با این حال ، همانطور که در بالا ذکر شد ، آزمایش شما به اعتبارسنجی کاملی نیاز دارد ، زیرا ساختهای قبلی این محیط را در محیط اکتشافی کد [MT4-Strategy] پشتیبانی نمی کنند (و تغییرات اخیر به New- MQL4. 56789 محدودیت عملکرد را برای همه ویران کرده است[CustomIndicators] ، All [MT 4-Graph] -Gu i-S به علاوه همه [مشاور متخصص] استفاده می کنند ، زیرا همه اینها ناگهان یک موضوع محاسباتی (بله ، یک و تنها) را به اشتراک می گذارند.

خوب ، به شما اخطار داده شده است: O)

بنابراین ، اگر در واقع علاقه مند به تجهیز [CustomIndicator] خود به گونه ای باشد که مستقل از GUI-Native-Timeframe باشد ، تمام محاسبات شما در چنین کد [CustomIndicator] باید از نوک های دسترسی غیرمستقیم برای تهیه داده های قیمت گذاری استفاده کند-بنابراین هرگز از آن استفاده نکنید-این ها داده ها را مستقیماً انجام می دهند ، اما فقط با استفاده از

همه این ابزارهای دسترسی از نظر مفهومی امضای مشترکی دارند:

Double Ilow (نماد رشته ، // نماد int Timeframe ، // Timeframe int Shift // Shift) ؛ 

و اگر کد شما از این وظیفه پیروی می کند ، [CustomIndicator] شما (IFF THE StrategyTester در نهایت بازی را خراب نمی کند - به دلیل آزمایش کمیت این موضوع را نشان می دهد) با داده های زمانی و تغییر آرزوی شما با داده ها کار می کند.

اظهارات اجرای:

کد [CustomIndicator] شما باید به طور مستقل "غیر Gui-Shift" را به طور مستقل از GUI-Native-Timeframe Shift-Counting پیاده سازی کند. برای الهام بخش یک الگوی امضاء ICUSTOM () را ببینید. تغییر Gui-Timeframe-مانند حرکت خط خط بر روی صفحه GUI ، یعنی در مراحل Gui-Timeframe ، با در نظر گرفتن مقادیر [CustomIndicator] "داخلی"-"غیر GUI-SHIFT" ، بنابراین خودکد باید باهوش تر باشد ، به گونه ای که این "داخلی"-"غیر Gui-Shift" را در طی یک تولید ارزش پردازش کند. در صورت شک و تردید ، در طول نمونه سازی ، "مکانیک" مناسب را به موقع تأیید کنید [Ashiftintended] در مقابل itime (_symbol ، perio_intended ، Ashiftintended)

با توجه به نکات بسیار زیادی ، که در آن یک تماس ICUSTOM () تماس ممکن است کمی گمراه کننده باشد ، یا یک خطای مدیریت تغییر در تغییر تجدید نظر ، ما به استفاده از یک الگوی رسمی برای هر کد [نشانگر سفارشی] استفاده می کنیم. برای حفظ یکپارچگی مرجع با استفاده از ICUSTOM () در کد واقعی [ExpertAdvisor]. ممکن است کمی گنگ به نظر برسد ، اما کسانی که انسان را در جستجوی یک اشکال در جستجوی یک اشکال گذرانده اند-تغییر در تماس با تماس ، این ممکن است به یک نجات دهنده زندگی تبدیل شود.

ما رابط فراخوان را به گونه ای رسمی می کنیم که این بخش ، که در کد [CustomIndicator] نگهداری می شود ، همیشه می تواند در کد [ExpertAdviser] کپی شود ، به طوری که می توان ICUSTOM ()-مسابقه را بازرسی کرد.

//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv //. //. //---- indicator parameters ------------------------------------------------- // POSITIONAL ORDINAL-NUMBERED CALLING INTERFACE // all iCustom() calls MUST BE REVISED ON REVISION //. //. #define XEMA_CUSTOM_INDICATOR_NAME "EMA_DEMA_TEMA_XEMA_wShift" // this. //--- input parameters ------------------------------------------------------ iCustom( ) CALL INTERFACE input int nBARs_period = 8; exte double MUL_SIGMA = 2.5; sinput ENUM_APPLIED_PRICE aPriceTYPE = PRICE_CLOSE; exte int ShiftBARs = 0; //. //. //. /* = iCustom( _Symbol, PERIOD_CURRENT, XEMA_CUSTOM_INDICATOR_NAME, // |> iCustom INDICATOR NAME XEMA_nBARs_period, // |> input nBARs_period XEMA_MUL_SIGMA, // |> input MUL_SIGMA XEMA_PRICE_TYPE, // |> input aPriceTYPE from: ENUM_APPLIED_PRICE XEMA_ShiftBARs, // |> input ShiftBARs XEMA__BUFFER_ID, // |>خط# ----------------------------------------------------<#define'd (e)nums .>0 // |>[0] -ATIMEDOMAIN-OFFEST) ؛//// ---- پارامترهای شاخص ----------------------------------------------------------- // رابط فراخوانی با شماره مرتب شده // تمام تماس های ICUSTOM () باید در مورد تجدید نظر اصلاح شود //.//// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ كرد^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
استراتژی‌های اسکالپ...
ما را در سایت استراتژی‌های اسکالپ دنبال می کنید

برچسب : نویسنده : جعفر بدیعی بازدید : <-PostHit-> تاريخ : يکشنبه 4 تير 1402 ساعت: 23:39