به فصل ۳ از آموزش ساخت ربات معامله با زبان MQL5 خوش آمدید. این فصل شامل ۱۵ فیلم آموزشی به همراه سورس کدهاست. در این مجموعه به آموزش اکسپرت نویسی با هدف ارسال خودکار سفارش شرطی میپردازیم.
این فصل در واقع بخشی از بسته مقدماتی آموزش MQL5 در مسیر آموزشی زیر است.
- آموزش MQL5 برای ساخت اکسپرت معامله (بسته مقدماتی)
- آموزش mql5 برای ساخت اکسپرت معامله گر (بسته پیشرفته)
- بسته تکمیلی آموزش MQL5 برای ساخت اکسپرت معامله
*توجه: اگر بسته شماره ۱ را در بالا تهیه کردهاید دیگر نیازی به تهیه این آموزش MQL5 نیست؛ زیرا در همان بسته قرار داده شده است. بسته ۱ را کامل ببینید و تمرین کنید و بعد سراغ بسته شماره ۲ و بعد ۳ بروید!
این آموزش در یک نگاه
ما در آغاز این آموزش اکسپرت نویسی راجع به سفارش های شرطی یا Pending Order صحبت میکنیم. به تفاوت سفارش شرطی با سفارش مستقیم یا Exchange Execution میپردازیم و سپس با انواع سفارش های شرطی آشنا میشویم.
در گام بعدی دست به کدنویسی میزنیم. تابع OpenPending را در کلاس CTrade تعریف میکنیم. بعدها در تمام اکسپرت ها برای ارسال سفارش های شرطی میتوانیم از این تابع استفاده کنیم.
در ادامه آموزش، فایل Pending.mqh را ایجاد کردیم و در این فایل کلاسها و تابع های لازم را ساختیم. با آنها میتوانیم اطلاعات سفارشهای شرطی معلق و Ticket آنها را واکشی کنیم. راجع به مفهوم سفارش معلق نیز خواهید آموخت.
ما تابع ModifuyPending را در کلاس CTrade برای اصلاح قیمت و حدضرر و حد سود سفارش های شرطی معلق تعریف کردیم. سپس تابع Delete را در کلاس Ctrade برای حذف سفارش های شرطی معلق ایجاد کردیم.
پس از آماده شدن کلاس CTrade به ساخت اکسپرت پرداختیم. اکسپرتی برای ارسال سفارش شرطی از نوع Buy Stop در بیشترین قیمت کندل قبل ساختیم. در خلال ساخت این اکسپرت یاد گرفتیم که چطور اطلاعات زمانی و قیمتی کندل ها را ذر یک آرایه ذخیره کنیم.
سفارش شرطی چیست ؟
سفارش شرطی به انگلیسی Pending Order، سفارشی است که به کارگزار ارسال میشود تا سهمی را تحت شرایط معینی در آینده بخرد یا بفروشد.
انواع سفارش شرطی
سفارشهای شرطی شامل انواع زیر هستند:
سفارش Buy Limit – برای ارسال سفارش خرید در قیمتی پایینتر از قیمت فعلی بازار از سفارش شرطی BuyLimit باید استفاده کرد.
سفارش Buy Stop – برای ارسال سفارش خرید در قیمتی بالاتر از قیمت فعلی بازار از سفارش شرطی BuyStop باید استفاده کرد.
سفارش Sell Limit – برای ارسال سفارش فروش در قیمتی بالاتر از قیمت فعلی بازار از سفارش شرطی Sell Limit باید استفاده کرد.
سفارش Sell Stop – برای ارسال سفارش فروش در قیمتی پایین تر از قیمت فعلی بازار از سفارش شرطی Sell Stop باید استفاده کرد.
سفارش Buy Stop Limit – این نوع سفارش شرطی ترکیبی از دو حالت قبل یعنی Buy Limit و Buy Stop است. ما باید در این نوع سفارش شرطی دو قیمت تعریف کنیم. یک قیمت را به عنوان Stop Limit Price تعریف میکنیم. اگر قیمت سهم به این قیمت رسید، در این صورت سفارش خرید در قیمتی که به عنوان قیمت سفارش تعریف کردیم برای ما ارسال شود.
سفارش Sell Stop Limit – این نوع سفارش شرطی ترکیبی از دو حالت قبل یعنی Sell Limit و Sell Stop است. ما باید در این نوع سفارش شرطی دو قیمت تعریف کنیم یک قیمت را به عنوان Stop Limit Price تعریف میکنیم. اگر قیمت سهم به این قیمت رسید، در این صورت سفارش فروش در قیمتی که به عنوان قیمت سفارش تعریف کردیم برای ما ارسال شود.
آموزههای اصلی
- استفاده از سفارش های شرطی یا Pending Order
- برنامه نویسی شی گرا برای ارسال سفارش در اکسپرت
- ذخیره و استفاده از دادههای زمانی و قیمتی کندل ها
این آموزش بینظیر است زیرا:
- نقطه شروع معامله الگوریتمی شرطی است.
- به آموزش اکسپرت نویسی MQL5 میپردازیم که آخرین نسخه MQL است.
- فرآیند ارسال سفارش شرطی به صورت عملی تست میشود.
- تمام سورس کدها به آموزش پیوست شده است.
پیشنیاز
- آموزش MQL5 برای ساخت ربات معامله ــ فصل ۰
- آموزش mql5 برای ساخت اکسپرت معامله گر با MQL5 ــ فصل ۱
- آموزش mql5 برای ساخت اکسپرت معامله با MQL5 ــ فصل ۲
کلیدواژگان
سفارش شرطی چیست – سفارش شرطی و مستقیم – pending order – انواع سفارش شرطی – اکسپرت با امکان سفارش شرطی – سفارش شرطی معلق – تست استراتژی در مفیدتریدر – کدنویسی MQL5 در متاتریدر – آموزش اکسپرت نویسی mql5 – آموزش ساخت ربات بورس
حسین زاده –
سلام وقت بخیر
ببخشید شما چطوری در mql5 قیمت پایانی یه سهم را میگیرید برای هر سهم؟
چون داخل دستورات فقط high – low -open اینا هست و قیمت پایانی را ندارد ایا راه کاری وجود دارد برای گرفتن؟
باتشکر
معصومه کرمی –
سلام وقت شما هم بخیر تا جای که بنده میدونم متاتریدر قیمت پایانی گزارش نمیکنه و فقط قیمت Open – Close – Low – high کندل ها در دسترسه.
میثم (خریدار محصول) –
با سلام و تشکر
آموزش شما خیلی خوبه، فقط حیف که به درد حسابهای فارکس نمیخوره. تدریس شما فقط بر اساس حساب های Net بوده که در بازار فارکس کاربردی نیست. در بازار بورس ایران هم که معاملات الگوریتمی ممنوعه و اگر هم ممنوع نبود، انقدر صف خرید و صف فروش میشه که هیچ تحلیلی جواب نمیده. اگر آموزش بر اساس حسابهای hedg بود خیلی بهتر بود.
معصومه کرمی –
سلام و ممنون از نظرتون
هدف ما در این آموزش یادگیری زبان MQL5 و امکانات این زبان برای ساخت اکسپرته اونه (نه ساخت یک اکسپرت خاص برای یک بازارمالی خاص)
وقتی شما زبان برنامه نویس MQL5 و اصول ساخت اکسپرت ها را یاد بگیرید میتونید در هر بازار مالی (با شرایطی که اون بازار داره) و برای هر استراتژی معاملاتی که دارین اکسپرت بسازید.
جعفری (خریدار محصول) –
سلام وقت بخیر من یه استراتژی بر اساس اندیکاتور ها روی یه نماد با ایتراتژی تستر امتحان می کنم و مشکلی نداره خطوط هم رسم میشه اما وقتی Expert را در محیط واقعی روی نماد می اندازم هیچ خطی از هیچ کدام از انیکاتور های استراتژی رسم نمیشه و تا حالا تریدی هم اجام نداد آیا باید اندیکاتور ها را به صئرت دستس اضافه کنم؟
سعید –
با درود و احترام ، آیا میتونیم ربات طراحی شده را روی ارزهای دیجیتال پیاده سازی کنیم؟
+ استفاده خرید و فروش در صرافی های بایننس و کوینکس
علی نصیری (خریدار محصول) –
با عرض سلام و خسته نباشید خدمت همه دست اندر کاران هم رویش و مدرس گرامی سرکار خانم کرمی
میخواستم بپرسم فصل چهارم کی منتشر میشه ؟
مصطفی احمدزاده (خریدار محصول) –
سلام.درس اول رو دوبار اپلود کردین بجای مقدمه
معصومه کرمی –
سلام ممنون از اطلاعتون.
لینک ها اصلاح شد
ar –
آیا در فیلم های آموزشی شما آموزش داده شده است که چگونه مفید تریدر فقط سهام هایی را پیدا کند و نمایش دهد که سیگنال خاصی از یک اندیکاتور را دارند مثلا فقط سهم هایی را پیدا و معرفی کند که در آنها خط آخرین قیمت در زیر خط پایینی کانال (در زیر کف یک کانال صعودی) قرارداشته باشد یعنی فقط سهام هایی که در آنها اندیکاتور رسم خودکار کانال سیگنال خرید صادر کرده است در مارکت واچ یا در صفحه مفید تریدر یا در صفحه هشدار نمایش داده شوندیا باز شوند و سپس پیامک سیگنال در واتساپ یا تلگرام برایمان ارسال شود آیا فقط ساخت اکسپرت برای سیگنال مووینگ اوریج را آموزش داده اید یا ساخت اکسپرت برای سیگنال های اندیکانور ایچیموکو و اندیکاتور رسم خودکار کانال را هم آموزش داده اید
معصومه کرمی –
سلام خیر
ما تا اینجا هدفمون یادگیری اصول برنامه نویسی با زبان MQL5 و معرفی اصلی ترین تابع های MQL5 بوده ینی شما تو این آموزش با ابزار آشنا میشید.
انشاالله در ادامه آموزش های تکمیلی بصورت مستقل در وب سایت هم رویش منتشر میشود
صادق بهرمندجوی (خریدار محصول) –
سلام. لطفا عدم بستن پوزیشن در همان کندل معامله را به فایل دوره بعد اضافه کنید. ممنون از تدریس عالی شما.
معصومه کرمی –
سلام ممنون از نظرتون و چشم.