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

۱۸۰,۰۰۰ تومان

پایتون کتابخانه‌های تحلیل داده و هوش مصنوعی آماده‌ بسیاری دارد. از طرف دیگر متاتریدر ۵ یک پلتفرم معاملاتی با کاربرد در بورس، فارکس و ارزهای دیجیتال است. در متاتریدر با زبان 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 که به معاملات الگوریتمی با الگوریتم‌های هوش مصنوعی و یا تحلیل داده علاقه دارد.

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

البته همان طور که گفتیم، شما در صورتی که تنها با اصول برنامه نویسی (حتی جدا از زبان‌های بالا) آشنایی قبلی داشته باشید باز هم می‌توانید از این آموزش استفاده کنید زیرا آماده سازی محیط‌ها نیز در درس ۲ از صفر گفته شده است. با این حال در صورت تمایل می‌توانید از لینک‌های زیر نیز برای آموزش اصولی زبان‌های مذکور استفاده کنید.

 

برای آموزش برنامه نویسی متاتریدر ۵ و ساخت ربات معامله گر از صفر:

 

برای آموزش زبان برنامه نویسی پایتون از صفر:

 

مشخصات فنی

مدت زمان

۲ ساعت (فشرده)

محتوای بسته

فیلم + سورس کد

سبک تولید

فشرده/تدوینی/سناریودار

 

نظرات

