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 دیدگاه
یشس
سلام اقای احمدی ممنونم بابت اموزشهای خوبتون
ادامه ویدیو اموزش رو کی میذارید؟
و اینکه ایا جزوه های اموزش رو هم اپلود میکنید؟
حسین احمدی
در پاسخ به: یشسبله بزودی
peyman_zdfy
سلام لطفا اکسپرت اینو برای متاتریدر۵ بنویسید
شرط اول تقاطع مکدی رو به به بالا و استوکاستیک بیین ۲۰ تا ۳۰ و mfi مثبت ممنون
Wolf
جناب احمدی عزیز من و تمامی دوستان مشتاقانه منتظر ادامه آموزش های خوب و مفیدتون هستیم.
حسین احمدی
در پاسخ به: Wolfبروی چشم ،بزودی اپلود خواهد شد
javad
با سلام و احترام خدمت مدیران سایت و استاد احمدی
ضمن تشکر از زحمات شما، از استاد احمدی در رابطه با اجرای اکسّپرت به صورت آنلاین سوالی داشتم .
من یک اکسپرت نوشته ام که به صورت آزمایشی در استراژی تستر کار می کند، اما وقتی آنلاین اکسپرت را اجرا می کنم ، آدمک خندان هم در صفحه برای اکسپرت دارم، برنامه هیچکدام از دستورات بای و سل را اجرا نمی کند و کد خطایی هم در ژورنال ندارم، در حالیکه شرط تست اجرای دستورات بای و سل هم در برنامه گذاشته ام که در استراژی تستر کار می کند ولی حتی این شرط هم در آنلاین بازخورد ندارد. فکر میکنم شاید از تنظیمات متا تریدر باشد. لطفا راهنمایی فرمایید.
با تشکر -سرابی
حسین احمدی
در پاسخ به: javadبه احتمال به خاطر مقادیر بسیار نزدیک تی پی یا استاپ لاس هست،بهتره قبل از پوزیشن گیری STOPLEVEL به وسیله تابع MarketInfo چک بشه که ایا بروکر این مقدار رو بهتون اجازه میده یا نه
همچنین بعضی از بروکر ها اجازه استفاده از اکسپرت رو نمیدن ،البته خیلی خیلی به ندرت در کشور های خاص مثلا ترکیه
peyman_zdfy
با سلام لطفا اکسپرتی رو معرفی کنید که ورود پول هوشمند در سهم ها رو نشون بده
ثانیاروشی جهت جستجو در بین ۶۰۴ تا سهم بورس تهران عنوان گردد که سیگنال خرید صادر کرده اند، زیرا وقت کمی وجود دارد تا تک تک این ۶۰۴ تا سهم ، جهت شناسایی سیگنال خرید ،بررسی گردند.
با تشکر از مدیریت سایت خوب فراچارت و همچنین جناب آقای احمدی
حسین احمدی
در پاسخ به: peyman_zdfyمتاسفانه اکسپرتی در این زمینه نمیشناسم
برای جستجو در بین سهام ها خیلی از سهام در بازار بورس تهران تقریبا بی ارزش هستند بهتر اونها بررسی نشند ،
basaeri
با سلام و احترام خدمت مدیریت سایت وزین فراچارت و همچنین جناب آقای احمدی مدرس محترم این کورس آموزشی.
امیدوارم با منتقل شدن این مطلب آموزشی به صفحه دوم سایت , تکمیل مطالب ارزشمندی که آقای احمدی تاکنون زحمت آن را کشیده اند , ناتمام نماند .
با تشکر
مدیریت
در پاسخ به: basaeriسلام دوست عزیز. بله پیگیر هستیم
محمد مستقیمی
تشکر از آقای احمدی بابت آموزش بسیار خوبتون و همچنین مدیران سایت
یه پرسش داشتم اندیکاتورهایی که درست کردم روی چارت نمایش داده میشن ولی به روز نمیشن و مدام باید رفرش کنم تا اطلاعات جدید رو نشون بدن میشه بگید مشکل از چیه؟
حسین احمدی
در پاسخ به: محمد مستقیمیبه احتمال زیاد از حلقه ای که نوشتید هست
Saeed
سلام
استاد عزیز مطالبتون عالیه
دوتا سوال:
۱-چطور میشه کامیشن جفت ارز رو گرفتو
۲-چطور میشه همزمان که روی فایل رایت میکنیم اون دو تو اکسل هم باز داشته باشیم.
حسین احمدی
در پاسخ به: Saeedسوال اول در بخش خودش توضیح داده شده ،در تابع MarketInfo
برای سوال دومتون در ورودی های باز کردن فایل از FILE_SHARE_WRITE یا FILE_SHARE_READ استفاده کنید
basaeri
سلام و ممنون بابت ارسال فایل جدید
مدیریت
در پاسخ به: basaeriممنون از شما
حمید موفق
با سلام . بسیار سپاسگزارم از جناب استاد احمدی به خاطر آپلود فایل آموزشی جدید. مدتها بود منتظر ادامه این آموزش بودیم . باز هم منتظر ادامه هستیم. با آرزوی موفقیت روز افزون برای جناب استاد احمدی.
مدیریت
در پاسخ به: حمید موفقزنده باشید دوست عزیز
amir
سلام و درود بی کران خدمت آقای احمدی عزیز
بنده ازتون راهنمایی میخواستم
یک اکسپرت مارتینگلی نوشتم که اگه قیمت به بای استاپم خورد و فعال شد یک سل استاپ در پایین برام بزاره و بالعکس
ولی مشکل من اونجاست که شرط من یعنی فعال شدن استاپم در داخل تابع ontick تا قبل از برخورد با pending دیگری مدام در حال اجرا شدنه و من میخوام هر سری که شرطم تغییر کرد یک بار فقط تکرار بشه
ممنون میشم بنده رو راهنمایی بفرمایید
پیشاپیش از تمام زحمات و آموزش های شما بسیار ممنونم و همچنین بیشتر ممنون میشم اگر منابعی رو برای فراگیری مکمل زبان mql معرفی بفرمایید
حسین احمدی
در پاسخ به: amirیک متغیر از نوع بلوین بسازید ،زمانی که شرایط محیا بود ترو یا فالس کنید
دقیقا مثل یک دکمه برای روشن خواموش کردن ازش استفاده کنید
یا یک در که بعد از وارد شدن بهش میشه بستش
به طور مثال
در شروط بنویسد که اگر متغیر ترو بود این اعمال رو انجام بده و در خط بعدی قبل از گذاشتن براکت متغیر رو فالس کنید، اینطور چون متغیر فالس شده دیگه دوباره وارد اون شرط نمیشه
ali_beladi
با عرض سلام و خسته نباشید خدمت آقای احمدی
اول به شما تبریک میگم به خاطر شخصیت بالایی که دارید و به این دلیل این است که این آموزش خیلی مفید رو در اختیار همگان قرار دادید و همچنین مدیران محترم سایت فراچارت
دوم اینکه سوالی دارم
آیا میتوان از نرم افزار دیگری که روی سرور مجازی که باز هست و در همان سرور متا باز میباشد مقادیر ورودی را از نرم افزار وارد extern های اکسپرت کرد یا خیر؟ بطور مثال روزانه سر ساعت خاصی این ورودی ها اخذ شود.
اگر بله آیا در آموزش های بعدی گفته خواهد شد؟
مدیریت
در پاسخ به: ali_beladiمتاسفانه اقای احمدی فرصت پاسخگویی ندارند
حسین احمدی
در پاسخ به: ali_beladiمیتونید با فایل کار کنید
مصطفی الهداد
جناب احمدی سلام و وقت بخیر و تشکر از آموزش های بی نقصتون. چطور میتونم با شما بصورت خصوصی تماس بگیرم یا اینکه ملاقاتتون کنم؟؟
خواهش میکنم پاسخ بفرمایید. بشدت به یک راهنمایی احتیاج دارم
مدیریت
در پاسخ به: مصطفی الهدادبا تشکر و احترام متاسفانه امکانش نیست. مدرس فرصت کافی برای رفع اشکال ندارند. عذر خواهی میکنم
Mahdi
سلام جناب آقای احمدی
سپاسگزارم ازین که این محصول با ارزش رو به صورت رایگان در اختیار عموم قرار دادید. دو تا سوال هم دارم:
-برای اینکه اکسپرت چک کند ابتدای کندل است به جز فرمول volume[] راه دیگری داره؟ چون این کد بصورت افلاین جواب میدهد اما گاها در حالت واقعی شاید به خاطر سرعت سیستم کاربر جواب نمیدهد.
– تمرین های شماره ۲۴ و ۲۵ رو در صورت امکان ارسال کنید.
سپاسگزارم
حسین احمدی
در پاسخ به: Mahdiاز تایم هم میشه استفاده کرد
از این تابع استفاده کنید
bool isNewBar()
{
static long last_time=0;
long lastbar_time=(datetime)SeriesInfoInteger(CurrencyPair,Period01,SERIES_LASTBAR_DATE);
if(last_time==0)
{
last_time=lastbar_time;
return(false);
}
if(last_time!=lastbar_time)
{
last_time=lastbar_time;
return(true);
}
return(false);
}
محمد
با سلام
لطفا در صورت امکان ادامه ویدیوی آموزشی رو قرار بدید .ممنون از سایت وزین و کاربردی فراچارت
بهمن
با سلام به استاد احمدی و سایت فراجارت در مورد مثلثات ریاضی اقلا دو تا مثال حل میکردید
مثلا وقتی در ربع اول و چهارم اگر ۵درج امد پا یین SELL و اگر ۵درجه بالا نمودار بالا رفت
BUY لطفا فقط تابع ان بقیه مثل کد هایی تکراری مثل تابع بای خروج و بعد سل شروع شود
را همه را خوب یاد گرفتم فقط در کد مثلثاتی را گیر دارم با تشکر فراوان بهمن
حسین احمدی
در پاسخ به: بهمنبرای مبحث مثلثات در اینترنت یک مقداری جستجو کنید ،مثال های خوبی میشه پیدا کرد ،نیاز نیست به ام کیو ال ربط داشته باشه ،فقط همین که درک مطلب کنید کافی هست
ولی اگر تونستم مثال خوبی برای این جور محاسبات پیدا کنم حتما در آموزشهای اتی قرار خواهم داد
Kian
ضمن عرض خسته نباشید و خداقوت ، بابت تهیه این محتوای آموزشی ارزشمند و پربار از شما استاد ارجمند بسیار سپاسگذارم.
مشتاقانه منتظر بخش های باقیمانده این محتوای آموزشی و همچنین MQL5 می باشم.
از بذل توجه استاد احمدی و مدیر محترم در این خصوص بسیار سپاسگذارم.
حسین احمدی
در پاسخ به: Kianمتاسفانه به دلیل برخی از مشکلات طول کشیده، ولی بزودی اموزش های جدید اپلود خواهد شد
ahmad
سلام و تشکر از زحمات بی دریغتون
اگر بخوایم اندیکاتوری غیر از این اندیکاتورهایی که در آموزشها ذکر شد وارد اکسپرت کنیم چگونه باید بفهمیم که چکونه باید کد آنرا نوشت ؟
مثلا واسه خودم DTOSC
با سپاس بیکران
حسین احمدی
در پاسخ به: ahmadدقیق متوجه سوالتون نشدم
تقریبا همه راه های برای استفاده از اندیکاتور در اکسپرت گفته شده
اگر منظورتون کپی محاسبات اندیکاتور در اکسپرت هست،باید ارایه یا ارایه های که اندیکاتور برای نمایش استفاده میکنه رو پیدا کنید همینطور نحوه ذخیره اطلاعات در اون آرایه ها سپس ارایه و محاسباتش رو در کد های اکسپرت ذخیره کنید و از ارایه مد نظر برای محاسبات استفاده کنید
سپیده
در فایل ۲_۱ که متغیرهای ذخیره شده هست من وقتی Aak و Bid را میزارم آنهارا نمیشناسد .چرا؟ ممنون میشم سریع پاسخ بدید
مدیریت
در پاسخ به: سپیدهبا سلام و احترام اقای احمدی فرصت جواب دادن ندارند و ممکنه دیر جواب دهند
حسین احمدی
در پاسخ به: سپیدهتوجه داشته باشید آموزش ها برای ام کیو ال ۴ میباشد نه ۵
ali_beladi
با سلام خدمت آقای احمدی
میخواستم بدونم آیا آموزش ادامه می یابد یا خیر؟
بنده حدود ۶ ماه است که دارم برنامه نویسی میکنم الحمدلله هم نستا راضی هستم ویدئو های شما هم کمک زیادی به من کرد که وظیفه دونستم از شما قدر دانی کنم.
سوالاتی دارم که میخواستم راه ارتباط داشته باشم
در حال حاضر در حال تدوین یک اکسپرت نیمه اتوماتیک هستم که الیوت میباشد سوال بنده این است که با
on chartEvent()
چکونه با حرکت و کلیک موس مشخصات کندل را استفاده کنم؟ مثلا موج را دستی به برنامه بگویم در حال حاضر با فیبو کشیدن یه برنامه منتقل میکنم ولی احساس میکنم راه بسیار ساده تری دارد مثلا دسترسی به
Data Window
با کلیک ممنون میشم راهنمایی کنید
حسین احمدی
در پاسخ به: ali_beladiبا سلام ،در بخش مربوط توضیحات کوتاهی در این بار عرض کردم
شما همیشه با متغیر های پیش فرض مثل کلوز یا اوپن به دیتا ویندوز دسترسی دارید
Ali
با عرض سلام و خسته نباشید خدمت شما استاد محترم
بنده به عنوان تمرین اکسپرت های شما را خودم نوشتم ولی متاسفانه استراتژی تستر ارور میدهد.
راه حل برای رفع مشکل چی هست؟
۲۰۱۸٫۱۱٫۰۴ ۱۱:۳۱:۰۱٫۶۰۵ TestGenerator: unmatched data error (volume limit 425 at 2018.10.15 19:00 exceeded)
ممنون
حسین احمدی
در پاسخ به: Aliدیتا انتخابی برای تست موجود نیست در متا تریدر،بعد از اولین تاریخ موجود تستر ، تست رو شروع خواهد کرد ،نگران نباشید به کد نویسی شما مربوط نیست
بزودی یک ویدیو آموزش برای رفع این خطا خواهم داد
علی
سلام جناب یک سوال این آموزشا برای تریدینگ ویو هم جواب میده؟
مدیریت
در پاسخ به: علینه فقط متاتریدر
امیرحسین اقایی
سلام خدمت مدیریت محترم سایت فوق العاده فراچرات و همچنین استاد احمدی عزیز آموزش ها عالی بودن ادامه اموزش ها چه زمانی قابل دسترس خواهد؟
Zandi
خیلی عالی،اززحماتتون کمال تشکر دارم ،براتون بهترین ها رو آرزو میکنم.
Zandi
با سلام،
دارم اکسپرتی مینویسم که وقتی قیمت روی باند بالایی بولینجر بند بود معامله فروش و روی باند پایینی خرید نماید
یک تابع با این شروط نوشتم ولی نمیدونم چرا فقط معامله فروش انجام میده و اصلا پوزیشن خرید باز نمیکنه اگر میشه راهنماییم کنید،
Ask=iBands(Symbol(),PERIOD_CURRENT,0,20,2,0,MODE_UPPER,1