آموزش اتصال متاتریدر به پایتون با سوکت
پایتون کتابخانههای تحلیل داده و هوش مصنوعی آماده بسیاری دارد. از طرف دیگر متاتریدر ۵ یک پلتفرم معاملاتی با کاربرد در بورس، فارکس و ارزهای دیجیتال است. در متاتریدر با زبان MQL میتوان برنامهنویسی کرد و ربات ساخت اما برای هوشمندسازی رباتها باید بسیاری از الگوریتمها را از صفر بنویسیم؛ زیرا کتابخانههای آماده MQL به گستردگی پایتون نیست.
پس ایده جذابی است که دادههای مالی متاتریدر را برای تحلیل به پایتون بفرستیم و بعد نتیجه را در متاتریدر دریافت و به وسیله زبان MQL5 به صورت خودکار روی بازار اجرا کنیم.
شما در بسته استفاده از پایتون در متاتریدر (+) با کدنویسی مستقیم پایتون در متاتریدر آشنا میشوید. در این بسته یک نوع اتصال راه دور بین متاتریدر و پایتون آموزش داده میشود. هر دو روش کاربردهای خود را دارند.
* تذکر: پیش از تهیه این بسته حتما فیلم معرفی و ریز سرفصلها را در ادامه این مطلب بررسی کنید.
فیلم معرفی
محتوای آموزش
ما در این آموزش با طرح مساله در درس ۱ شروع میکنیم. این که اتصال متاتریدر به پایتون چرا و چگونه اتفاق میافتد. از درس ۲ کار عملی آغاز میشود. فرض مدرس این است که مخاطب با اصول برنامه نویسی آشناست ولی ممکن است نه با پایتون و نه با متاتریدر قبلا کار نکرده باشد. پس سعی شده تا آماده سازی محیط کدنویسی و کارکرد ابزارها چه سمت کلاینت (متاتریدر ۵) و چه سمت سرور (پایتون) از پایه توضیح داده شود.
از درس ۳ شروع به کدنویسی سرور میکنیم. ابتدا سمت پایتون یک سوکت میسازیم. تابعها و پارامترهای آنها به طور کامل توضیح داده میشود. سپس به بیان مفهوم رگرسیون در درس ۴ و پیاده سازی آن در پایتون در درس ۵ میپردازیم. خواهید دید که کتابخانه Scikit-Learn در پایتون چقدر کار را ساده میکند. سرانجام در درس ۶ سوکت ساخته شده روشن خواهد شد.
از درس ۷ کدنویسی کلاینت (متاتریدر ۵) آغاز میشود. یک تابع برای ساخت سوکت در متاتریدر مینویسیم. پس از ایجاد سوکت نوبت به ارسال اطلاعات است. این کار را در درس ۸ پیش میبریم. آنگاه با فرض پردازش و بازگشت نتیجه از پایتون در درس ۹ تابعی برای دریافت اطلاعات از سرور مینویسیم. سرانجام در درس ۱۰ به ترسیم خط رگرسیون بر اساس اطلاعات دریافتی از سرور خواهیم پرداخت.
در پایان در درس ۱۱ کل کدها را تجمیع و اجرا میکنیم تا از درستی عملکرد پروژه مطمئن شویم. درس ۱۲ هم به جمع بندی کل مطالب گفته شده و ایده پردازی اختصاص دارد.
*تذکر ۱: در این آموزش پردازشی که روی دادهها انجام میشود شامل محاسبه رگرسیون قیمت/زمان است. اما شما ایده این آموزش را برای هر پردازش دیگری مانند یادگیری یک شبکه عصبی و یا الگوریتمهای تحلیل داده میتوانید استفاده کنید.
*تذکر ۲: در این آموزش به اتصال راه دور متاتریدر و پایتون میپردازیم که کاربردهای خود را دارد. برای کدنویسی مستقیم پایتون در متاتریدر بسته زیر را هم ببینید.
سرفصل مطالب
درس صفر: معرفی دوره
- - مشاهده خروجی پروژه
- - چرا اتصال متاتریدر به پایتون؟
- - پیشنیاز های آموزش
- - ایده های بهتر برای استفاده از این آموزش
- - مروری به آنچه در دوره گفته شده
درس یکم: اتصال پایتون و متاتریدر، چرا و چگونه؟
- - چرا باید اتصال متاتریدر به پایتون را ایجاد کنیم؟
- - روند کار در این آموزشی
- - تعریف مفهوم سوکت
درس دوم: ابزار و محیط کد نویسی
- - نصب متاتریدر5 و ساخت اکانت مجازی در آن
- - نصب پایتون نسخه 3.10.5
- - نصب محیط کدنویسی VSC
- - ایجاد پوشه پروژه
- - نصب محیط مجازی
- - نصب کتابخانه های مورد نیاز در پروژه
- - ایجاد فایل پروژه
درس سوم : ساخت سوکت سرور با پایتون
- - ساخت فایل socketserver.py
- - فراخوانی ماژول socket و numpy و sklearn در فایل پروژه
- - تعریف کلاس socketserver برای ایجاد سوکت پایتونی و اتصال به کلاینت
- - تعریف مفهوم ip آدرس و پورت برای اتصال به سرور
- - استفاده از متد socket از ماژول socket برای ایجاد سوکت سرور و آشنایی با پارامترهای ورودی آن
- - استفاده از متد bind از ماژول socket برای در دسترس قرار دادن socket
- - استفاده از متد listen از ماژول socket برای آماده اتصال شدن سرور و کلاینت
- - استفاده از متد accept از ماژول socket برای اتصال سرور و کلاینت
- - دریافت اطلاعات از کلاینت
- - محاسبه رگرسیون خطی روی داده های دریافتی از کلاینت
- - ارسال مختصات دو نقطه از خط رگرسیون به کلاینت
- - بستن سوکت سرور
درس چهارم : رگرسیون برای پیشبینی قیمت
- - آشنایی مفهوم رگسیون خطی
- - طرح یک مثال و بررسی روش پیش بینی قیمت توسز رگرسیون
درس پنجم: محاسبه رگرسیون خطی روی دادههای دریافت شده از کلاینت
- - تبدیل اطلاعات دریافتی از سمت کلاینت به یک آرایه با نوع داده float
- - آشنایی با متد fit و پارامترهای ورودی آن برای محاسبه رگرسیون خطی
- - مناسب سازی دادهها با استفاده از ماژول numpy برای محاسبهی رگرسیون خطی
- - محاسبه مختصات نقاط مختلف خط رگسیون
- - اجرای خط به خط کدها در GoogleColad برای درک بهتر مفهوم هر خط کد
درس ششم: اجرای سوکت سرور پایتونی
- - ایجاد سوکت سرور با ساخت ابجکت از کلاس socketserver
- - تعیین ip آدرس سیستم و پورت مورد نظر برای اتصال به سرور
- - آماده اتصال نمودن سرور به کلانت برای تبادل اطلاعات
درس هفتم: ساخت سوکت کلاینت با زبان MQL5
- - تعریف فایل socketclient.mq5 در متاادیتور
- - ایجاد سوکت با تابع SocketCreate
- - اتصال سوکت به ip آدرس و پورت که سرور در آن فعال است با تابع SocketConnect
- - ذخیره Close Price کندل ها در یک آرایه با تابع CopyClose
درس هشتم: ارسال اطلاعات از MQL5 به سرور پایتونی
- - تعریف فایل ExchangeData.mqh
- - ایجاد تابع socksend برای ارسال اطلاعات به سرور
- - استفاده از تابع StringToCharArray برای تبدیل استرینگ به داده های باینری
- - استفاده از تابع SocketSend برای ارسال داده های باینری به سرور
درس نهم: دریافت اطلاعات از سرور پایتون در MQL5
- - تعریف تابع socketserver برای دریافت اطلاعات سرور
- - استفاده از تابع SocketIsReadable برای بررسی ارسال اطلاعات از سرور
- - استفاده از تابع SocketRead برای خواندن اطلاعات سرور
- - استفاده از تابع CharArrayToString برای تبدیل اطلاعات باینری به استرینگ
- - تعریف مفهوم نوع داده ای که بین سرور و کلاینت تبادل می شود
درس دهم: رسم خط رگرسیون در نمودار قیمتی سهم
- - استفاده از تابع StringSplit برای ذخیره مقدار Y نقاط خز رگرسیون در آرایه
- - استفاده از تابع CopyTime برای ذخیره زمان کندل ها در یک آرایه
- - رسم رگرسیون خطی با داشتن مختصات دو نقطه از خط رگرسیون
درس یازدهم: اجرای پروژه و بررسی نتیجه
- - تعریف Ip آدرس سیستم به عنوان url های مجاز متاتریدر
- - اجرای کد پایتون و اتصال به سوکت از سمت سرور
- - اجرای کد MQL5 و اتصال کلاینت به سرور پایتون
- - بررسی اطلاعاتی که بین کلاینت و سرور تبادل می شود
درس دوازدهم: جمعبندی
- - جمع بندی مطالب گفته شده در این آموزش
- - ایده های برای ادامه مسیر و استفاده از کتاب خانههای پایتون برای کار با دادههای قیمتی
پیشنیاز
پیشنیاز این آموزش آشنایی با یک زبان برنامه نویسی تا سطح شی گرایی است. البته بهترین استفاده را در صورتی میبرید که با یکی از زبانهای برنامهنویسی زیر آشنا باشید.
الف- برنامه نویس متاتریدر ۵ و زبان MQL5 که به معاملات الگوریتمی با الگوریتمهای هوش مصنوعی و یا تحلیل داده علاقه دارد.
ب- برنامه نویس پایتون که به استفاده از دادههای بازارهای مالی در طراحی الگوریتمهای یادگیری ماشین و یادگیری عمیق علاقه دارد.
البته همان طور که گفتیم، شما در صورتی که تنها با اصول برنامه نویسی (حتی جدا از زبانهای بالا) آشنایی قبلی داشته باشید باز هم میتوانید از این آموزش استفاده کنید زیرا آماده سازی محیطها نیز در درس ۲ از صفر گفته شده است. با این حال در صورت تمایل میتوانید از لینکهای زیر نیز برای آموزش اصولی زبانهای مذکور استفاده کنید.
برای آموزش برنامه نویسی متاتریدر ۵ و ساخت ربات معامله گر از صفر:
برای آموزش زبان برنامه نویسی پایتون از صفر:
مشخصات فنی
مدت زمان | ۲ ساعت (فشرده) |
محتوای بسته | فیلم + سورس کد |
سبک تولید | فشرده/تدوینی/سناریودار |
نظرات
۴.۹ از ۵ ۳۵ مشارکت کننده شما هم میتوانید در مورد این کالا نظر بدهید. ثبت نظر - فشرده و مفید
-
- خطا
-
- error
- متن خطا
-
- درخواست بررسی خطا
- درخواست مجدد بررسی خطا
- درخواست بررسی خطا
-
- متاتریدر
-
- م
-
- پایتون
-
- استفاده در بورس ایران
- ران بودن همیشگی
-
- مختصر، مفید و دقیق
-
- رضایت از بسته آموزشی
- خطا در اتصال
- ارور و تغییر در نسخه ی فایل های قابل نصب
- خطا
-
- سوال
-
- پاسخ
- عدم اجرای اکسپرت در متاتریدر
-
- اتصال پایدار
- معاملات الگوریتمی با پایتون
- بحث
- .\mqlenv\Scripts\activate
- با یک سرچ در گوگل حل شد
-
- ورژن جدید کتابخانه ها
-
- تشکر
- رسم خط عمودی و پاک کردن آن
- اضافه
-
-
- سپاس گذاری
- اضافه
- اکسپرت
-
- سوال
-
- ارسال داده توسط متاتریدر
-
- سوکت برای متاتریدر4
-
نظر شما راجع به این محصول چیست؟
- درخواست مجدد بررسی خطا
-
- پاسخ
-
- بحث
- با یک سرچ در گوگل حل شد
-
-
- تشکر
-
- اضافه
-
-
- سپاس گذاری
-
-
- اضافه