hl ;d,در این سری از ویدئو به آموزش زبان MQL-4 پرداخته می شود. این مجموعه رایگان در اختیار دوستانی که تمایل به یاد گیری این زبان را دارند قرار داده شده است ،لطفا توجه بفرمایید که بعضی از مباحث آموزش داده شده حتی به زبان انگلیسی هم موجود نمی باشد و حاصل تجربیات شخصی است.
نکات مهم در یادگیری برنامه نویسی ام کیو ال:
برای موفقیت در زبان برنامه نویسی ، تمامی مباحث اریه شده را با جدیت پیگیری کنید (مخصوصا دوره مقدماتی) بعد از هر درس کدها و مفاهیم آموزش داده شده را شخصا کد نویسی کنید. اگر شما هزاران ساعت ویدیو آموزشی را ببنید و هیچ کدی ننویسید هیچ وقت نمی توانید یک برنامه نویس موفق شوید،با دیدن ویدیو های بیشتر فقط ذهن شما بیشتر درگیر خواهد شد و حتی ممکن است لذت برنامه نویسی رو از دست بدهید.
توانایی های شما بعد از این دوره برنامه نویسی ام کیو ال
اندیکاتوری بنویسید که میانگین مورینگ اوریج 26 و کیجون سن 26 را با یک خط در چارت اصلی رسم نماید
● مقدار مورینگ اوریج و مقدار کیجون سون از ورودی قابل تغییر باشد
اکسپرتی با مشخصات زیر بنویسید:
● زمانی که استوکتسینگ بیشتر از 80 باشد و کندل به خط بالای اندیکاتور بولینگر باند برخورد کند یک پوزیشن سل گرفته شود
● زمانی که استوکتسینگ کمتر از 20 باشد و یک کندل به خط پایینی اندیکاتور بولینگر باند برخورد کند یک پوزیشن بای گرفته شود
● در صورتی که پوزیشن بای باز نباشد پوزیشن بای دیگری گرفته شود
● در صورتی که پوزیشن سلی باز نباشد ، پوزیشن سل دیگری گرفته شود
● مقدار استاپ لاس و تیک پرافیت از ورودی های قابل تنظیم باشد
اکسپرتی با مشخصات زیر بنویسید:
● زمانی که کندل های بالا سه خط انیدکاتور alligator باشند و فاصله خط Lips با قیمت کندل دو برابر فاصله دو خط Jaws و Teeth باشد یک پوزیشن بای گرفته شود
● زمانی که کندل های پایین سه خط انیدکاتور alligator باشند و فاصله خط Lips با قیمت کندل دو برابر فاصله دو خط Jaws و Teeth باشد یک پوزیشن سل گرفته شود
● اکسپرت داری ترلینگ استاب باشد
● در صورتی که پوزیشن بای باز نباشد پوزیشن بای دیگری گرفته شود
● در صورتی که پوزیشن سلی باز نباشد پوزیشن سل دیگری گرفته شود
اکسپرتی با مشخصات زیر بنویسید:
● اگر کندل روزانه امروز و کندل روزانه یک روز قبل هر دو سعودی باشند،همیچینین در چارت 15 دقیقه یک کندل سعودی از پایین مورینگ اوریج 32 را قطع نمایند یک پوزیشن بای گرفته شود
● اگر کندل روزانه امروز و کندل روزانه یک روز قبل هر دو نزولی باشند،همیچینین در چارت 15 دقیقه یک کندل نزولی از بالا مورینگ اوریج 32 را قطع نمایند یک پوزیشن سل گرفته شود
● در صورتی که پوزیشن بای باز نباشد پوزیشن بای دیگری گرفته شود
● در صورتی که پوزیشن سلی باز نباشد پوزیشن سل دیگری گرفته شود
● مقدار استاپ لاس و تیک پرافیت از ورودی های قابل تنظیم باشد
یک اکسپرت که از یک اندیکاتور خارجی سیگنال میگیرد را بنویسید
● اندیکاتور و شرایط پوزیشین گیری به انتخاب خودتان است
بعد از حل تمرینات بالا ، کد نویسی رو با سیستم خودتان یا پروژه های که به شما پیشنهاد می شود ادامه دهد ،در کنار آن ویدیو های دوره پیشرفته رو بیبیند. در دوره پیشرفته ما با نحوه بهتره نوشتن کد ها و بخشهای دیگری از زبان و توابع ام کیو ال آشنا خواهیم شد.
نکته: کسانی که مایل به آموزش زبان برنامه نویسی ام کیو ال 5 هستند لازم است ابتدا همین مجموعه زبان ام کیو ال 4 را مشاهده و تمامی مطالب آن را فرا بگیرند. امید هست با این سری از ویدیو های آموزشی ، قدمی بزرگی در راستای تکمیل منابع آموزشی زبان ام کیو ال به فارسی برداشته شود.
به امید موفقیت روز افزون ایرانیان در زبان برنامه نویسی ام کیو ال، حسین احمدی
بخش مقدماتی | آغاز کلام | دانلود | 10MB |
متغیر ها | دانلود | 46MB | |
عملگرهای محاسباتی | دانلود | 50MB | |
دستورات شرطی | دانلود | 52MB | |
حلقه ها | دانلود | 42MB | |
break ،continue ، شرط سویچ، آرایه ها | دانلود | 38MB | |
تابع | دانلود | 26MB | |
بخش متوسطه | آرایه ها و متغیر های پیش فرض | دانلود | 34MB |
توابع زمانی و تاریخ | دانلود | 93MB | |
توابع پوزیشن گیری و مدیریت پوزیشن | دانلود | 105MB | |
نمونه کد نویسی اکسپرت | دانلود | 97MB | |
کد نویسی اندیکاتور های خطی | دانلود | 79MB | |
استفاده از اندیکاتور ها | دانلود | 60MB | |
نمونه کد نویسی اکسپرت | دانلود | 67MB | |
استفاده از اندیکاتور های خارجی | دانلود | 33MB | |
ترلینگ استاپ، محاسبه نقاط پیوت | دانلود | 71MB | |
توابع مدیریت حساب ، چند نکته در مورد اکسپرت نویسی | دانلود | 69MB | |
بخش پیشرفته | مدیریت حافظه و داده ها شمارشی | دانلود | 50MB |
تابع on timer | دانلود | 91MB | |
آشنایی با متغیر های گلوبال یا جهانی | دانلود | 44MB | |
طراحی خطوط اندیکاتور | دانلود | 58MB | |
آبجکت های گرافیکی | دانلود | 200MB | |
گرفتن مقدارهای آبجکت های گرافیکی | دانلود | 69MB | |
توابع تبدیل و توابع رشته ای | دانلود | 90MB | |
کار با آرایه ها و توابع آرایه ای | دانلود | 70MB | |
تابع OnChartEvent و خواص چارت | دانلود | 116MB | |
کار با فایل | دانلود | 108MB | |
دریافت اطلاعات از مارکت واچ و نماد های دیگر | دانلود | 32MB | |
اندیکاتور مولتی تایم (MTF) | دانلود | 70MB |
343 دیدگاه
fariborz
سلام.ضمن تشکر وافر از زحمات و مطالب آموزشی بسیار مفیدتون.
من همانطور که در ویدیوی آموزش اکسپرت نویسی عنوان کردید، از سایت متاتریدر۴ ، متاتریدر۴ رو دانلود میکنم و فایل دانلود شده هم متاتریدر۴ هست، ولی بعد از نصب متاتریدر۵ نصب میشه. چندین بار هم سعی کردم اما همین نتیجه رو گرفتم. ممنون میشم اگه راهنمایی بفرمایید چطور متاتریدر۴ رو نصب کنم.
متشکرم
حسین احمدی
در پاسخ به: fariborzدوستانی که نمی تونند متا ۴ نصب کنند و یا با هر بار نصب متا ۵ نصب میشه ،باید ابتدا متا ۵ رو از کامپوتر پاک کنند ،سپس در بخش یوزر در درایو c هر شاخه یا فایلی به نام MetaQuotes هست رو حذف نمایند
بعد از اون اقدام به نصب متا ۴ کنند
البته راحت ترین کار اینه که از متا ۴ یک بروکر استفاده کنید
Ehsan
در پاسخ به: fariborzسلام آقای احمدی با تشکر از آموزش خوبتون یه سوال داشتم میخواستم بدونم چطور میشه یه اکسپرت نوشت که ایمیل ارسال کنه خیلی ممنون
fariborz
سلام. لطقا به سوال من جواب بدید.
سلام.ضمن تشکر وافر از زحمات و مطالب آموزشی بسیار مفیدتون.
من همانطور که در ویدیوی آموزش اکسپرت نویسی عنوان کردید، از سایت متاتریدر۴ ، متاتریدر۴ رو دانلود میکنم و فایل دانلود شده هم متاتریدر۴ هست، ولی بعد از نصب متاتریدر۵ نصب میشه. چندین بار هم سعی کردم اما همین نتیجه رو گرفتم. ممنون میشم اگه راهنمایی بفرمایید چطور متاتریدر۴ رو نصب کنم.
متشکرم
Darkblue
سلام
من از سایت متاتریدر ۴ رو دانلود و نصب کردم. اما باز هم فکر میکنم متاادیتور ۵ رو نصب میکنه. خواستم راهنمایی بفرمائید ببینم مشکل کجاست؟
دستور کامنت رو برای من نمیشناسه و میگه که تعریف نشده. ایرادش به خاطر متاادیتور ۵ هستش یا دلیل دیگه ای داره؟
minjoon
در پاسخ به: Darkblueبرای نوشتن دستور comment حرف اول را با حرف بزرگ بنویسید.Comment
H.B
با عرض سلام
میخاستم تابعی بنویسم که بفرض مقدار بزرگترین وکوچکترین اوردر به ما بدهد؟
()Max_priceOrder
حسین احمدی
در پاسخ به: H.Bسلام
سوال خیلی کلی هست
سیاوش
سلام لطفا کمکم کنید. چرا نمیتونم تمرین درس اول رو کامپایل کنم ؟ اخرین خط رو خطا میده. ممنون
حسین احمدی
در پاسخ به: سیاوشدقیقا کد ها رو چک بفرمایید با ویدیو
سیاوش
دوست عزیز در ویدیو اول توضیح میده که چطور از سایت متاتریدر دانلود کنید
soleyman
با تشکر از فایلهای آموزشی در مورد آموزش برنامه نویسی متاتریدر ۴ فایل زیپ “کد نویسی اندیکاتور های خطی” در “بخش متوسطه” خراب میباشد لطفا اصلاح فرمایید.
Bah4man
ممنونم از استاد احمدی و سایت فراچارت که این ویدیوهای آموزشی رو رایگان در اختیار همگان میگذارند تا استفاده ببرند. دروس اموزش داده شده شیوا و مثالهای انجام شده پاسخ به سوالات زیادیست که برای هر کسی میتونه ایجاد شده باشه. من تمام دروس رو دیدم و در انتها تونستم اکسپرت خودمو بنویسم. از استاد احمدی تشکر ویژه دارم که دانششون در مورد اکسپرت نویسی بصورت رایگان با دیگران به اشتراک گذاشتن.
مدیریت
در پاسخ به: Bah4manممنون از شما که اطلاع دادید و خوشحالیم که مجموعه مفید بوده
حسین احمدی
در پاسخ به: Bah4manخواهش میکنم لطف دارید ،نتیجه زحمات خود شماست
behzad
سلام.ایا در مفیدتریدر (متاتریدر ۵) میشه تابعی نوشت که تمام نمادهای بورس که به مفیدتریدر وارد کردیم رو اسکن کنه و سیگنال بده؟؟
حسین احمدی
در پاسخ به: behzadبله امکانش هست
amabmo
سلام و خسته نباشید خدمت استاد گرامی .. تشکر بابت دوره بسیار عالی!
من برای تعیین استاپ و تیک پرافیت به ارور invalid sl or tp برخوردم و موافق به رفع اشکال نشدم! تو سایت های دیگه نوشتن که ممکنه از تعیین غلط استاپ و تیک باشه (تداخل قیمتی) یا بسته به قوانین کارگزار … یادمه یه جایی از ویدیو نکته ای درباره حساب های ECN هم گفتید اما هر چی گشتم پیداش نکردم!
ممنون میشم اگر راهنمایی فرمایید.
حسین احمدی
در پاسخ به: amabmoسلام
خیلی چیز ها ممکنه باعص بشه که قیمت اشتباه وارد کنید برای استاپ یا تی پی
بیشترین اشتباهی که دوستان میکنن اینه که استاپ بسیار کوچیک قرار میدن که بروکر اجازه باز شدن معامله رو نمیده
ویا در ضرب مقدار این در پوینت اشتباه میکنن که باعص میشه یک عدد بزرک بدست بیاد
دکتر CFA
در پاسخ به: حسین احمدیبا اجازه از حسین آقای گل
این مشکل از حساب بروکر شماست!!
بنده هم روی حساب ECN تست کردم وقتی اکسپرت دستور پوزیشن گیری را انجام می دهد اگر دستور دارای TP و SL باشه خطا میده و اجرا نمی کند! تنها ترفندی که به ذهنم رسید این است که خط بعد از پوزیشن گیری، از تابع modify استفاده کنید و فقط می توانید یا TP یا SL را تنظیم کنید. موفق باشید
Amir Hosseyn
با عرض سلام وتشکر از زحمات استاد گرانقدر جناب احمدی
استاد عزیز چطور میشه از سطوح فیبوکانال مقدار گرفت؟ تابع ObjectGetValueByShift فقط مقدار خط اصلی فیبوکانال رو میده, از ۳۱ سطح بعدی که سفارشی ایجاد میشه چطور میشه مقدار گرفت؟
alireza
با سلام و احترام
جناب مهندس احمدی
من در رابطه با اکسپرت نویسی خودم فیلمهای آموزشی شما رو دیدم و بسیار استفاده کردم و اکنون در پیاده سازی استراتژی خود نیاز به کمک تخصصی شما دارم لطفا طریقه تماس و ارتباط .با خودتونو بفرمائید تا باهاتون تماس بگیرم.
در ضمن در رابطه با محصولاتتون هم میخواهم اطلاعات بیشتری بگیرم. از طریق سایتتون نتونستم ایمیل بفرستم
مدیریت
در پاسخ به: alirezaبا مدیریت فراچارت در تلگرام در ارتباط باشید
mehdi
با عرض سلام خدمت اساتیدو تشکر میکنم از سایت فراچارت بابت اشتراک گذاری آموزش های برنامه نویسی.من میخواستم بپرسم کسی از دوستان میتونه بنده رو راهنمایی کنه که یه اندیکاتور مثلا پیووت پوینت نوشته بشه، و بعد درصورتی که قیمت Ask برخورد میکنه با خطوط مقاومت به من آلارم بده و اگر با قیمت Ask برخورد کرد، برخورد رو آلارم بده.به این صورت پیام آلارم بده:(برخوردقیمت با خط مقاومتی R1).البته با توجه به آموزش های سایت فرا چارت من خودم اندیکاتور پیووت پوینت رو نوشتم و از طرفی یه اندیکاتور هم نوشتم که وقتی عدد در ورودی بدی،اگر قیمت برخورد کنه با عدد ورودی آلارم میده. مشکل من اینجا است که نمیدونم برخورد قیمت با سطح قیمتی بدست آمده از فرمول پیووت رو چطوری کد نویسی کنم. ممنون میشم راهنمایی بفرمایید..
بسیار از سایت فراچارت هم سپاسگذارم.
حسین احمدی
در پاسخ به: mehdiسلام
در ویدوی های آموزش محاسبات نقاط پیوت هست
کافیه مقادیر رو در چند متغیر بریزید و بعد از برخود قیمت با یکی از این متغیر ها دستور الارت رو فراخونی کنید
meysam
سلام جناب احمدی کانفیگ سهام بورس رو برای متا تریدر ۵ و ۴ بی زحمت میگید با کانفیگ پیشفرض بک تست اردر ثبت نمیکنه و ارورهای مختلفی میده
mohamad
سلام آقای احمدی،بابت زحمتتاون خیلی ممنونم،بنده یک ساله با برنامه متلب برای بورس ایران و پیاده سازی الگوریتم های هوش مصنوعی و یادگیری ماشین برنامه نویسی می کنم،از اونجایی که متاتریدر خیلی راحت به اطلاعات حجم و قیمت دسترسی داره آیا میشه الگوریتم های شبکه های عصبی و رگرسیون رو داخل متاتریدر پیاده کرد؟
mohsen
سلام جناب اقای احمدی
وقت بخیر
سلام وقت بخیر
ببخشید یک سوال در مورد اکسپرت :
اگر اکسپرت وسط کارش باشه و به اخر هفته بخوره و بازار تعطیل بشه و کامپیوتر رو خاموش کنیم وقتی بازار مجددا باز شد اکسپرت بقیه برنامه رو اجرا میکنه یا ریست میشه میره از اول برنامه اجرا میکنه؟
اگر کامپیوتر رو خاموش نکنیم چه اتفاقی میفته؟
متشکرم
Mehdi
ویدیو ها چرا برام دانلود نمیشه از دو نرم افزار مختلف استفاده کردم اما نشد
Ali
سلام بخش دوم قسمت متغیر های پیش فرض
من هنگام فراخوانی متغیر Ask با اررور زیر مواجه میشم مشکل از کجاست ؟
http://uplod.ir/a4viekff0v6d/Untitled.png.htm
Alifaraji
سلام بخش دوم قسمت متغیر های پیش فرض
من هنگام فراخوانی متغیر Ask با اررور زیر مواجه میشم مشکل از کجاست ؟
http://uplod.ir/a4viekff0v6d/Untitled.png.htm
هادی
با سلام و تشکر فراوان از زحمات استاد احمدی و سایت ارزشمند فراچارت ، دوره دوم درس هفتم تمرین موینگ اوریجها و نیز درس دهم دوره دوم که بر مبنای همین درس هفتم نوشته شده است پوزیشن سل تریل نمیشود . حتی فایلهای خود استاد رو هم چک کردم تریل نمیشدند . ممنون میشم عزیزان حرفه ای کنترل کنند که مشکل از کجاست
Moh3n
با سلام و وقت به خیر و تشکر بابت آموزش فوق العادتون. هنگام نوشتن کدها وقتی به دستورات Ask و OP_BUY می رسم با خطای undeclared identifier مواجه میشم. ممنون میشم راهنمایی بفرمایید.
محسن
در پاسخ به: Moh3nسلام
بنده هم این مشکل رو خیلی داشتم برای همین خیلی توی سایتهای ایرانی و خارجی سرچ کردم تا بالاخره توی یه سایت خارجی این کد رو پیدا کردم.
مثلا برای متغیر Ask
MqlTick last_tick;
SymbolInfoTick(_Symbol,last_tick);
double Ask=last_tick.ask;
یا
double ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);
برای Time دستور زیر:
datetime TimeNow = TimeCurrent();
Comment ( “TimeNow = “, TimeNow );
برای مابقی دستورات هم اینجا یه سر بزنید
https://www.mql5.com/en/articles/81
امیدوارم درست باشه
mehdi
سلام جناب احمدی در کلمه else با ارور مواجه میشم که میگه با if مچ نیست و از متا۴بروکر استفاده میکنم چون از سایت متاتریدر mt4رو دانلود نمیکرد.
سید
سلام ایا میشه ادیکاتور ها رو در ام کیو ال جوری بر نامه نویسی کرد که به فلان عدد رسید خرید و فروش کنه یا آلرت بده
سید
استاد منظورم اینه که مثلا اندیکاتور stochastic oscillator وقتی به عدد ۵۰ رسید بخره
kazimi
من از metatrader5(mofidtrader) استفاده میکنم، آیا دستورات در mql4 و mql5 متفاوت است . به عنوان مثال دستور ورودی گرفتن از کاربر extern در mql5 موقع اجرا جایی برای ورود داده ندارد . اگر تفاوت زیادی دارد شیوه دستورات در mql4 , mql5 ، لطفا شیوه باز کردن اکانت و استفاده از metatrader 4 رو هم بگذارید . ممنون