![]() |
![]() |
|
|
|
#1
|
|
Senior Member
|
آموزش MQL4 در چند هفته به شیوه ای جدید
0
تا حالا شده حتما بخواین یه ایندیکیتور یا اکسپرت دلخواه خودتون رو بنویسید ولی با یه مشکل روبرو بودین چه جوری بنویسم.من که زبان mql4 بلد نیستم .پس باید یاد بگیرم ولی از کجا شروع کنم.خوب باید بیام help و اونجارو بخونم .خوب باید برنامه ریزی کنم هردفعه یه مقدارشو بخونم. خوب از انواع متغیرها شروع میکنم.این قسمت رو می خونم .میرم سراغ قسمت بعد ولی نه ولش کن خسته شدم .اینجوری که نمیشه.چی کار کنم من؟ بریم سراغ اصل مطلب .آموزش های زیادی از Mql وجود دارن ولی آدم اونهارا هم میخونه باز نمی تونه ایندیکیتور یا اکسپرت خودش رو بنویسه . چرا اینجوریه؟برای جوابش منم همین مشکل رو داشتم .یعنی انواع مطالب رو میخوندم اما همین که میخواستم اکسپرت یا ایندیکیتور خودم رو بنویسم گیر میکردم(ازکجا باید شروع کنم).خوب مشکل کجاست؟ .برنامه نویسا میگن اگه میخوای یه زبان را یاد بگیری باید از یه برنامه شروع کنی و بری جلو. منم همین کار رو کردم تا یاد بگیرم به خاطر همینم تو این تاپیک می خوام راهی که خودم رفتم رو برای بقیه بگم تا همه بتونن اکسپرت یا ایدیکیتور دلخواهشونو بنویسن . فکر میکنم این تاپیک بهترین تاپیکی بشه که درمورد mql هست .تو این مدت که وقتم آزاده و بیکارم تصمیم گرفتم این دوره را ایجاد کنم. البته گفتن این مطالب جوری هست که همه میتونن بیان و اظهارنظر کنن و یکطرفه نیست . خواستار همراهی و کمک کردن دوستان هستم اول از اکسپرت شروع میکنیم که تا حدودی واردم بعد میریم سراع ایندیکیتور . فقط در جواب کارم دعا کنید برام که یه مشکل دارم حل بشه. آخرین ويرايش توسط freebird در January 13th, 2008 و ساعت 01:31 |
|
|
|
|
#2
|
|
مدیر سابق تالار "تحلیل تکنیکال"
تاريخ عضويت: Apr 2006
محل سكونت: احتمالا نمیدونم
ارسالها: 2,334
تشکر: 3,861
تشکر از ايشان: 7,320 بار در 1,739 پست
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0
من دعاگوي همه دوستان و مردم خوب دنيا هستم . براي شما نيز نه بخاطر چشمداشتي بلكه بخاطر خودم دعا ميكنم تا يك انسان خوب ديگر بدون مشكل در كنارم باشدو از حضورش و رضايتمنديش از زندگيش لذت ببرم. دست خدا همراه شما باد.
__________________
بازار قابل پیش بینی است و هیچ چیز تصادفی نیست!!! زیاد جدی نگیرید |
|
|
| 17 تشکر کننده از candletrader: |
|
|
#3
|
|
Senior Member
تاريخ عضويت: Aug 2007
ارسالها: 1,807
تشکر: 19,118
تشکر از ايشان: 16,129 بار در 2,425 پست
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0
بی صبرانه در ردیف اول کلاس منتظر شروع درس هستم. موفق باشی |
|
|
| 9 تشکر کننده از Gh.Saeadian: |
|
|
#4
|
|
Senior Member
|
چی کار میخوایم بکنیم
0
برای درست کردن اکسپرت کد هرقسمت رو با هم یاد میگیریم ودر پست بعدیش من توضیحات جنبی و کاملتر می آورم .مثلا تو پست اول میگیم اگه می خوای مثلا اگرRSI بزرگتر از 70 باشه بای کنیم چجوری باید بنویسم ودر پست بعدی میگیم اصلا چطور باید یه order یا پوزیشن را ایجاد کرد.در واقع تو پست اول فقط رو اکسپرت خودمون کار میکنیم و در پست دومش کلی تر صحبت میکنیم.جوری می نویسم که اگه کسی پست اول رو یاد گرفت نیاز نباشه پست دوم رو هم بخونه .بعدا اگه نیاز داشت میتونه به پست دوم هم رجوع کنه. |
|
|
| 40 تشکر کننده از freebird: | 1900, 3896801, Alex_y, ali,m, alifilter, ar460ash, behrouz-fx, bemo, candletrader, dolatmand, Gh.Saeadian, ehsantrader, forex_sni, FXRAMIN, ghoghnos, golden.eagle62, hamid22, hamidreza1355, isar, kamroon, kishenn, mbinazir, Mehdi.gpr, Mehrdad-FX, mhosein.momeni, mm95, m.shekaarian, pro_forexer, reza1982, saboor, seasun4t, shahriyar 24, Shervin_Nikzad, suliter, tabriz1366, Talkh, titanic2009, yoosef8051, yusefamini, علي فاركس |
|
|
#5
|
|
Senior Member
|
0
|
|
|
| 27 تشکر کننده از freebird: | 1900, ali,m, behrouz-fx, bemo, candletrader, dolatmand, Gh.Saeadian, ehsantrader, FXRAMIN, golden.eagle62, hamid22, hamidreza1355, kamroon, LionHeart, masoud001, mdehban, Mehrdad-FX, mhosein.momeni, mm95, m.shekaarian, pro_forexer, reza1982, saboor, shahriyar 24, Shervin_Nikzad, yoosef8051, yusefamini |
|
|
#6
|
|
Senior Member
|
0
-متغیرهارو میشناسیم و نحوه تعریفشون و تبدیلشون به هم رو یاد میگیریم. -کار با نحوه ایجاد پوزیشنها و order ها را یاد میگیریم -یاد میگیریم با کدهای خطاها چطور برخورد کنیم. -یاد میگیریم چطور با زمانها و تاریخ کار کنیم. -توابع مربوز به حساب,بروکروخودمتاتریدرو...ر ا یاد میگیریم. - با alert,print,commnet,soundو ... کار میکنیم. -کاربا توابع ریاض مورد نیاز -کار با ایندیکیتورها و استفاده از آنها در اکسپرت و... |
|
|
| 37 تشکر کننده از freebird: | 1900, Alex_y, ali,m, ar460ash, Aramini, behrouz-fx, bikhiial, candletrader, dolatmand, Gh.Saeadian, ehsantrader, fx.PARADISE, ghoghnos, golden.eagle62, hamid22, isar, JFEARMA, K1, kamroon, M@j!d, masoud001, mbinazir, mhosein.momeni, mm95, m.shekaarian, Proshat, pro_forexer, reza1982, Sa Ta, saboor, seasun4t, shahriyar 24, Shervin_Nikzad, tabriz1366, yoosef8051, yusefamini, علي فاركس |
|
|
#7
|
|
Senior Member
|
شروع میکنیم
0
-اگردراپن کندل جاری rsi>70 یک پوزیشن بای با تیک پروفیت و استاپ و لات و... مشخص -اگردر اپن کندل جاری rsi<30 یک پوزیشن سل با تیک پروفیت و استاپ و لات و... مشخص -همان شرایط قبلی ولی ایندفعه به صورت order -همان شرایط قبل به اضاف اینکه باید order ما در ساعات و روزهای خاصی گذاشته شود. -همان شرایط قبی به اضافه اینکه روی یک بروکر خاص پوزیشن داشته باشیم و مسائلی از این دست به مرور این لیست اضافه خواهد شد آخرین ويرايش توسط freebird در January 13th, 2008 و ساعت 02:52 |
|
|
| 28 تشکر کننده از freebird: | Alex_y, ali,m, behrouz-fx, dolatmand, Gh.Saeadian, ehsantrader, fx-pip, FXRAMIN, ghoghnos, golden.eagle62, hamid22, kamroon, kurosh_lava, LionHeart, masoud001, Mehdi.gpr, mhosein.momeni, mm95, nima_azadi, m.shekaarian, pro_forexer, reza1982, saboor, seasun4t, Shervin_Nikzad, tabriz1366, yoosef8051, yusefamini |
|
|
#8
|
|
Senior Member
|
اولین قدما برای ساخت اکسپرت
1
-بعد دکمه control+N را میزنیم -صفحه ای باز میشود . -قسمت expert advisor را انتخاب میکنیم -در قسمت بعد صفحه ای باز می شود که میتوانیم در آنجا نام اکسپرت وکمپانی سازنده و نام نویسنده را در آنجا ذکر کنیم . -در آخر هم کلید finish را میزنم تابدنه اصلی اکسپرت ما درست شود. شکلهای راهنما در ضمیمه آمده است. |
|
|
| 26 تشکر کننده از freebird: |
|
|
#9
|
|
Senior Member
|
0
|
|
|
| 17 تشکر کننده از freebird: |
|
|
#10
|
|
Senior Member
|
آموزش اکسپرت
1
فقط من ممکنه خیلی سریع بیام جلو اگه سوالی داشتین بپرسین که باهم بریم جلو. من یه پست اگه با نام درست کردن اکسپرت زدم یعنی مربوط به درست کردن اکسپرت خودمون .اگر هم تاپیک زدم با نام آموزش اکسپرت یعنی مطالب جزئی تر و آموزشی تر.این قرار بمونه بینمون و یه چیز دیگه من بعضی مطالبم را از سایتهای دیگه برمیدارم که قبل از هر چیر ازهمشون عذر خواهی میکنم . خوب با یاد خدا شروع میکنیم: اولین چیزی که باید یاد بگیریم اینه که باید کلیه عملیات رو تو تابع start بنویسیم. خوب اولین قدم اینه که میدونیم ایندیکیتور rsi یکی از ایندیکیتورهای خود متاست .پس باید یه تابعی برای استفاده ازش داشته باشه. کلید control+D را زده و میریم تو قسمت search و کلمه rsi را سرچ میکنیم یه سری چیز برامون اومده که در تاپیک بعدی مربوط به درست کردن اکسپرت ادامه میدیم. |
|
|
| 24 تشکر کننده از freebird: |
|
|
#11
|
|
Senior Member
|
آموزش اکسپرت
0
كد: كد:
#property...
.
.
.
int init()
{
}
int deinit()
{
}
int start()
{
}
بعد از آن میرسیم به: كد: int init() { } این فانکشن(توضیح کلی فانکشنها و طرز ایجاد آنها بعدا بحث میشود) اولین مرحله ای است که بعد از Load کردن اکسپرت یا اندیکاتور، فقط یکبار صدا زده میشود و تا لحظه ای که برنامه شما فعال و در چارت است این فانکشن صدا نمیشود. مفهوم صدا کردن صدا کردن به این معنا است که کلیه دستوراتی که بین 2 علامت {} قرار داده شده است، توسط برنامه اجرا میشود. کارائی این فانکشن: چون میدونیم که این فانکشن فقط یکبار صدا زده میشود و اون در لحظه اولیه Load شدن اکسپرت یا اندیکاتور، بنابراین بسته به نیازو خواسته برنامه نویس و برنامه، مواردی که لازم هست برای شروع مفدار دهی شوند یا پاک سازی شوند در این فانکشن دستور دهی میکنیم. مثال: بر فرض شما اندیکاتوری مینویسید و لازم دارید که چارت شما به هنگام Load شدن اندیکاتورتون خالی از هرگونه خط و نوشته ای باشد(میخواید که چارت کاملا تمیز باشد). مبتونید کلیه عملیات پاکسازی چارت را در این فانکشن قرار دهید. یا مثلا دوست دارید در لحظه Load شدن اکسپرت یا اندیکاتور مربوطه، تعداد کندلهای موجود، تعداد اردرهای موجود، زمان یا تاریخ یا هر مورد دیگری را داشته باشید و از آن در برنامه استفاده کنید، که با استفاده از این فانکشن میتونید این کار را انجام دهید. كد: كد:
int deinit()
{
}
بیشترین استفاده این فانکشن جهت تمیز کردن چارت و پاک کردن خطوط و اشکال و نوشته هایی که اندیکاتور شما ایجاد کرده میباشد. آخرین قسمت: كد: كد:
int start()
{
}
دستورات در این قسمت مرتبا بازخوانی و اجرا میشوند. کلیه دستورات اعم از رسم خطوط، اردرگذاری، بستن اردها، چک کردن وضعیت چارت و... در این فانکشن نوشته میشوند. |
|
|
| 48 تشکر کننده از freebird: | 3896801, absmyy, albertini, Alex_y, ali,m, ar460ash, behrouz-fx, bemo, bzolmajd, ColdFire, dolatmand, Gh.Saeadian, ehsantrader, erfan_hi, fx-pip, fx_ali, ghoghnos, golden.eagle62, hamid22, hoseintaheri, JFEARMA, kamroon, kishenn, kurosh_lava, LionHeart, M@j!d, masoud001, mbinazir, mdehban, Mehdi.gpr, Mehrdad-FX, meqdad, mhosein.momeni, mm95, nima_azadi, m.shekaarian, Proshat, pro_forexer, reza1982, saboor, seasun4t, shahriyar 24, shinigami, silent_killer, Talkh, مجتبی, yusefamini, علي فاركس |
|
|
#12
|
|
Senior Member
|
درست کردن اکسپرت
0
خوب همانطور که میبینید این تابع خروجیش مقدار rsiدر هر نقطه است . دردرس آینده پارامترهای اینتابع را بیان میکنیم . |
|
|
| 22 تشکر کننده از freebird: |
|
|
#13
|
|
Senior Member
|
آموزش اکسپرت
1
یکسری ایندیکیتورها هستند که ادیتور خروجیشان را از طریق یک تابع پیدا میکند .مثلا مینویسم : (iRSI(NULL,0,14,PRICE_CLOSE,0 که مقدار ایندیکیتور آراس آی را در هر لحظه به ما میدهد. یکسری دیگر هم هستند که باید از طریق icustom مقدار آنهارابدست آورد که بعدا توضیح میدهم. اما آنهایی که خود متا توابعشان را دارد را می توانید از قسمت MQL4 Reference - Technical indicators پیدا کنید .(مانند شکل)همه آنها با حرف i شروع میشوند.اینها ایندیکیتورهایی هستند که در قسمت indicators از قسمت navigator خود متا تریدر وجود دارند . |
|
|
| 25 تشکر کننده از freebird: |
|
|
#14
|
|
Senior Member
|
درست کردن اکسپرت
0
( iRSI( string symbol, int timeframe, int period, int applied_price, int shift string symbol:خوب باید تعریف کنیم rsi کدوم جفت ارز رو بخون دیگه .خوب این قسمت برای اینه.اگرم خواستین رو اون ارزی که اکسپرت کار میکنه باشه یعنی براش فرق نکنه کدوم ارز کلمه null رو مینویسید. int timeframe:خوب این هم برای اینست که مقادیر rsi کدوم تایم خونده بشه .اگر 0 بزارین اون تایمی رو میخونه که اکسپرت روش قرار داره.حالات مختلف آن بصورت زیر است: PERIOD_M1 = 1 minute. PERIOD_M5 = 5 minutes. PERIOD_M15= 15 minutes. PERIOD_M30 = 30 minutes. PERIOD_H1 = 1 hour. PERIOD_H4 = 4 hour. PERIOD_D1 = Daily. PERIOD_W1 = Weekly. PERIOD_MN1= Monthly. 0 (zero) 0 Timeframe= used on the chart. int period:خوب این قسمت هم دوره تناوب rsi رو مشخص میکنه int applied_price:این قسمت برای اینست که rsi را براساس چه حالتی بخونه. حالات مختلف بصورت زیر است: PRICE_CLOSE = Close price. PRICE_OPEN = Open price. PRICE_HIGH = High price. PRICE_LOW = Low price. PRICE_MEDIAN = Median price, (high+low)/2. PRICE_TYPICAL = Typical price, (high+low+close)/3. PRICE_WEIGHTED = Weighted close price, (high+low+close+close)/4. int shift:این مقدار هم برای اینست که مقدار چقدر شیفت داده شده rsi را بخواند. حالا چند تا مثال برای الگو میارم: iRSI(NULL,0,14,PRICE_CLOSE,0) iRSI("EURUSD",PERIOD_M30,14,PRICE_CLOSE,0) iRSI("USDCHF",PERIOD_D1,14,PRICE_WEIGHTED,1 |
|
|
| 33 تشکر کننده از freebird: | 3896801, ali,m, ar460ash, behrouz-fx, bikhiial, dolatmand, Gh.Saeadian, fx-pip, ghoghnos, golden.eagle62, hamid22, Hossein.R, kamroon, kurosh_lava, LionHeart, M@j!d, masoud001, mbinazir, Mehdi.gpr, Mehrdad-FX, mhosein.momeni, mm95, m.shekaarian, Proshat, pro_forexer, reza1982, saboor, seasun4t, shahriyar 24, tabriz1366, Talkh, yusefamini, علي فاركس |
|
|
#15
|
|
Senior Member
|
درست کردن اکسپرت
1
(double rsi=iRSI(NULL,0,14,PRICE_CLOSE,0 متغیر rsi از جنس اعشاری است و بصورت بالا تعریف شده و مساوی مقدار Rsi قرار داده میشود خوب تا الان این اکسپرت رو داریم. یه مورد دیگر نیز اینست که شاید ما نیاز داشته باشیم مقدار rsi را در اکسپرت با مقادیر مختلف چک کنیم .حال میتوانیم اینگونه عمل کنیم که به جای یک عدد در قسمت پریود یک متغیر از نوع عددی تعریف کنیم و آنرا به صورت extern در قبل از تابعint init قرار میدهیم .حال مانند شکل میتوانیم در خروجی اکسپرت به جای اینکه کد را تغییر بدهیم هر وقت خواستیم مقدار rsi با یک پریود دیگر را داشته باشیم فقط کافیست این مقدار را تغییر بدهیم. کد اکسپرت تا الان بصورت زیر است: دردرس بعد متغیرها را برررسی میکنیم .چون نیاز داریم . |
|
|
| 28 تشکر کننده از freebird: | 3896801, ali,m, ar460ash, azadmard, behrouz-fx, bikhiial, bzolmajd, dolatmand, Gh.Saeadian, farhad11, golden.eagle62, hamid22, kurosh_lava, LionHeart, M@j!d, masoud001, mbinazir, Mehrdad-FX, mhosein.momeni, mm95, m.shekaarian, pro_forexer, reza1982, shahriyar 24, tabriz1366, Talkh, yusefamini, علي فاركس |
![]() |
| Bookmarks |
| برچسبها |
| meta trader programming, mql |
| ابزارهاي موضوع | |
|
|
موضوعات مشابه
|
||||
| موضوع | آغازگر موضوع | انجمن | پاسخ | آخرین ارسال |
| آموزش MQL4 | yusefamini | متاتریدر (MetaTrader) | 108 | March 1st, 2009 12:47 |
| سوالات و مسائل مربوط به تاپیک آموزش MQL به شیوهای جدید | freebird | متاتریدر (MetaTrader) | 98 | February 28th, 2009 21:44 |
| ترجمه e-book های آموزشی در زمینه فارکس | f125tk | آگهی (Advertisement) | 15 | June 30th, 2007 15:14 |
| تحليل هفته | Khashayar_Amini | تحلیل بازار | 0 | May 20th, 2006 16:00 |