آموزش نوشتن اکسپرت برای mt4


  • فهرست آبشاری Advisor (برنامۀ مشاور)
  • دکمۀ مشخصات - فراخواندن پارامترهای اکسپرت برای ویرایش. اگر اکسپرت پارامترهای مشخص شده با کلمۀ کلیدی extern (بیرونی) را ندارد، سپس این دکمه غیرفعال خواهد شد.
  • نماد - نماد برای سنجش*.
  • فاصله - فاصله (چهارچوب زمانی) برای سنجش.
  • اسپرد - انتخاب یک مقدار اسپرد. گزینۀ Current spread (اسپرد جاری) با مقدار کنونی اسپرد مرتبط است. شما همچنین می توانید هر مقدار غیرمنفی ای را در کادر Spread (اسپرد) درج نمایید.
  • روش - روش سنجش. که می تواند یکی از گزینه های Control Points (نقاط کنترل) یا Open Price Only (فقط قیمت باز شدن) باشد.در زمان انتخاب Control Points (نقاط کنترل) ، برای هر میله چهار کوچکترین نوسان بطور خودکار ایجاد می شود (ترتیبش بعداً ارائه می گردد). برای میله هایی که در آن قیمت باز شدن پایین تر از قیمت بسته شدن است، کوچکترین نوسان قیمت ها (تیک ها) با قیمت باز شدن (Open)، پایین ترین قیمت (Low)، بالاترین قیمت (High) و قیمت بسته شدن (Close) مرتبط هستند و برای میله هایی که قیمت باز شدن در آنها پایین تر از قیمت بسته شدن است ، ترتیب به این شکل است: قیمت باز شدن (Open)، بالاترین قیمت (High)، پایین ترین قیمت (Low) و قیمت بسته شدن (Close).

آموزش اكسپرت و انديكاتور نويسي ویدیویی به فارسی،آموزش نوشتن اکسپرت متاتریدر mql4 mql metatrader

آموزش اكسپرت و انديكاتور نويسي ویدیویی به فارسی،آموزش نوشتن اکسپرت متاتریدر mql4 mql metatrader

آموزش اکسپرت و اندیکاتور نویسی (تصویری) mql4

آموزش اکسپرت و اندیکاتور نویسی از سطحمبتدی تا پیشرفته به صورت مولتی مدیا (تصویری، ویدیویی)

این مجموعه آموزشی در قالب 14 جلسه به صورتکاملا تصویری هست که شامل توضیحات در محیط پاورپوینت و متاادیتور و متاتریدر می باشد.

کیفیت تصاویر دای ویکس هست و در یک دی ویدی جمع آوری شده.

در مورد سطح کورس، از سطح مقدماتی تا سطحپیشرفته رو پوشش میده.

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

مباحث دوره آموزشی به شرح زیر می باشد:

• آموزش تبدیل اندیکاتور سفارشی به اکسپرت

• آموزش الگوریتم نویسی و تجزیه و تحلیل برنامه

• عملیات محاسباتی وعباراتی و عملگرها

• تعریف تابع و انواع آن

• تعریف آموزش نوشتن اکسپرت برای mt4 متغیرها و کاربرد هر کدام

• توابع مدیریت حساب و ترمینال

• متاتریدر آرایه ها و رشته ها

• توابع تبدیل عددی و رشته ای

• توابع زمان و تاریخ

• توابع اندیکاتورهای سفارشی

• کار با اندیکاتورهای غیر سفارشی متاتریدر

• کار با توابع گرافیکی

به همراه مثال هایی در طی دروس

و سورس کد های مورد نیاز برای اکسپرت نویسی

هزینه ی مجموعه در دو نوع هست :

نوع 1:

هزینه : 35 هزار تومان

• مجموعه ی آموزشی mql4

• پشتیبانی از طریق ایمیل

نوع 2:

هزینه : 58 هزار تومان

• مجوعه ی آموزشی mql4

• پشتیبانی از طریق ایمیل، چت، تلفن

• نرم افزاری که به صورت آزمون طراحی شده، به منظور آموزش نکات ریز هردرس آموزش نوشتن اکسپرت برای mt4 و درگیری و آشنایی شما با مشکلات احتمالی در کد نویسی

• کورس پترن فیبوناچی

نوع 3:

هزینه : 99 هزار تومان

• مجوعه ی آموزشی mql4

• پشتیبانی از طریق ایمیل، چت، تلفن

• نرم افزاری که به صورت آزمون طراحی شده، به منظور آموزش نکات ریز هردرس و درگیری و آشنایی شما با مشکلات احتمالی در کد نویسی

• کورس پترن فیبوناچی

• ویدیوی کیاس و فرکتال

• بسته ی آموزشی ویدیویی بهینهسازی اکسپرت به صورت اتوماتیک با دیتای 10 سال بازار (خرید به صورت جدا ی این بسته45 هزار تومان)

• چند کتاب مهم پایه در زمینهی برنامه نویسی MQL4

بعد از واریز مبلغ ، مشخصات زیر رو به فارسییا اس آموزش نوشتن اکسپرت برای mt4 ام اس یا ایمیل نمایید

