![]() |
![]() |
|
|
|
#1
|
|
Senior Member
|
سوالات و مسائل مربوط به تاپیک آموزش MQL به شیوهای جدید
0
با تشکر |
|
|
| 6 تشکر کننده از freebird: |
|
|
#2
|
|
|
Senior Member
|
0
نقل قول:
بنده هم به خاطر سابقه زيادي كه در زبانهاي برنامه نويسي دارم فكر كنم بتوانم در اين مسير كمك كنم تا بيشتر عملياتي پيش برويم اگر اجازه دهيد سعي ميكنم مطالبي را كه به نظر بنده در تاپيك آموزش جا مانده را در اين تاپيك به عنوان سوال مطرح كنم تا اطلاعات دوستان با پاسخ شما تكميل شود در مورد دستورات Print, Comment فرموديد به نظر ميرسد دستور Alert هم در همين خانواده قرار ميگيرد ؟
__________________
hooshpardaz |
|
|
|
| 6 تشکر کننده از hooshyar: |
|
|
#3
|
|
Senior Member
|
0
برای اینکه این نکته حل بشه چند مورد به نظرم میاد که مفید باشه(البته اینا تجربیات خودمه): -مدام با اکسپرت های نمونه بازی باید بکنیم.این یعنی چی .این یعنی اینکه کد اکسپرت ها را مدام نگاه کنیم که چطور نوشته شده اند.خوب یکی میگه نگاه کردم بعد چی.برای اینکه کد رو توش متمرکز بشین ابتدا بیاین پارامترهای extern رو یه نگاهی بکنید .بعد بگردین با control+F اونارو تو اکسپرت پیدا کنین .ببینین اونجا به چه درد خوردن.بعد بیاین اونارو تو پنجره خروجی مدام تغییر بدهید و بک تست بگیرید .بعد بیاین ببینین نتیجه چی شد .چه تغییری پیدا کرد .حالا یه پیش زمینه دارین که میدونین مثلا اگه فلان پارامتر زیاد شه استاپ کم میشه .حالا میرین تو کد و اون پارامتر رو پیدا میکنید و میبینید اونجا به چه دردی خورده.اینجوری یه تصوری تو ذهنتون هست وقتی میخواین برین کد رو ببینین. بعد برای بقیه پارامتر ها این کار رو بکنید .حتی متغیرهایی که extern نشده اند را هم extern کنید و همین مراحل را تست کنید.اینجوری پاتون به اکسپرت نویسی باز میشه -یه نکته اینکه ما برای اکسپرت نوشتن خیلی اطلاعات نمی خوایم .ما کافیه چند الگو رو بلد باشیم و هرجا رسیدیم اونارو بکار ببریم .لازم نیست خیلی وارد جزئیات بشیم .من بشخصه خیلی از اکسپرتهایی که مینویشم رو با استفاده از الگوهام می نویسم که این لازمش همون کار اوله یعنی باید با تعدادی اکسپرت سرو کله بزنین تا راه بیفتین. |
|
|
| 7 تشکر کننده از freebird: |
|
|
#4
|
|
Senior Member
|
جواب دوستمون Talkh از تاپیک آموزش mal
0
در مورد سوال شما من این مساله را در مورد اکسپرت ema-cross تست میکنم: اگر فرض کنیم برنامه اکسپرت به قرار زیر باشد که دو ema را مقایشه میکند و تحت شرایطی پوزیشن بای میگیرد: كد:
كد:
if (EMA1==EMA2 ) حال برای اینکه این مشکل حل شود از کد زیر استفاده میکنیم که در این حالت پوزیشن میگیردونابع نرمالایز در واقع این عدد اعشاری را تا 4 رقم اعشار رند میکند و این باعث میشود مقایسه صورت بگیرد چون درست است که ما 4 رقم را همیشه میبینیم ولی خوب قطعا یه خورده ریزی هم دارن دیگه كد:
double EMA1,EMA2;
int start()
{
EMA1=NormalizeDouble(iMA(NULL,0,10,0,MODE_EMA,PRICE_CLOSE,0),4);
EMA2=NormalizeDouble(iMA(NULL,0,20,0,MODE_EMA,PRICE_CLOSE,0),4);
if (EMA1==EMA2)
{
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-25*Point,Ask+25*Point,"My order #2",16384,0,Green);
}
return(0);
}
آخرین ويرايش توسط freebird در January 13th, 2008 و ساعت 16:42 |
|
|
| 5 تشکر کننده از freebird: |
|
|
#5
|
|
Senior Member
تاريخ عضويت: Aug 2007
ارسالها: 1,807
تشکر: 19,118
تشکر از ايشان: 16,129 بار در 2,425 پست
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0
در این اکسپرت ابتدا دوتا متغیر اعشاری تعریف می کنیم و بعد در بدنه اصلی می یام نتیجه دوتا اندیکاتور رو با پارامترهای مدنظر وارد اون دوتا متغیر می کنیم و بعد از مقایسه دوتا متغیر در صورت برابر بودن می یایم یه اوردر بای با استاپ و تارگت 25 می گیریم. البته شما لطف کنید توضیحات مربوطه به پارامترهای توابع iMA و OrderSend رو بدید چون من سراغ رفرنس و هلپ نرفتم. ببخشید شاگرد تنبلی هستم سعی می کنم خوب بشم موفق باشی |
|
|
|
|
#6
|
|
|
Senior Member
|
0
نقل قول:
آخرین ويرايش توسط freebird در January 13th, 2008 و ساعت 16:57 |
|
|
|
| 2 تشکر کننده از freebird: |
|
|
#7
|
|
|
Senior Member
|
0
نقل قول:
البته بعدا در مورد ordersend توضیح میدهم |
|
|
|
| 2 تشکر کننده از freebird: |
|
|
#8
|
|
|
Senior Member
|
1
نقل قول:
فرمت ساده آن به اين شكل است Alert(" This is a test for Alert") گيومه دو طرف جمله و بين دو پرانتز قرار ميگيرد اگر بخواهيم ميتوانيم مقدار متغير ها را هم در آن نمايش داد مثلا int a;
a=123; Alert("a=",a);
__________________
hooshpardaz آخرین ويرايش توسط hooshyar در January 13th, 2008 و ساعت 17:26 |
|
|
|
| 6 تشکر کننده از hooshyar: |
|
|
#9
|
|
Senior Member
تاريخ عضويت: Apr 2006
ارسالها: 765
تشکر: 9,039
تشکر از ايشان: 3,465 بار در 719 پست
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0
و عرض خسته نباشید خدمت freebird عزیز به دلیل کار قشنگشون... امیدوارم به کارتون ادامه بدید ![]() من یک مشکلی داشتم گفتم اینجا بازگو کنم : من یک همچین کدی در اکسپرت دارم : كد:
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-10*Point,Ask+10*Point,NULL,0,0,Green); ممنون میشم اگه راهنماییم کنید با تشکر |
|
|
| 4 تشکر کننده از Mehdi.gpr: |
|
|
#10
|
|
Member
تاريخ عضويت: Apr 2004
ارسالها: 62
تشکر: 57
تشکر از ايشان: 24 بار در 16 پست
![]() |
0
من در مورد متغیرها یک سوال داشتم و اون اینکه: extern چیه؟ توی توضیحاتتون پیدا نکردم. یک متغیر extern fا اونی که extern نیست چه تفاوتی میکنه و چگونه یک متغیر را extern تعیرف میکنیم و لصولا به چه درد میخوره. سوال دیگرم در مورد بک تست هست. اول اینکه آیا بک تست رو فقط به تست یک اکسپرت میگن؟ یا مثلا بک تست دستی هم دارم. و دوم هم اینکه بک تست چگونه انجام میشود. باز هم از مطالب خبتون تسکر میکنم. |
|
|
|
|
#11
|
|
|
Senior Member
|
0
نقل قول:
حالا از کجا متوجه شیم این مقدار چقدر است. یک دستور وجود دارد که در شکل اول آمده از این دستور میتوانید جزئیاتی مانند این را بدست بیاورید. در این تابع قسمت اول ورودی ارز مربوطه و قسمت دوم مربوط به پارامترهایی است که میخواهیم آنها را بدست بیاوریم .که این پارامترها در شکل اول آمده است. شما میتوانید از کد زیر در ابتدای تابع start استفاده کنید و این مقدار را روی صفحه متاتریدر با استفاده از comment ببینید .باید استاپتون ایم مقدار به اضافه اسپرد از جایی که بای کردین کمتر باشه و در مورد سل هم برعکس این حالت. البته برای دیدن این مقدار میتوانید اکسپرت را در قسمت تستر با حالت VISUAL MODE تست کنید در این حالت روی نمودار این مقدار را مانند شکل دوم میبینید کد: كد:
int start()
{
double point =MarketInfo("EURUSD", MODE_STOPLEVEL);
Comment(point);
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-10*Point,Ask+25*Point,"My order #2",16384,0,Green);
return(0);
}
آخرین ويرايش توسط freebird در January 14th, 2008 و ساعت 00:47 |
|
|
|
| 5 تشکر کننده از freebird: |
|
|
#12
|
|
|
Senior Member
|
0
نقل قول:
من با یک مثال توضیح میدهم.من یه اکسپرت درست کردم به نام k و در اون 2 متغر i,j تعریف کردم که یکی extern است و دیگری extern نیست و اکسپرا رو کامپایل کردم .حالا در شکل دو ببینید این اکسپرت در خروجی به چه صورت است .متغیری که extern دارد در اینجا آمده است. در مورد بک تست هم متا تریدر یه قسمت داره که اونجا میتونید اکسپرت ها رو تست کنید به نام استراتژی تستر .البته این اصطلاح فقط مربوط به اکسپرت نیست ومیتونه در مورد ایندیکیتور یا سیستمها بکار بره . توی استراتژی تستر یه قسمت داره به نام visual mode اگر تیک آن را بزنید وقتی میخواهید یک اکسپرت را تست کنید میتوانید دونه دونه پوزیشن ها رو ببینید.همچنین از این قسمت میتونید به اینگونه استفاده کنید که فرضا ما یه ایندیکیتور یا یه سیستم داریم .میتونیم اون ایندیکیتور یا سیستم را روی چارت انداخته و ببینیم در گدشته این سیستم یا ایندیکیتور چگونه عمل کرده است. در پی دی اف لینک زیر اطلاعات کاملتری آمده .همچنین شکلها هم واضحند. [کاربران ثبت نام شده مجاز به مشاهده لینک ها می باشند. ] |
|
|
|
| 5 تشکر کننده از freebird: |
|
|
#13
|
|
|
Member
تاريخ عضويت: Apr 2004
ارسالها: 62
تشکر: 57
تشکر از ايشان: 24 بار در 16 پست
![]() |
0
نقل قول:
|
|
|
|
| 3 تشکر کننده از Sa Ta: |
|
|
#14
|
|
Senior Member
تاريخ عضويت: Aug 2007
ارسالها: 1,807
تشکر: 19,118
تشکر از ايشان: 16,129 بار در 2,425 پست
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0
آقا معلم درسته؟ موفق باشید |
|
|
|
|
#15
|
|
Senior Member
|
0
|
|
|
| 2 تشکر کننده از freebird: |
![]() |
| Bookmarks |
| برچسبها |
| mql, مربوط, مسائل, آموزش, تاپیک, جدید, سوالات, شیوهای |
| ابزارهاي موضوع | |
|
|
موضوعات مشابه
|
||||
| موضوع | آغازگر موضوع | انجمن | پاسخ | آخرین ارسال |
| این بازار ما را می بیند!!! | emilvr | تالار عمومی فارکس (General Forex Discussion Forum) | 35 | January 14th, 2010 15:33 |
| لیست قهرمانان فارکس ایرانی | kakolokia | تالار عمومی فارکس (General Forex Discussion Forum) | 691 | May 27th, 2009 10:50 |
| آموزش MQL | ghazmar | متاتریدر (MetaTrader) | 317 | March 21st, 2009 18:38 |
| نماگرها(شاخصهاي) اقتصادي | Reza | تالار عمومی CFD و سهام (General CFD and Stock Forum) | 13 | April 23rd, 2006 15:07 |
| لايحه بازار اوراق بهادار | Homitrade | بورس تهران | 0 | October 16th, 2005 21:02 |