چگونه می توان قیمت شمعدان و نوار را در MQL4 دریافت کرد

ساخت وبلاگ

هنگامی که شروع به ساختن شاخص ها ، مشاوران متخصص و اسکریپت هایی با MQL4 می کنید و هدف شما انجام برخی از تجزیه و تحلیل فنی است ، باید بتوانید داده های حاصل از قیمت های فعلی و گذشته را بخوانید. شما باید یاد بگیرید که چگونه Candlestick و Bar را با MQL4 بدست آورید. این راهنما دو روش را به شما نشان می دهد که می توانید برای انجام آن استفاده کنید.

راهنماهای دیگر ما در مورد انواع نمودارهای ارائه شده توسط Metatrader صحبت می کنند ، و برای درک این راهنما ، شما همچنین باید درک کنید که چگونه آرایه ها کار می کنند ، نمونه ای را مشاهده خواهید کرد که از یک حلقه "برای" استفاده می کند ، بنابراین اگر شما وجود دارد "هنوز هم با آن آشنا است ، بهتر است ابتدا در مورد اپراتورها بخوانید.

از قبل باید بدانید که وقتی نمودار شمعدانی یا نوار را مشاهده می کنید ، نمایندگی قیمت های باز ، بالا ، پایین و نزدیک را برای دوره (1 دقیقه ، 5 دقیقه ، 1 ساعت و غیره) به شما نشان می دهد. شما همچنین باید معانی این نقاط قیمت را درک کنید:

  • قیمت باز است که اولین قیمت هنگام شروع نوار یا شمع است.
  • بالاترین قیمت در زمان تشکیل نوار/شمع است.
  • کمترین قیمت در زمان تشکیل نوار/شمع کم است.
  • بسته شدن آخرین قیمت در لحظه یا زمان تشکیل نوار یا شمع است.

از نظر بصری ، این می تواند به شرح زیر ارائه شود:

MetaTrader - Candlestick Structure

ساختار شمع

آرایه های قیمت (زمانها)

بنابراین چگونه این اطلاعات را با MQL4 دریافت می کنید؟آنقدر که فکر می کنید سخت نیست! Metatrader و MQL4 با این قیمت ها آرایه هایی را ارائه می دهند و فقط باید آنها را بخوانید.

ابتدا ، تمام میله ها را به عنوان آرایه ای تصور کنید که شاخص در آن به عقب می رود ، بنابراین شمع/نوار فعلی ، که در حال شکل گیری است ، شماره 0 (صفر) است ، شمع قبلی دارای شاخص 1 ، سپس 2 و غیره استبشربا استفاده از این روش ، شاخص 50 شما در نمودار شمعدانی از بازه زمانی M1 (1 دقیقه) شمعدان 50 دقیقه پیش را نشان می دهد.

با تصویر زیر می توانید آن را بهتر مشاهده کنید:

MQL4/MetaTrader Numeration of Bars and Candles on a Chart

چنین آرایه هایی (همراه با میله ها و شمع ها) در متاترادر زمان نامیده می شود.

در حال حاضر ، هر شمع/نوار دارای چهار آرایه مورد علاقه است که در آن قیمت ها ذخیره می شود. ممکن است حدس بزنید این چهار آرایه چیست:

  • باز [] آرایه ای برای قیمت های باز است.
  • بالا [] آرایه ای برای قیمت های بالا است.
  • پایین [] آرایه ای برای قیمت های پایین است.
  • بستن [] آرایه ای برای قیمت های نزدیک است.

با دانستن چگونگی عملکرد نمایه سازی برای آرایه های Timeseries ، اکنون می توانید با استفاده از کد MQL4 ، مقادیر را در نقاط خاص در زمان دریافت کنید. به عنوان مثال ، باز کردن [0] ، [0] ، پایین [0] و نزدیک [0] قیمت های باز ، بالا ، پایین و نزدیک شمع فعلی است و در حالی که باز تغییر نمی کند ، نزدیک ، بالا، و ممکن است با شکل گیری شمع ، کم تغییر کند. اگر می خواهیم قیمت نزدیک آخرین شمع کاملاً کاملاً تشکیل شده را داشته باشیم ، می توانید از فهرست 1: بستن [1] استفاده کنید. اگر می خواهید قیمت باز 5 شمع قبل ، از جمله موردی که در حال شکل گیری است ، می توانید از فهرست 4: باز [4] استفاده کنید.