Mql4,Meta Editor,Metatrader 4,Metatrader,Ex4 ,…

چگونه اکسپرت نویسی را آموزش ببینیم؟

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

راه های بهینه سازی اکسپرت و پیدا کردن بهترین مقادیر اکسپرت

چگونه نرم افزار اتوماتیک برای بورس ایران بنویسیم؟

چگونه بهترین اندیکاتور ها و بهترین مقادیر اندیکاتور ها را برای بورسایران پیدا کنیم ؟

تلفن تماس : 09362209085

برچسب : نویسنده : محسن بامری بازدید : 186 تاريخ : دوشنبه 19 فروردين 1392 ساعت: 18:32

آموزش اکسپرت نویسی

آموزش اکسپرت نویسی

در بازار معاملاتی بورس، تحلیل بازار سهام مختلف کاری زمان‌بر و طاقت‌فرساست؛ چراکه تحلیل یک بزار نیست هزاران سهام در بازار بورس همواره در حال خرید و فروش هستند، اما اینکه بدانیم چه سهامی را چه زمانی آموزش نوشتن اکسپرت برای mt4 بخریم و چه زمانی بفروشیم، کاری پر ریسک است؛ بنابراین برای کاهش ریسک معاملات به برخی ابزار نیاز داریم . اکسپرت نویسی روشی است که با کمک آن سهام‌داران و معامله‌گران می‌توانند به سهام‌ مدنظر خود با در نظر گرفتن فاکتورهای خاص دسترسی پیدا کنند. در ادامه مطلب می‌آموزیم که اکسپرت و اکسپرت نویسی چیست و چگونه اکسپرت‌های مناسب معاملات را بنویسیم .

مقدمه‌ای بر اکسپرت

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

نکته اول اینکه تجزیه و تحلیل بازار تمام سهام غیرممکن است؛ چراکه حرف از یک یا دو سهام و حتی 100 سهام نیست، بلکه هزاران سهام در بورس عرضه می‌شوند؛ پس راه میانبر چیست؟ باید بدانید به‌جز روش‌های تحلیلی بالا، راه کاربردی دیگری به نام اکسپرت و اکسپرت نویسی وجود دارد که کار بسیاری از سهام‌داران و سرمایه‌گذاران بورس را راحت کرده است.

اکسپرت در معنای لغوی به فردی ماهر و متخصص اشاره می‌کند، اما در بورس و تحلیل بازار سهام به ابزاری گفته می‌شود که فرد معامله‌گر می‌تواند استراتژی‌های تحلیلی خاص خود را به کد تبدیل کرده و وارد پلتفرمی به‌عنوان متاتریدر (MetaTrader) کند تا بتواند به تحلیل هرچه دقیق‌تر سهام خاص بپردازد.

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

بنابراین اکسپرت نوعی ابزار تحلیلی شخصی‌سازی شده است و اکسپرت نویسی هم به فرایندی گفته می‌شود که فرد استراتژی خود را در محلی به نام متاتریدر به کد تبدیل کند تا در عرض چند دقیقه سهام‌ مدنظر از دیگر سهم‌ها متمایز شوند.

انواع اکسپرت ها

انواع اکسپرت ها

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

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

دلیل محبوبیت اکسپرت‌ ها

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

همچنین استرس و هیجانات بسیاری از سرمایه‌گذاران هنگام معامله کمتر می‌شود و به‌کمک اکسپرت‌ها می‌توانند معاملات کم‌ریسک‌تری را انجام دهند. از دیگر مزیت‌ها، کنترل حس طمع بسیاری از سهام‌داران هنگام انجام معاملات است و به‌صورت 24 ساعته هم می‌توانند معاملات را انجام دهند .

دانستن ریسک‌های استفاده از اکسپرت‌ها در کنار مزایای فوق به شما کمک می‌کند میزان اشتباهات را کاهش دهید تا دچار ضرر نشوید. اول اینکه قبل از اعمال هر فیلتری از درستی آن مطمئن شوید. ممکن است برخی اکسپرت‌ها عمل نکنند یا بدتر از آن ناقص باشند و اشتباه عمل کنند و به‌جای سود شما را دچار ضرر کنند.

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

آموزش اکسپرت نویسی

اکسپرت نویسی در متاتریدر

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