۴.۹
از ۵
۳۲ مشارکت کننده
شما هم می‌توانید در مورد این کالا نظر بدهید.
ثبت نظر
  • فشرده و مفید
    مصطفی آصفی | ۰۱/۰۵/۰۴
    مثل آموزش هایی که از مهندس کرمی در هم رویش سراغ دارم، کوتاه، بدون اضافه گویی اما پر از جزئیات! خدا قوت
    • معصومه کرمی | ۰۱/۰۶/۰۸
      سلام. شما به من لطف دارین ممنونم.
  • خطا
    محسن علمدار | ۰۱/۰۵/۰۷
    . \ mqlenv \ Scriprs \ activate وقتی این دستور را می زنم پیغام خطا میده و نمی تونم ادامه بدم
    • معصومه کرمی | ۰۱/۰۵/۰۸
      سلام دوست عزیز. اینجا که نوشتید خطای تایپی دارید Scripts رو با r نوشتید. اما شاید اینجا فقط این طوره. لطفا متن خطایی که دریافت می کنید بفرستید تا بشه راهنمایی کرد.
  • error
    زهرا ابراهیمی | ۰۱/۰۵/۱۶
    سلام خدا قوت من هرچقدر این کد رو میزنم ارور میده .\mqlenv\Scripts\activate
  • متن خطا
    زهرا ابراهیمی | ۰۱/۰۵/۱۶
    Activate.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170. At line:1 char:1 + ~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
    • معصومه کرمی | ۰۱/۰۵/۱۷
      سلام زنده باشین. ببینید این خطا مربوط به PowerShell هست. در واقع خطا نیست هشدار امنیتیه. شما چند کار می تونید بکنید. یا می تونید با دستور تو ترمینال ویژوال استودیو کد Set-ExecutionPolicy Unrestricted -Force این امنیت رو موقت بردارید. یا این که یک پاورشل با جستجوی کلمه powershell و انتخاب run as administrator تو سرچ ویندوز باز کنید و اونجا محیط مجازی رو بسازید. یا این که برای ساخت محیط مجازی تو vs code به جای پاور شل از سمت راست ترمینال روی + بزنید و CMD باز کنید. باز اگه خود متن خطایی که دریافت کردین رو گوگل کنید همراه با دو عبارت venv و python راه های دیگه ای هم گفته شده که می تونید به سرعت روی سیستم امتحان کنید تا جواب رو با توجه به سیستم خودتون و تنظیمات و محیطی که کار می کنید بگیرید.
  • درخواست بررسی خطا
    احسان کرمی | ۰۱/۰۷/۰۱
    با عرض سلام و خسته نباشید ممنون بابت آموزشای خوبتون بنده تمام مراحل این آموزش رو انجام دادم از \ای چارم استفاده کردم وتموم کتابخونه ها با همون ورژن هایی که گفتین نصب کردم بدون خطا برنامه \ایتون در حال اجراست فقط مشکلی که دارم اینه که سمت متاتریدر شرط زیر همواره برقرار نیست و در نتیجه داده ای هم ارسال نمیشه. if(socket!=INVALID_HANDLE)
    • درخواست مجدد بررسی خطا
      احسان کرمی | ۰۱/۱۰/۱۷
      با سلام قبلا از لایت فارکس که استفاده کردم این خطا برطرف شد ولی الان که لایت فارکس فیلتر شده و نمیتونم ازش استفاده کنم از مفید تریدر که استفاده میکنم مجددا با همین خطا میخورم ممنون میشم راهنماییم کنین.
  • درخواست بررسی خطا
    احسان کرمی | ۰۱/۰۷/۰۱
    با سلام مجدد بنده خطای قبلی را جواب گرفتم به خاطر ضعف در نت بود که با چنج نتم جواب گرفتم فقط الان مشکلی که هست چرا داخل متاتریدر اجرا میشه ولی داخل استراتژی تستر اجرا نمیشه
    • معصومه کرمی | ۰۱/۰۷/۰۱
      سلام وقت بخیر. ممنون که رفع مشکلتون رو اطلاع دادین. در مورد سوال دومتون دقت کنید که منطق کد ما واکشی قیمت حال از سرور هست و طبیعتا نمی تونه با روند پرتاب قیمت گذشته در استراتژی تستر همگام بشه.
  • متاتریدر
    رضا محمدزاده | ۰۱/۰۸/۱۵
    ایا امکان ترید خارج از متاتریدر با پایتون هم ممکنه؟
    • معصومه کرمی | ۰۱/۰۸/۱۵
      سلام. بله پایتون یکی از پرکاربردترین زبان ها در تحلیل و معامله خودکار بازارهای مالی محسوب میشه. از پایتون به صورت مستقل هم می تونید استفاده کنید. توصیه می کنم آموزش های معامله الگوریتمی با پایتون رو دنبال کنید. اولین عنوان در این مجموعه «تحلیل اکتشافی داده های مالی با پایتون» در فروشگاه سودگاه هست. به زودی فصل های بعدی تا اجرای معامله خودکار با پایتون هم منتشر خواهند شد.
  • م
    م | ۰۱/۰۸/۲۸
    سلام در "آموزش اتصال متاتریدر به پایتون با سوکت" آیا نیاز به قرار دادن رمز عبور کارگذاری در سوکت پایتون برای اتصال به متاتریدر هست؟ اگر در تریدر log in نباشیم باز هم سوکت کار می کند؟
    • معصومه کرمی | ۰۱/۰۸/۳۰
      سلام به شما برای اتصال با سوکت نیاز به لاگین کردن در متاتریدر و دسترسی به رمز حساب در کارگزاری نیست
  • پایتون
    مرتضی | ۰۱/۱۰/۲۲
    سلام وقت بخیر بنده معامله گر فارکس هستم و میخوام برای خودم اندیکاتور و اکسپرت معامله گر از مبتدی تا پیشرفته رو یاد بگیرم. با توجه به اینکه شنیدم پایتون زبان راحت تر و بهتری هست آیا زبان پایتون میتونه کارهای mql رو انجام بده و باهاش میشه اندیکاتور اکسپرت نوشت و در متاتریدر هم استفاده کرد؟
    • معصومه کرمی | ۰۱/۱۲/۰۸
      سلام اگه هدف شما ساخت اکسپرت و اندیکاتور باشه من پیشنهاد می کنم زبان MQL5 رو یاد بگیرید و با اکسپرت ها و در متاتریدر اجرا کنید. اما اگه میخواین از یادگیری ماشین و همش مصنوعی در اکسپرت ها استفاده کنید باید سراغ پایتون بیاید.
  • استفاده در بورس ایران
    اصغر علی محمدلو | ۰۱/۱۱/۱۳
    سلام، ضمن تشکر از آموزش خوبتون، برای استفاده از این روش در بورس ایران، فقط باید در تایم بازار کار کنیم؟ من امروز پنجشنبه دارم استفاده میکنم ، در فارکس جواب میده ولی روی نمادهای بورسی خروجی نداره!
  • ران بودن همیشگی
    محمد | ۰۲/۰۱/۱۳
    سلام یه سوال ما وقتی mt5 رو به پایتون وصل کردیم چطوری باید این اتصال رو همیشگی داشته باشیم حتی وقتی ما برنامه هارو میبندیم . فایل پایتون روی vps ران میشه و بسته نمیشه هیچ وقت اما mql رو چیکارش کنیم؟؟ قطع میشه اگر برنامه رو ببندیم؟؟ باید mql هم روی vps ران بشه؟؟
    • معصومه کرمی | ۰۲/۰۱/۱۵
      سلام بله باید متاتریدر رو هم روی vps اجرا کنید.
  • مختصر، مفید و دقیق
    ابوذر رحمانی | ۰۲/۰۱/۱۹
    به این میگن یک آموزش استاندارد مختصر ، مفید و دقیق بسیار سپاسگزارم فقط دوتا مشکل دارم ممنون میشم راهنمایی بفرمایید اول اینکه چیکار کنیم که این ااتصال بتونه تو حالت بک تست هم کار کنه چون من برای بک تست اجرا کردم ظاهرا اتصال برقرار نمیشه دوم اینکه نمیدونم چرا روی سیستم من دیتاها از متا به پایتون میرسه ولی پایتون دیتاها رو به یک پورت دیگه ای میفرسته در واقع هر بار که دیتا براش میاد به یه پورت خاصی میفرسته و دائم این پورت داره تغییر میکنه و به همین دلیل دیتا به متاتریدر نمیرسه
    • معصومه کرمی | ۰۲/۰۱/۲۰
      سلام خوشحالم که آموزش برای شما مفید بوده درجواب سوال اولتون در متاتریدر اتصال به پایتون با سوکت در بک تست انجام نمیشه باید از روش های دیگه استفاده کنید به عنوان مثال داده ها را از متاتریدر بیرون بکشید و بعد با زبان پایتون روی داده ها بک تست انجام بدین پورت رو سمت پایتون و MQL بصورت یکسان وارد کنید
  • رضایت از بسته آموزشی
    محمد | ۰۲/۰۲/۱۲
    با عرض سلام این مجموعه اموزشی بسیار عالی و کاربردی بود، تدریس فوق العاده بود مطالب از پایه بیان شده است، هم تئوری و کد نویسی رو خیلی خوب بیان می کنند.مدرس بیان خیلی خوبی در انتقال مطالب دارن و توضیجات با جزئیات همراه است. امیدوارم ادامه این آموزش در دست تهیه باشد. با تشکر فراوان
  • خطا در اتصال
    مهدی جیریائی شراهی | ۰۲/۰۲/۱۴
    سلام من وقتی کلاینت و سرور رو اجرا میکنم داخل متا تریدر با این خطا روبرو میشم : connection192.168.81.17:14201erroe5270
  • ارور و تغییر در نسخه ی فایل های قابل نصب
    jalal alizadeh | ۰۲/۰۲/۲۹
    سلام خدمت شما . در نصب فایل requirements.txt ارور `numpy.distutils` is deprecated since NumPy 1.23.0, as a result of the deprecation of `distutils` itself. It will be removed for Python >= 3.12. For older Python versions it will remain present. It is recommended to use `setuptools
  • خطا
    مهرداد ارمیون | ۰۲/۰۴/۱۸
    ممنون از اموزشتان وقتی محیط مجازی در ویژوال استودیو فعال شد دیگه نمیشه چیزی تایپ کرد چطوری میتونیم محیط مجازی و ترمینال عیر فعال کنیم چون وقتی برنامه پایتون در همان پورت فعال میکنیم خطا نشون میده PS C:\Users\HP\Desktop\PyMql> .\mqlenv\Scripts\Activate.ps1 (mqlenv) PS C:\Users\HP\Desktop\PyMql> python .\socketsrever.py Traceback (most recent call last): File "C:\Users\HP\Desktop\PyMql\socketsrever.py", line 47, in serv = socketserver('192.168.1.36', 14228) File "C:\Users\HP\Desktop\PyMql\socketsrever.py", line 9, in __init__ self.sock.bind((self.address, self.port)) OSError: [WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted (mqlenv) PS C:\Users\HP\Desktop\PyMql>
    • معصومه کرمی | ۰۲/۰۴/۲۰
      سلام. شاید خوب منظورتون رو بیان نکردین یا من خوب متوجه نشدم ولی محیط مجازی هیچ ارتباطی با تایپ کردن نداره. خطایی که فرستادین داره می گه شما یک پورت رو مشغول کردین و الان اگه مجدد قصد کار دارین باید شماره پورت دیگه ای استفاده کنید.
  • سوال
    مهرداد ارمیون | ۰۲/۰۴/۱۹
    برای اتطال به تلگرام بدون فیلتر شکن با سوکت با پایتون کد نوشتم اولش درست کار میکنه ولی بعد یه مدت قطع میشه ممنون میشک راهنمایی بفرمایید import socket, numpy as np import requests import time class socketserver: def __init__(self, address = '', port = ''): self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.address = address self.port = port self.sock.bind((self.address, self.port)) def recvmsg(self): self.sock.listen(1) self.conn, self.addr = self.sock.accept() print('connected to', self.addr) self.cummdata = '' while True: data = self.conn.recv(10000) self.cummdata=data.decode("utf-8") ms = self.cummdata print(data) if not data: print("no data") break url = ("https://api.telegram.org/bot6006568522:AAEImDcfzbVS853qk4NLtByJIXIfwBnyDJ0/sendmessage?chat_id=88634166&text="+ms) payload = {"UrlBox":url, "AgentList":"Mozilla Firefox", "VersionList":"HTTP/1.1", "MethodList":"POST" } req = requests.post("http://www.httpdebugger.com/tools/ViewHttpHeaders.aspx",payload) #time.sleep(4) print(req) return self.cummdata def __del__(self): self.sock.close() serv = socketserver('192.168.1.36', 14232) print("Start Python server at",serv.address, "on port", serv.port) while True: msg = serv.recvmsg()
    • معصومه کرمی | ۰۲/۰۴/۲۰
      سلام. ببینید شما از این آموزش اتصال سوکت نمی تونید برای اتصال به تلگرام به این شکل استفاده کنید. برای سوکت نویسی تلگرام باید از API خود تلگرام استفاده کنید که یک نمونه از کاربرد API تلگرام رو تو سورس کدهای حلزون و هدهد (که خودتون هم خریدارشون هستین و اونجا هم سول پرسسیدن) نشون دادم. ضمنا از نت داخل کشور بدون فیلترشکن نمی تونید به سرور تلگرام متصل بشین.
      • پاسخ
        مهرداد ارمیون | ۰۲/۰۴/۲۰
        خیلی ممنون
  • عدم اجرای اکسپرت در متاتریدر
    سعید یزدانی | ۰۲/۰۴/۲۸
    هنگام اجرای اکسپرت سوکت در متاتریدر با خطای زیر روبرو میشم 2023.07.19 20:27:55.680 socet (XAUUSD,M5) Connection 192.168.100.3:14201 error 4014
    • معصومه کرمی | ۰۲/۰۵/۰۱
      سلام لطفا این سه نکته رو بررسی کنید: ۱- از مسیر پایین آی پی/هاست نیم رو اضافه کنید: Tools->Options->Expert Advisor -> allowed URLs 2- تنظیمات فایروال خودتون رو بررسی کنید چون ممکنه پورت رو مسدود کنه ۳- آی پی '127.0.0.1' رو آزمایش کنید.
  • اتصال پایدار
    بهزاد | ۰۲/۱۰/۲۶
    می‌بخشید خانوم کرمی ربات های پایتونی یادگیری ماشین و شبکه عصبی مصنوعی که با ماژول به متاتریدر متصل میشود آیا دارای اتصالی پایدار برای انجام معاملات اسکالپ هستند؟ به عبارتی این ارتباط بین پایتون و اکانت معاملاتی ما در متاتریدر مناسب برای انجام معاملات در تایم 5 دقیقه یا کمتر می باشد؟
  • معاملات الگوریتمی با پایتون
    بهزاد | ۰۲/۱۰/۲۶
    سلام و عرض ادب و خدا قوت واقعا سایت و پکیج های آموزشی عالیی دارید ان شاالله همیشه پرسود و سلامت باشید ✌????⚡ می بخشید خانوم کرمی میخواستم بدونم درست متوجه شدم برای انجام معاملات فارکس به طور خودکار با پایتون و استفاده از شبکه عصبی مصنوعی و یادگیری ماشین برای تحلیل قیمت ???? ابتدا اتصال متاتریدر به محیط برنامه نویسی پایتون مثلا Vs code (با ماژول یا سوکت) سپس دریافت داده های قیمتی از متاتریدر و تحلیل تکنیکال و پیش‌بینی روند قیمت با استفاده از شبکه عصبی مصنوعی و یادگیری ماشین در محیط Vs code وسپس ارسال سیگنال خرید یا فروش به متاتریدر و با اکسپرتی که به زبان MQL نوشته شده تعیین SL و TP و قرار دادن معامله با توجه به سیگنال دریافتی از پایتون و درنتیجه انجام معاملات خودکار به این شکل...
    • بحث
      مهدی عسگریزاد | ۰۲/۱۲/۱۴
      سلام و درود بر شما بله همین طور است و هر چه مدل طراحی شده پارامترهای بیشتری را دخیل کند یا به عبارتی دقت بهتری داشته باشد نتیجه بهتری را در هر لحظه به متاتریدر ارسال می کند و در عین حال پیش بینی دقیقتر خواهد بود اما مسئله مهم در خصوص داده های مالی اینه که این داده ها بسیار فرار ، نوسانی و متلاطم هستند و این پیچیدگی تنها راه حلی را که می طلبد استفاده از مدلهایی که درک بهتری از این آشفتگی دارند ، شما چهره یک بفرض مثال گربه را به یک مدل کانولشنال که می دهی تمام فیچرها را از لایه ها استخراج می کند و سپس تشخیص ، اما ما در بازارهای مالی با اینکه اکثرا تک بعدی هستند با مدلهای متغیر در زمان همراه با نوسان سر کار داریم که به آینده مربوط میشه و این پیچیدگی را افزایش می دهد و این مسئله تخصص خودرا می طلبد و نیازمند یک شبکه عصبی عمیق هست که اگر الگوی مربوط به پریود ساعت روز ماه سال را بفهمد مسله تا اندازه ای شکل می گیرد البته در این میان نتایج رگرسیون لجستیک هم عالی هست
  • .\mqlenv\Scripts\activate
    مهدی عسگریزاد | ۰۲/۱۲/۱۰
    سلام و سپاس بابت آموزشهای خوب و عالی شما بنده تا دستور ".\mqlenv\Scripts\activate" را طبق آموزش ویدئوی اول اجرا می کنم پیغامی مبنی بر غلط املایی میده البته در فایل txt که گذاشتین برای دانلود اشتباه تایپ شده \Scriprs\ که تصحیح کردم اما هنوز پیغام ذیل را می دهد PS E:\algoritm trading\pymql> .\mqlenv\Scripts\activate .\mqlenv\Scripts\activate : File E:\algoritm trading\pymql\mqlenv\Scripts\Activate.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170. At line:1 char:1 + .\mqlenv\Scripts\activate + ~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
    • با یک سرچ در گوگل حل شد
      مهدی عسگریزاد | ۰۲/۱۲/۱۰
      پیغام خطای بالا در خصوص غیر فعال بودن پاور شل اسکریپ "PowerShell script" هست با سرچ در گوگل در این صفحه ذیل پاسخ آمده : "https://lazyadmin.nl/powershell/running-scripts-is-disabled-on-this-system/" البته من کار شما رو راحت می کنم با یک خط کد در پاور شل که البته در حالت ادمین بالا بیاد دستور ذیل : Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser که در لینکی که گذاشتم توضیحاتشو دادن البته بنده این متن رو سرچ کردم : How to fix the problem “Running Scripts is Disabled on this System” این گوگل بی نظیره همه چیز در انسان نهفته هست بیرون ز تو نیست آنچه در عالم هست از خود بطلب هر آنچه که خواهی که تویی تعجب نکنید که ایلان ماسک این همه پیشرفت کرده روشی که ایلان ماسک پیاده سازی کرده و خیلی از آدمهای موفق
      • معصومه کرمی | ۰۲/۱۲/۱۱
        سلام و سپاس برای اشتراک گذاری تجربه.
  • ورژن جدید کتابخانه ها
    مهدی عسگریزاد | ۰۲/۱۲/۱۰
    خانم مهندس عرض سلام و درود شما فرمودید ورژن های ذیل مورد نیاز هست joblib==1.1.0 numpy==1.23.0 scikit-learn==1.1.1 scipy==1.8.1 threadpoolctl==3.1.0 اگر ورژن های جدید رو جایگزین کنم ایراد دارد ؟
    • معصومه کرمی | ۰۲/۱۲/۱۱
      سلام وقت بخیر. تو دنیای پایتون چون کتابخونه ها خیلی گسترده هستن گاهی پیش میاد که روزآمدی یک ابزار باعث ناسازگاریش با ابزار دیگه ای میشه. اما از طرف دیگه چون خیلی جامعه پایتونی هم وسیع هست معمولا اگرم خطایی پیش بیاد با جستجو در گوگل و امتحان راهکارهایی که معمولا تو سایت stackoverflow ارائه میشه مشکل رو حل می کنه. شما یک محیط مجازی درست کنید (python -m venv youname) و بعد تو اون محیط مجازی ورژن های روز رو نصب کنید که اگرم به مشکل خوردین و نتونستید حل کنید نسخه های سیستمی خودتون به هم نریزه.
      • تشکر
        مهدی عسگریزاد | ۰۲/۱۲/۱۳
        سپاسگزارم اگر مشکلی بود با شما درمیان می گذارم
  • رسم خط عمودی و پاک کردن آن
    مهدی عسگریزاد | ۰۲/۱۲/۲۶
    خانم مهندس ممنون آموزشتون در خصوص رسم خط رگرسیون عالیه اما نکته اینجاست که وقتی اکسپرت را از روی نمودار بر می داریم خط رگرسیون می مونه چگونه میشه خط را پاک کنیم بدون اینکه نمودار نماد را ببندیم مورد دیگه اینکه بنده خط رگرسیون را به اکسپرتم اضافه نمودم و یک آلرت گذاشتم که اگر شرایط ورود محرز شد پنجره آلرت فعال میشه حالا می خوام روی کندل حال حاضر یک خط عمودی بندازه به این روش شما و داشتن دو نقطه میشه خط عمودی بندازی اما نمیشه پاکش کرد . آیا روش دیگه ای برای رسم خط عمودی روی کندل حال حاضر هست ؟
    • اضافه
      مهدی عسگریزاد | ۰۲/۱۲/۲۶
      البته خط عمودی را جهت نشانه گذاری کندل حال حاضر بعد آلرت می خوام
      • معصومه کرمی | ۰۲/۱۲/۲۷
        سلام وقت شما بخیر برای حذف ابجکت ها میتونید از تابع ObjectDelete استفاده کنید این تابع را در OnDeinit تعریف کنید تا بعد از بستن اکسپرت ابجکت ها از روی چارت حذف شوند
      • معصومه کرمی | ۰۲/۱۲/۲۷
        میتونید با داشتن مختصات یک نقطه هم خط عمودی رسم کنید مختصات کندل جاری رو به تابع ObjectCreate بدید تا خط برای شما رسم بشه
        • سپاس گذاری
          مهدی عسگریزاد | ۰۲/۱۲/۲۹
          با سلام و عرض تبریک سال نو سپاس از شما بانوی محترم
    • اضافه
      مهدی عسگریزاد | ۰۲/۱۲/۲۷
      خط عمودی یا یک نشانه جهت نشانه گذاری کندل حال حاضر
  • اکسپرت
    سید محمد مبین مبین طباطبائی | ۰۳/۰۱/۰۴
    سلام وقتتون بخیر ببخشید با دیدن این دوره میتونیم اکسپرتی رو بنویسیم که با تحلیل کردن لحظه ای کندل ها، یعنی قبل از اینکه یک کندل بسته بشه، اون رو تحلیل کنه و بصورت خودکار پارشال کلوز رو انجام بده، یعنی وقتی میزان مجموع اسپرد و کومیسیون برابر با میزان سود بود، حد ضرر رو روی اون نقطه قرار بده، بطوری که هیچ مقدار ضرری نکنیم. آیا میشه این مدل اکسپرت رو با پایتون نوشت؟
    • معصومه کرمی | ۰۳/۰۱/۰۴
      سلام بله میتونید قیمت و اطلاعات مورد نیازتون رو با MQL5 از متاتریدر بیرون بکشید و به وسیله سوکت به پایتون ارسال کنید و بعد با پایتون محاسباتتون رو انجام بدین و در آخر سفارش رو با MQL5 ارسال کنید اما این استراتژی که گفتین به نظر میاد با زبان MQL5 راحتتر میشه به اکسپرت تبدیلش کرد و نیازی به استفاده از پایتون ندارد.

نظر شما راجع به این محصول چیست؟

آموزش اتصال متاتریدر به پایتون با سوکت
چه امتیازی به این محصول میدهید.

آموزش ساخت ربات معامله بدون برنامه‌نویسی با fxDreema
بسته جامع منتشر شد (کلیک کنید)

رمز عبورتان را فراموش کرده‌اید؟

ثبت کلمه عبور خود را فراموش کرده‌اید؟ لطفا شماره همراه یا آدرس ایمیل خودتان را وارد کنید. شما به زودی یک ایمیل یا اس ام اس برای ایجاد کلمه عبور جدید، دریافت خواهید کرد.

بازگشت به بخش ورود

کد دریافتی را وارد نمایید.

بازگشت به بخش ورود

تغییر کلمه عبور

تغییر کلمه عبور

حساب کاربری من

سفارشات

مشاهده سفارش

سبد خرید