این یکی از روش های بازیابی داده های مورد نیاز است. با این حال ، در این حالت ، شما نمی توانید مشخص کنید که از کدام زوج یا ابزار استفاده کنید. آرایه ها با قیمت نماد فعلی () ، نمودار فعلی جمع شده اند. همچنین ، آرایه های قیمت ارائه شده در بالا محدودیت های ذخیره فقط قیمت ها برای بازه زمانی فعلی نمودار را دارند. شما راهی برای غلبه بر این محدودیت ها در این راهنما خواهید دید.

امیدوارم که در حال حاضر شما یک ایده عادلانه در مورد نحوه عملکرد آرایه ها داشته باشید. با استفاده از آنها می توانید نمونه ای از کد را مشاهده کنید. فرض کنید که می خواهید بالاترین و کمترین قیمت را در 30 شمع گذشته پیدا کنید. با استفاده از حلقه و آرایه "برای" ، دستیابی به آن بسیار ساده است.

اجرای این کد منجر به:

How to Get Candlestick and Bar Prices in MQL4 - Test Script Input Parameters

Getting Highest and Lowest Values with Test Script

امکاناتی که از این آرایه ها استفاده می کنید بسیار زیاد است. شما می توانید از آنها در اسکریپت ها ، شاخص ها و مشاوران متخصص استفاده کنید-آنها اطلاعات آماده برای استفاده را در اختیار شما قرار می دهند.

توابع قیمت

روش دیگر برای دریافت داده های قیمت در MQL4 استفاده از چهار عملکرد ساده زیر برای این کار است:

توابع بالاتر از همه به همان روش کار می کنند. جزئیات را برای یکی مشاهده خواهید کرد ، اما به یاد داشته باشید که همه آنها استدلال های یکسانی دارند:

  • نماد نمادی است که قیمت آن را می خواهید ؛به عنوان مثال ، "EURUSD" برای جفت ارز EUR/USD.
  • بازه زمانی بازه زمانی است که می خواهید قیمت آن را داشته باشید. به عنوان مثال ، PRION_M1 بازه زمانی برای نمودار 1 دقیقه ای است.
  • Shift مانند شاخصی است که در روش قیمت آرایه ها در بالا مشاهده می شود: 0 برای شمع فعلی ، 1 برای جدیدترین شکل کاملاً تشکیل شده ، 2 یکی از موارد قبل از آن است ، و غیره.

دریافت قیمت باز برای جفت ارز USD/JPY در نمودار ساعتی برای سومین شمع کاملاً تشکیل شده با استفاده از IOPEN ("USDJPY" ، PRION_H1 ، 3) بسیار ساده است.

با این کار چه کاری می توانید انجام دهید؟خوب ، شما می توانید هر کاری را که می خواهید یا باید در نشانگر ، اسکریپت یا مشاور متخصص خود انجام دهید انجام دهید. به عنوان مثال ، اگر می خواهید در حال حاضر بررسی کنید که آیا EUR در حال حاضر قوی است ، می توانید مقایسه ای بین چندین جفت ارزی مربوط به یورو تنظیم کنید و ببینید که آیا قیمت در حال افزایش است یا خیر. در اینجا کد صدور برای آن:

کد ارائه شده در بالا بسیار اساسی است ، اما با استفاده از کارهای دیگر ، ممکن است استفاده از جفت های دیگر یا بازه های زمانی پارامتر شود. همچنین می تواند به یک سیگنال ورودی برای یک مشاور متخصص یا یک شاخص تبدیل شود.

هیچ روش ارجح برای به دست آوردن داده های قیمت در MQL4 وجود ندارد - هر دو آرایه (به عنوان مثال ، نزدیک []) و توابع (به عنوان مثال ، iClose ()) قابل قبول هستند. این واقعاً به نیازهای شما در اسکریپت/شاخص/مشاور متخصص بستگی دارد.

یک تمایز مهم این است که در MQL5 (هنگام کدگذاری برای MT5) ، فقط می توانید از روش آرایه (به عنوان مثال ، بستن []) در داخل عملکرد () شاخص ها استفاده کنید ، در حالی که روش توابع (به عنوان مثال ، iClose ()) می تواند باشددر همه جای کد استفاده می شود.

اگر می خواهید اخبار جدیدترین به روزرسانی ها را در راهنماهای ما یا هر چیز دیگری که مربوط به تجارت فارکس است ، دریافت کنید ، می توانید در خبرنامه ماهانه ما مشترک شوید.

کتاب آموزش بورس...
ما را در سایت کتاب آموزش بورس دنبال می کنید

برچسب : نویسنده : محسن زنجانچی بازدید : 66 تاريخ : چهارشنبه 9 فروردين 1402 ساعت: 22:02