در سال 2005 اولین ورژن نرم‌افزار متاتریدر (MetaTrader 4) توسط شرکت روسی MetaQoutes و در سال 2010 دومین ورژن (MetaTrader) طراحی شد آموزش نوشتن اکسپرت برای mt4 که جزء نرم‌افزارهایی است که با استفاده از آن می‌توانید چندین کار انجام دهید و اکسپرت نویسی یکی از خدمات این برنامه است.

  • مرحله 1: ابتدا باید ورژن متاتریدر را انتخاب کنید و وارد برنامه شده و سپس وارد بخش meta editor شوید.
  • مرحله 2: در ادامه در قسمت file گزینه new را انتخاب کنید .
  • مرحله 3: پنجره‌ای برای شما باز می‌شود که شامل گزینه‌هایی از جمله expert advisor, custom indicator, script و سایر گزینه‌هاست .
  • مرحله 4: گزینه expert advisor را انتخاب و سپس دکمه Next را بزنید .
  • مرحله 5: صفحه‌ای حاوی تعدادی باکس‌ باز می‌شود که باید نام اکسپرت را وارد کرده و از موارد دیگر عبور ‌کنید و دکمه Next را می‌زنید .
  • مرحله 6: تمام صفحات را بدون تیک‌زدن هیچ گزینه‌ای و با زدن دکمه Next رد کنید تا به گزینه Finish برسید.
  • مرحله 7: در ادامه وارد فضای نوشتن اکسپرت می‌شوید که فضایی ساده بوده و از چند بخش تشکیل شده است. بخش اول مربوط به تعاریف است؛ مانند تعاریف اندیکاتورها و تعاریف فایل‌هایی که قصد اوردرگرفتن آن‌ها را دارید. در بخش دوم باید متغیرها و توابع آن‌ها را وارد کنید؛ مانند متغیرهای حد ضرر، حد سود یا متغیر تعداد اوردرها.

بخش سوم 3 قسمت دارد که هرکدام از آن‌ها مربوط به عملکرد ربات یا اکسپرت شما هنگام اجرا و خروج از آن است و قسمت سوم که مهم‌ترین بخش اکسپرت محسوب می‌شود، واردکردن متغیرهایی است که تیک قیمت را در چارت نشان می‌دهد؛ برای مثال برای اوردرگیری، باید توابع مربوط را در این قسمت وارد کرد.

دو گزینه کاربردی در فرایند کدنویسی یا اکسپرت نویسی وجود دارد: دکمه compile در وسط نوار بالا که با زدن آن تعداد ارورهای موجود در نوشتن کدها را در پایین صفحه نمایش می‌دهد و با کلیک روی هرکدام از ارورها ستون و خط مربوط به همان ارور را نشان می‌دهد تا جست‌وجو برای ارور برای شما راحت‌تر باشد .

گزینه بعدی آیکون پلی در وسط نوار بالا و به رنگ سبز است که با زدن آن ربات روی حساب شما اجرا می‌شود.

سخن پایانی

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

دقت کنید که اگر نوشتن اکسپرت‌ها ناقص آموزش نوشتن اکسپرت برای mt4 باشند، اشتباه عمل می‌کنند و ضرر می‌کنید یا اصلاً عمل نمی‌کنند؛ بنابراین قبل استفاده از آن‌ها توصیه می‌شود روی حساب دمو امتحان شده و درصورت کامل‌بودن در حساب اصلی اعمال شود .

پرسش‌ های متداول

1. اکسپرت چیست؟

اکسپرت نوعی ابزار برای تحلیل و بررسی بازار سهام در بورس است .

2. متاتریدر چیست؟

متاتریدر نرم‌افزاری کارآمد در دنیای بورس است که قابلیت‌های متنوعی برای تحلیل بازار بورس برای سهام‌داران و سرمایه‌گذاران فراهم آورده است.

3. چگونه می‌توان به اکسپرت‌های مناسب دسترسی داشت؟

بهترین حالت این است که خودتان اکسپرت‌ها را بنویسید. درصورت نداشتن تخصص کافی می‌توانید به متخصصان اکسپرت ‌نویس سفارش کار دهید. از دوستانی که از اکسپرت‌ها استفاده کرده‌اند، کمک بگیرید و از منابع معتبری که اکسپرت‌های معتبر هستند، استفاده کنید.

کانال سیگنال رایگان

از سال 1390 که مجموعه خانه سرمایه شروع به کار کرد با برگزاری ۳۱ دوره جامع آموزشی بلند مدت، بیش از ۶۰۰۰ تحلیلگر را وارد بازار سرمایه کرده‌ایم. تمام تلاش من و همکارانم ایجاد مرجعی برای آموزش واقعی و صحیح موفقیت مالی و سرمایه گذاری بوده است مرجعی که کمک می کند زندگی بهتری برای خود و اطرافیانمان بسازیم.

مبانی اکسپرت نویسی در NTL+

این مقاله برای برنامه نویسانی است که قصد دارند اولین اکسپرت شان را در NTL+ بنویسند. این مقاله تعدادی از ویژگی های ایجاد اکسپرت ها را دربرمی گیرد که دانستن شان به دوری از بسیاری از اشتباهات کمک خواهد کرد و از اتلاف وقت در نوشتن اکسپرت جلوگیری و اشکالات اسکریپت را برطرف می کند (اسکریپت در زبان برنامه نویسی NTL+ اشاره به سه نوع برنامه دارد: اکسپرت ها، شاخص ها و برنامه های سودمند).

ایجاد یک اکسپرت

برای ایجاد یک اکسپرت جدید، ابتدا به پنجرۀ "ناوبری" (Navigator) بروید، سپس روی پوشۀ برنامه های مشاور (Advisors) راست-کلیک کنید و از فهرست زمینه، عملکرد "ایجاد" (Create) را انتخاب نمایید. در اینجا از شما خواسته می شود تا اسمی را برای اکسپرت جدید درج کنید. لطفاً توجه داشته باشید که اسم اکسپرت باید منطبق با استانداردهای نامگذاری در OS Windows باشد یعنی یک اسم نمی تواند شامل علائمی نظیر * | \ : " ? / گردد.

بعد از آنکه فایل اکسپرت جدید ایجاد شد، اولین قالب را با 3 عملکرد Initialize() ، Run() ، DeInitialize() مشاهده خواهید کرد. هرکدام از این عملکردها در زمان های مشخصی از عمر اکسپرت اجرا می شوند. بنابراین، برنامه نویس نیازی ندارد که آنها را فرابخواند چراکه روند خودکار است.

بلافاصله پس از شروع اکسپرت، عملکرد Initialize() اجرا می شود که برای مقدار دهی اولیه در نظر گرفته شده است. لازم به ذکر است که عملیات معاملاتی نباید در عملکرد Initialize() اجرا شوند چراکه مقادیر پارامترهای معاملاتی (نظیر قیمت های Ask و Bid، اطلاعات حساب، اطلاعات مربوط به دستورها و پوزیشن های معاملاتی) در زمان اجرای Initialize() تعیین نمی شوند.

زمانیکه کوچکترین علامتی فرابرسد، عملکرد Run() فراخوانده می شود. این همان عملکردی است که شامل کد اصلی اسکریپت می شود. در این کد است که امکان تحلیل وضعیت کنونی بازار فراهم می گردد و تصمیم های لازم برای اجرای عملیات معاملاتی گرفته می شوند و حتی محاسبات ریاضی انجام می گیرند. پردازش اطلاعات در هر کوچکترین علامت نباید از 10 ثانیه بیشتر شود در غیر این صورت برنامه بطور خودکار اکسپرت کاربر را متوقف خواهد کرد.

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

آماده کردن یک الگوریتم و نوشتن یک کد اکسپرت

توسعۀ یک الگوریتم که اکسپرت معاملاتی تان را اجرا کند، اولین مرحله است. این الگوریتم باید ساختاری شفاف و توضیحاتی با جزئیات کامل داشته باشد که اشکالزدایی، ویرایش و بهینه سازی بیشتر را آسان تر نماید.

تعیین معیارهای معاملاتی برای بازکردن پوزیشن های خرید یا فروش، اینکه تحت چه شرایطی پوزیشن های معاملاتی بسته شوند و اینکه تعداد پوزیشن های معاملاتی باز چطور کنترل یا محدود خواهند شد، ضروری است. اگر اکسپرت تان قرار است دستورهای در حال انتظار (pending order) شامل دستورهای OCO و دستورهای فعال سازی را اجرا کند باید ابتدا به امکان حذف یا ویرایش دستورهایی که تاکنون برقرار شده اند توجه کنید.

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

به دخالت های دستی خودتان در عملکرد یک اکسپرت توجه داشته باشید، چه می شود اگر اکسپرت یک معامله را باز کند و شما آن را در ترمینال تجاری ببندید؟ به این موضوع توجه داشته باشید که آیا اکسپرت می تواند وارد هرگونه وضعیت غیر برنامه ریزی شده ای شود که منجر به از کار افتادن اکسپرت گردد.

شما برای دستیابی به یک عملکرد مناسب باید وضعیت معاملات باز و دستورهای واقع شده را در کوچکترین علائم تحلیل کنید. Deals.Total و Orders.Total مشخصه هایی هستند آموزش نوشتن اکسپرت برای mt4 که برای تعداد پوزیشن های معاملاتی باز و دستورهای واقع شده استفاده می شوند و روش های Orders.Select() و Deals.Select() برای انتخاب یک پوزیشن یا یک دستور بکار می روند.

همچنین لازم است به به بهبود کار اکسپرت پس از بستن و باز کردن ترمینال توجه شود: حتی اگر به همان وضعیتی برگردد که پیش از بستن ترمینال داشت. شرایطی را در نظر داشته باشید که در آنها بین بستن و بازکردن مجدد ترمینال برخی از معاملات می توانند توسط توقف ضرر (S/L) یا کسب سود (T/P) از پیش تنظیم شده بسته شوند و دستورهایی که می توانند فعال شوند که شامل بازشدن پوزیشن های معاملاتی جدید خواهند بود.

باید اقدامات لازم در زمان وقوع ایرادات و وضعیت های استاندارد را پیش بینی کنید. به عنوان مثال، کافی نبودن موجودی حساب برای باز کردن پوزیشن های معاملاتی یا تلاش برای ثبت دستورهایی که بسیار به قیمت جاری بازار نزدیک هستند.

از طریق شیء "حساب" (Account) و مشخصاتش می توان به وضعیت حساب دسترسی پیدا کرد. بطور مثال، از مشخصۀ Account.Balance برای دسترسی به موجودی کنونی حساب استفاده می شود و از مشخصۀ Account.MarginFree برای دسترسی به میزان مارجین آزاد استفاده می شود.

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

کار با تاریخچۀ قیمت ها

استفاده از رشته های زمانی به شما اجازه می دهد تا به منظور تحلیل یک وضعیت معین بازار در گذشته، تاریخچۀ قیمت ها روی نمادهای جاری را دریافت کنید. رشته های زمانی نمایانگر یک گروه از آرایه ها است: Open[] - باز شدن میلۀ قیمت ها، Close[] - بسته شدن میلۀ قیمت ها، High[] بالاترین میلۀ قیمت ها، Low[] - پایین ترین میلۀ قیمت ها، Time[] - زمان باز شدن میله و Volume[] - کوچکترین حجم میله (تعداد حجم ها در هر میله). تمامی رشته های زمانی در ارتباط با نمودار نماد هستند که در آن اکسپرت در حال اجرا شدن است و چهارچوب زمانی جاری. رشته های زمانی، شاخص گذاری وارونه دارند: عنصر آخر (آخر در شرایط زمان) یک 0 index دارد و اولین عنصر - شاخصی دارد برابر با Bars.Total(Chart.Symbol,Chart.Interval)-1.

هرگاه لازم نیست که از دیگر سمبل ها، اطلاعاتی کسب شود، باید از شیء "میله ها" (Bars) استفادده کنید. روش هایش از قبیل Open()، High()، Low() ، Close() ، Volume() ، Time() همانند روش های رشته های زمانی مرتبط هستند. تنها تفاوت در این است که شما باید نماد، اندازۀ میله (فواصل، چهارچوب زمانی) و تعداد میله ای که می خواهید مقادیر را برایش دریافت کنید را تعیین نمایید. پیش از اجرای یک اسکریپت، باید تمامی نمادهایی که اسکریپت باید با آنها کار کند را ثبت کنید. برای این منظور، ابتدا پنجرۀ "قیمت های جاری" (MarketWatch) را باز کنید، سپس روی یک کادر خالی راست-کلیک کنید و از فهرست زمینه گزینۀ "ثبت" (Subscribe) را انتخاب کنید. سپس روی نماد دلخواه تان کلیک و "OK" را بزنید.

شما در اکسپرت ها ممکن است نیاز پیدا کنید که زمان باز شدن یک میلۀ جدید یا زمان تکمیل ایجاد یک میلۀ قبلی را تعیین کنید. برای این منظور می توانید از آرایۀ جهانی "حجم" () استفاده نمایید. مقدار Volume[0] توسط یک در هر کوچکترین نوسان (تیک) افزایش پیدا می کند و پس از اولین کوچکترین نوسان (تیک) در یک میلۀ جدید به 1 مجدداً برمی گردد. بنابراین، برای تعیین لحظۀ باز شدن یک میلۀ جدید، می توان از ساختار زیر استفاده کرد:

کار Run() می تواند با استفاده از عملگر return برای تمام مقادیر Volume[0] به غیر از 1، به راحتی تمام شود:


int Run() < if(Volume[0]>1) return (0); // Some code to run whe opening a new bar. >

روش جایگزین دیگر، تحلیل میلۀ زمان باز شدن است البته به شرطی که زمان برای دو حداقل نوسان آخر مطابقت داشته باشد، شما می توانید با استفاده از عملگر return(0) از این عملکرد خارج شوید. در زمان ایجاد یک میلۀ جدید، مقادیر متفاوتی برای Time[0] روی حداقل نوسان های (تیک) جاری و قبلی دریافت می کنیم - همین رویداد است که به معنای باز شدن یک میلۀ جدید می باشد.

تست یک اکسپرت

Advisor Tester (سنجشگر برنامۀ مشاور) برای ارزیابی کارائی اکسپرت و بررسی عملکردش در نظر گرفته شده است. برای شروع این سنجشگر ابتدا در منوی اصلی در بالای ترمینال روی گزینۀ "نمایش" (View) کلیک کرده و سپس گزینۀ Advisor Tester (سنجشگر برنامۀ مشاور) را انتخاب کنید. در آنجا گزینه هایی برای تعویض بخش های سنجشگر در بالای پنجره اش تعبیه شده اند:

  • پارامترها - پارمترهای سنجشگر
  • نتایج - نمایش جدول اطلاعات روی پوزیشن ها
  • نمودار دارائی خالص - تغییر در موجودی حساب و دارائی خالص (بالانس و اکوتی)
  • ژورنال - فایل ژورنال

پارامترها

شما در بخش "پارامترها" (Parameters) می توانید پارامترهای زیر را که بر روند سنجش تاثیر می گذارند، مشخص کنید:

  • فهرست آبشاری Advisor (برنامۀ مشاور)
  • دکمۀ مشخصات - فراخواندن پارامترهای اکسپرت برای ویرایش. اگر اکسپرت پارامترهای مشخص شده با کلمۀ کلیدی extern (بیرونی) را ندارد، سپس این دکمه غیرفعال خواهد شد.
  • نماد - نماد برای سنجش*.
  • فاصله - فاصله (چهارچوب زمانی) برای سنجش.
  • اسپرد - انتخاب یک مقدار اسپرد. گزینۀ Current spread (اسپرد جاری) با مقدار کنونی اسپرد مرتبط است. شما همچنین می توانید هر مقدار غیرمنفی ای را در کادر Spread (اسپرد) درج نمایید.
  • روش - روش سنجش. که می تواند یکی از گزینه های Control Points (نقاط کنترل) یا Open Price Only (فقط قیمت باز شدن) باشد.در زمان انتخاب Control Points (نقاط کنترل) ، برای هر میله چهار کوچکترین نوسان بطور خودکار ایجاد می شود (ترتیبش بعداً ارائه می گردد). برای میله هایی که در آن قیمت باز شدن پایین تر از قیمت بسته شدن است، کوچکترین نوسان قیمت ها (تیک ها) با قیمت باز شدن (Open)، پایین ترین قیمت (Low)، بالاترین قیمت (High) و قیمت بسته شدن (Close) مرتبط هستند و برای میله هایی که قیمت باز شدن در آنها پایین تر از قیمت بسته شدن است ، ترتیب به این شکل است: قیمت باز شدن (Open)، بالاترین قیمت (High)، پایین ترین قیمت (Low) و قیمت بسته شدن (Close).

علامت گذاشتن روی چک باکس های Enable visual mode (فعالسازی حالت تصویری) و Enable expert logs (فعالسازی ثبت اکسپرت) بر سرعت سنجش تاثیر می گذارد ، بنابراین توصیه می شود که فقط در مواقع ضروی آنها را علامت بگذارید.

* در حال حاضر سنجش اکسپرت های چند ارزی بطور کامل پشتیبانی می شوند. اگر نرم افزار مشاوری (advisor) که با معاملات روی چندین ارز کار می کند را سنجیدید و تاریخچۀ بارگذاری شده برای قیمت های این نمادها همخوانی نداشت، قیمت های Ask و Bid، رشته های زمانی و مقادیر بازگردانده شده توسط شیء Bars (میله ها)، می توانند صفر شود.

نتایج

بخش "نتایج" (Results) اطلاعات در مورد تمام پوزیشن های بازشده و بسته شده در خلال فرآیند سنجش را نمایش می دهد. جدولِ شامل پوزیشن های معاملاتی بسته در بالا قرار دارد که اطلاعات زیر را نشان می دهد:

  • شمارۀ # (Number #) - یک شمارۀ ترتیبی از یک پوزیشن بسته شده. #1 نشان دهندۀ اولین معاملۀ بسته است، #2 به دومین معاملۀ بسته شده اختصاص دارد و الی آخر.
  • شناسۀ معامله (Deal ID) - شناسۀ پوزیشن معاملاتی بسته شده
  • نماد (Symbol) - نمادی که پوزیشن معاملاتی روی آن باز شده است
  • حجم 1 (Volume1) - حجم پوزیشن معاملاتی در واحد ارز پایه
  • حجم 2 (Volume2) - حجم پوزیشن معاملاتی در واحد ارز مظنه
  • نرخ باز شدن (Open rate) - قیمت باز شدن
  • زمان باز شدن (Open time) - زمان باز شدن
  • توقف ضرر (Stop loss) - سطح توقف ضرر (فقط زمانیکه مشخص شود نشان داده می شود)
  • کسب سود (Take profit) - کسب سود (فقط زمانیکه مشخص شود نشان داده می شود)
  • آخرین سوآپ (Last swap) - سوآپ پوزیشن معاملاتی جاری
  • نرخ بسته شدن (Rate close) - قیمت بسته شدن
  • زمان بسته شدن (Time close) - زمان بسته شدن
  • سود (Profit) - سود پوزیشن معاملاتی
  • موجودی حساب (Balance) - موجودی حساب پس از بسته شدن پوزیشن معاملاتی*
  • دارائی خالص (Equity) - دارائی خالص پس از بسته شدن پوزیشن معاملاتی *

* این ستون ها در حالت Show extended columns (نمایش ستون های طولانی) نشان داده می شوند. این حالت را می توان از طریق فهرست زمینۀ جدول فعال کرد.

جدول پایینی پوزیشن های معاملاتی ای را نشان می دهد که در انتهای سنجش بسته نشده اند. عناوین ستون ها منطبق بر عناوین ستون های جدول "پوزیشن های معاملاتی بسته شده" (Closed Positions) هستند، به غیر از ستون های از دست رفته مرتبط با پوزیشن های معاملاتی بسته شده.

خط وضعیت که در پایین قرار دارد، اطلاعات مربوط به موجودی حساب (balance)، دارائی خالص (equity)، الزامات مارجین و مارجین آزاد را در زمان تکمیل سنجش نمایش می دهد.

نمودار دارائی خالص

این نمودار بسته به تعداد پوزیشن بسته شده، تغییر در موجودی حساب (balance) و دارائی خالص (equity) را نمایش می دهد. دو بار کلیک پشت سرهم روی نمودار، معاملۀ مرتبط در جدول "پوزیشن های معاملاتی بسته شده" (Closed positions) را نشان می دهد.

ژورنال

بخش ژورنال (Journal) متن خروجی عملکرد System.Print() استفاده در یک اکسپرت را نشان می دهد. اگر چک باکس Enable expert logs (فعالسازی ثبت اکسپرت) در بخش پارامترها (Parameters ) خاموش باشد، ژورنال فقط شامل دستورات شروع و توقف خواهد بود.

اشکالزدایی اسکریپت

به ندرت پیش می آید که اشکالزادیی اسکریپت بدون استفاده از آموزش نوشتن اکسپرت برای mt4 عملکرد System.Print() انجام شود. عملکردی که اطلاعات مرتبط با بخش ژورنال (Journal ) پنجرۀ "جعبه ابزار" (Toolbox) را (یا اطلاعات مرتبط با بخش ژورنال پنجرۀ سنجشگر) نمایش می دهد. هرچند، دانستن این موضوع که چه زمانی یک اکسپرت را اجرا کرده اید می تواند کمک کننده باشد، اطلاعات نمایش داده شده نیز در فایل ثبت در فولدر username\Documents\NeTTradeX Advisors\logs هم موجود می باشند. فایل های ثبت با هر ویرایشگر متنی که فرمت txt را پشتیبانی کند باز می شوند. فایل ثبت شامل سوابقی دربرگیرندۀ یک رویداد، کد بازگشت و پیام متنی می شود.

اضافه کردن یک مقدار پردازش برای مشخصۀ System.LastError شما را قادر می سازد تا در مواقعی که اکسپرت دچار اشکال می شود، بتوانید وضعیت را مورد بررسی قرار دهید. این مشخصه کد آخر خطای مرتبط با عملیات معاملاتی را ذخیره می کند. این مشخصه یک ویژگی مهم دارد: هر عملیات معاملۀ بعدی ، مشخصه را طبق نتیجۀ کارش تغییر می دهد. بنابراین، اگر اسکریپتی دارید که برای یک معامله با یک پارامتر اشتباه درخواست می دهد و سپس یک دستور با پارامترهای صحیح برقرار می کند، مقدار صفر (هیچ خطا) در System.LastError ثبت و ذخیره می شود. در نتیجه، مقدار مشخصۀ System.LastError باید "قبل" از عملیات معاملاتی بعدی دریافت شود (که در اینجا، قرار دادن یک دستور است)، بنابراین این خطای رخ داده را در خلال روند ایجاد معامله ذخیره خواهد کرد. روش System.ErrorDescription() برای دریافت یک توصیف متنی از یک خطا بکار می رود و آن خط را با یک توصیف متنی از مشکل بازمی گرداند. تنها مقدار ورودی نمایانگر کد خطای عددی است که از طریق System.LastError دریافت شده است.

زمانیکه اشکالیزدایی آغاز شود، مشخصۀ IsStopped شیء System نیز می تواند مفید باشد. اگر اجرای برنامه در آخرین تیک (کوچکترین نوسان بازار) بیش از 7 ثانیه به طول انجامید، مقدار "صحیح" خواهد داشت. برنامه نویس با کمک این مشخصه از این مطلع می شود که اسکریپت به زودی به اجبار متوقف خواهد شد (پس از 3 ثانیه)، به این ترتیب زمانی داده می شود تا برنامه بتواند عملیات معین در ارتباط با تکمیل صحیح اسکریپت را اجرا کند.

خلاصه

در پایان لازم به ذکر است که روند ایجاد اکسپرت می تواند به دو مرحله اصلی تقسیم گردد: توسعۀ یک الگوریتم و رمزگذاری اش. هرچه اولین مرحله با دقت صورت گیرد، اجرای مرحلۀ دوم آسان تر و سریع تر خواهد بود. این مقاله موضوعات خاصی را دربارۀ ایجاد الگوریتم و راه حل های کاربردی دربر می گیرد که باعث می شود اولین برخورد شما با NTL+ و مواجه با قابلیت هایش برای نوشتن اکسپرت های معاملاتی، ساده شود.

دانلود کتاب PDF آموزش زبان برنامه نویسی MQL (MQL4 و MQL5)

دانلود کتاب PDF آموزش زبان برنامه نویسی MQL (MQL4 و MQL5)

هم اکنون امکان دانلود کتاب آموزش زبان برنامه نویسی MQL برای متاتریدر 4 و 5 (MQL4 و MQL5) به زبان انگلیسی با فرمت PDF به صورت رایگان را برای شما عزیزان آماده کرده آموزش نوشتن اکسپرت برای mt4 ایم که در ادامه این مقاله می توانید از داتیس نتورک دریافت کنید.

دانلود کتاب PDF آموزش زبان برنامه نویسی MQL (MQL4 و MQL5)

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

MQL مخفف MetaQuotes Language یک زبان برنامه نویسی است که به طور انحصاری توسط نرم افزار MetaTrader برای ایجاد ربات های معاملاتی خودکار و اندیکاتور های بازار مالی مورد استفاده قرار می گیرد.

برنامه نویسان که اسکریپت های MQL می نویسند باید از برنامه نویسی شی گرا ، سینتکس MQL و بازارهای مالی که قصد دارند اسکریپت های ام کیو ال را در آنها مستقر کنند ، آگاهی کافی داشته باشند.

هدف از نوشتن اسکریپت های MQL این است روند تجزیه و تحلیل بازارهای مالی ، در درجه اول بازارهای ارز (Forex) و تجارت ابزارهای مالی به صورت خودکار انجام شود.

اگر علاقه مند به یادگیری زبان برنامه نویسی MQL هستید، یکی از بهترین روش های آموزشی استفاده از کتاب های الکترونیکی با فرمت PDF است زیرا در تمامی پلتفرم ها و در هر شرایط زمان و مکانی می توانید از آن برای یادگیری و مطالعه استفاده کنید.

هم اکنون یکی از بهترین کتاب های آموزشی در زمینه یادگیری برنامه نویسی MQL (MQL4 و MQL5) را برای شما عزیزان آماده کرده ایم که در ادامه این مقاله به صورت رایگان می توانید از داتیس نتورک دریافت کنید.

کتاب برنامه نویسی اکسپرت MQL4

کتاب برنامه نویسی اکسپرت MQL4 اثر اندرو یانگ، در نه فصل با ترجمه مهدی صفایی منتشر شده است. موضوعات مطرح شده در این کتاب به شرح زیر است:

۱- برنامه‌نویسی معاملات اتوماتیک

۲- طراحی اندیکاتور

۳- بانک توابع مورد نیاز

۴- اسکریپت نویسی

۵- بگ تست با دقت بالا

بخشی از مقدمه کتاب برنامه نویسی اکسپرت MQL4

MetaQuotes Language (MQL) یک زبان برنامه‌نویسی است که به طور انحصاری با نرم افزار MetaTrader برای ایجاد ربات‌های معاملاتی خودکار و شاخص‌های بازار مالی مورد استفاده قرار می‌گیرد.

برنامه‌نویسان که اسکریپت‌های MQL می‌نویسند باید از برنامه‌نویسی شی‌گرا، MQL و بازارهای مالی که قصد دارند اسکریپت‌های MQL را در آن‌ها مستقر کنند، آگاهی کافی داشته باشند.

هدف از نوشتن اسکریپت‌های MQL به صورت خودکار روند تجزیه و تحلیل بازارهای مالی، در درجه اول بازارهای ارز (Forex) و تجارت ابزارهای مالی بر اساس آن تحلیل است.

MQL، همانطور که امروزه شناخته شده و مورد استفاده قرار می‌گیرد، در تاریخ ۱ ژوئیه ۲۰۰۵ همراه با MetaTrader 4 (MT4) منتشر شد. زبان جدید MQL4 نام داشت. این پلتفرم و زبان برنامه‌نویسی یکپارچه مورد توجه قرار گرفتند. و به سرعت به یک پلتفرم معاملاتی استاندارد در بازار معاملات فارکس تبدیل شدند.

MQL4 و MQL5 زبان‌های برنامه‌نویسی هستند. که برای ایجاد ربات‌های معاملاتی و ابزار تجزیه و تحلیل مالی برای استقرار در سیستم عامل‌های معاملاتی MetaTrader 4 و آموزش نوشتن اکسپرت برای mt4 ۵ استفاده می‌شوند. منابع اصلی منابع آموزشی برنامه‌نویسان مشتاق MQL وب سایت‌های رسمی MQL4 و MQL5 هستند. از آنجا که اسکریپت‌های MQL4 و MQL5 فقط در نسخه مربوطه MetaTrader قابل اجرا هستند، برنامه نویسان ابتدا باید توجه داشته باشند که زبان قابل استفاده برای نسخه MetaTrader را که توسط کارگزار آنها ارائه می‌شود، بیاموزند.

امروزه هنوز از برنامه‌نویسی MT4 و MQL4 به طور گسترده برای اتوماسیون تجزیه و تحلیل و معامله ابزارهای مالی فارکس استفاده می‌شود.

سرفصل مطالب کتاب برنامه نویسی اکسپرت MQL4

۱- مقدمه‌ای بر MQL
۲- درج معامله
۳- درج معامله پیشرفته
۴- کارکردن با توابع
۵- مدیریت معامله
۶- شرط‌های معامله و اندیکاتورها
۷- کارکرد با زمان و تاریخ
۸- نکات و ترفندها
۹- اندیکاتورهای سفارشی و اسکریپت‌ها

مشخصات کتاب

نویسنده: اندرو یانگ
مترجم: مهدی صفائی
قطع کتاب: وزیری
نوع جلد: شومیز
نوبت چاپ: اول، ۱۳۹۹
شابک: ۹۷۸۶۰۰۱۸۶۴۶۴۳
تعداد صفحات: ۲۲۲
قیمت: ۶۴۵۰۰ تومان
ناشر: آراد کتاب

Expert Advisor Programming for MetaTrader 4: Creating automated trading systems in the MQL4 language



اشتراک گذاری

دیدگاه شما

اولین دیدگاه را شما ارسال نمایید.