اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex

اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex (https://fx-arabia.com/vb/index.php)
-   منتدى المؤشرات و الاكسبيرتات (https://fx-arabia.com/vb/forumdisplay.php?f=6)
-   -   ورشة التعليم والتعلم لبرمجة الأكسبيرتات (https://fx-arabia.com/vb/showthread.php?t=15633)

الهذلي 02-11-2011 01:10 AM

ورشة التعليم والتعلم لبرمجة الأكسبيرتات
 
السلام عليكم ورحمة الله وبركاته

اخواني اعضاء منتديات اف اكس اريبيا اولاً احب اشكر ادارة هذا المنتدى الرائع على ما قدموه من معلومات

وقد تعلمت من دورة الاخ العزيز واستاذي الاستاذ حكيم

فأحببت ان اقوم بهذه الورشه التي اسأل الله تعالى ان يعنني على ايصال المعلومه الى اخواني وان ينفع بها واحببت ان اعرض ما لدي ولا ادعي الخبره ولكن انا مبتدى ولعل الاخوان ان يشاركونا فيها وكلاً

بما يعرفه حتى نصل في نهاية الورشه وقد تعلمنا وعلمنا

وهذه الورشه راح تكون لتصميم الاكسبيرتات

وسوف نقوم بعمل اكسبيرت يدخل شراء اذا الشمعة اخترقة موفننج 200 صعود و هبوط

وهذا الكود الذي سيتم العمل عليه

[PHP]//+------------------------------------------------------------------+
//| ART top.mq4 |
//| mnaber |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "mnaber"
#property link "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+

int init()

{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}

int start()
{
هنا نكتب اوامر الاكسبيرت والاستراتيجيات

return(0);
}
//+------[/PHP]

الهذلي 02-11-2011 01:28 AM

رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
 
الان نأني الى وضع الشروط المطلوبه قبل فتح صفقه الشراء

[PHP]if(iClose(0,0,3)>iOpen(0,0,3)){if(iClose(0,0,3)>iM A(0,0,200,0,0,0,3)&&iOpen(0,0,2)>iMA(0,0,200,0,0,0 ,3)&&iClose(0,0,2)>iOpen(0,0,2)
iLow(0,0,2)<=iMA(0,0,200,0,0,0,3)&&iOpen(0,0,1)>iC lose(0,0,2)&&iClose(0,0,1)>iOpen(0,0,1))}[/PHP]

نأتي الى شرح الاوامر اولاً

هنا نطلب منه ان يرا هل اغلاق الشمعة رقم 3 اكبر من افتتاح الشمعه رقم 3 اذا كان الشرط متوافق ينتقل الاكسبيرت الى التعليمات الاخر

[PHP]if(iClose(0,0,3)>iOpen(0,0,3))[/PHP]

هنا نضع الفلتره وكل الشروط التي نريدها قبل الدخول في العمليه وانا وضعة عدة شروط حتى نخرج من الكسر الكاذب للموفننج

[PHP]{if(iClose(0,0,3)<iMA(0,0,200,0,0,0,3)&&iOpen(0,0, 2)>iMA(0,0,200,0,0,0,3)&&iClose(0,0,2)>iOpen(0,0,2 )
iLow(0,0,2)<=iMA(0,0,200,0,0,0,3)&&iOpen(0,0,1)>iC lose(0,0,2)&&iClose(0,0,1)>iOpen(0,0,1))}[/PHP]


ملاحظه ان الشرط الاول انتها


[PHP]if(iClose(0,0,3)>iOpen(0,0,3))[/PHP]

ويجب فتح { }

هذه العلامه وهنا كما قلنا الفلتره قبل الصفقه

الهذلي 02-11-2011 01:38 AM

رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
 
[PHP] { هنا الفلتره وكل الشروط }[/PHP]

ندخل الى الشرط الاول ومعلوم ان الشرط لابد ان يبتدي بي if()

[PHP]if(iClose(0,0,3)>iMA(0,0,200,0,0,0,3))[/PHP]

طلبنا ان يكون الاغلاق في الشمعه رقم 3 اكبر من الموفننج 200 في الشمعة رقم 3

&& وهذه العلامه تعني و في اللغة العربيه يعني ان الاكسبيرت لازم تتوفر فيه الشرط الاول و الشرط الثاني و الشرط الثالث وهكذا

[PHP]iOpen(0,0,2)>iMA(0,0,200,0,0,0,3)[/PHP]

وهنا نطلب منه ان يكون الافتتاح الشمعة 2 اكبر من الموفننج 200 في الشمعه رقم 3

الهذلي 02-11-2011 01:44 AM

رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
 
[PHP]iClose(0,0,2)>iOpen(0,0,2)[/PHP]

وهنا نطلب ان يكون الاغلاق في الشمعه رقم 2 اكبر من الافتتاح في الشمعه رقم 2

[PHP]iLow(0,0,2)<=iMA(0,0,200,0,0,0,3)[/PHP]

وهنا لكي نضمن اختبار الشمعه للموفننج طلبنا من ان يكون للو الشمعه اصغر من او يساوي الموفننج 200 في الشمعه رقم 3

[PHP]iOpen(0,0,1)>iClose(0,0,2)[/PHP]

وان يكون الافتتاح في الشمعه رقم 1 اكبر من الاغلاق في الشمعه رقم 2

[PHP]iClose(0,0,1)>iOpen(0,0,1)[/PHP]

وهنا ان تكون الشمعه صاعده اي تعطي ان الترند صاعد

شرطنا ان يكون الاغلاق في الشمعه رقم 1 اكبر من الافتتاح في الشمعه رقم 1

__Dizel__ 02-11-2011 01:47 AM

رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
 
مجهود رائع جدا منك أخي الكريم

واصل إبداعك وإن شاء الله إلى الأمام دائما

والله المستعان

الهذلي 02-11-2011 01:57 AM

رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
 
هنا انتهينا من وضع الشروط والفلتره قبل الدخول في الصفقه وهذه هي مجموعة الشروط التي كتبناها

[PHP]{if(iClose(0,0,3)<iMA(0,0,200,0,0,0,3)&&iOpen(0,0, 2)>iMA(0,0,200,0,0,0,3)&&iClose(0,0,2)>iOpen(0,0,2 )
iLow(0,0,2)<=iMA(0,0,200,0,0,0,3)&&iOpen(0,0,1)>iC lose(0,0,2)&&iClose(0,0,1)>iOpen(0,0,1))}[/PHP]

والان نأتي الى اعطا اوامر الدخول اذا توافقت كل الشروط وتكون داخل { }

[PHP]OrderSend(Symbol(), OP_BUY,Lot, Ask, slippage, StopLoss, TakeProfit, "", magic, 0, Green);[/PHP]

OrderSend : امر الارسال
Symbol() : تبقى كما هي
OP_BUY : نوع الصفقه
Lot : للو
Ask : السعر الحالي للسوق
slippage : تكون 3 للمنصات اربع خانات
وتكون 30 للمنصات خمس خانات
StopLoss : الاستوب
TakeProfit : الهدف
magic : الرقم السحري وتضع فيه ارقام عشوائيه
Green : وهذا لون السهم واختر اللون الذي يعجبك

الهذلي 02-11-2011 02:07 AM

رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
 
[PHP]OrderSend(Symbol(), OP_BUY,1, Ask, 3, Ask-0.0020,Ask+0.0020, "",1236332, 0, Green);[/PHP]

نحن وضعنا شروط وكانت شروط لصفقة شراء لذلك لابد ان نضع OP_BUY
واذا اردنا صفقة بيع نضع OP_SELL

وهنا شراء لذلك OP_BUY

اللوت : 1
Ask : هنا تعني السعر الحالي لسوق
ولو اردنا ان ندخل صفقة بيع نضع بدلها Bid
3 : تم شرحها
Ask-0.0020 : وتعني من سعر دخول الصفقه ضع الاستوب ناقص عشرين

Ask+0.0020 :هما عكس السابقه

1236332 : الرقم السحري
Green : لو سهم الصفقه

الهذلي 02-11-2011 02:12 AM

رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
 
وهذه الامر كلها مجموعه في صفقة الشراء

[PHP]
if(iClose(0,0,3)>iOpen(0,0,3)){if(iClose(0,0,3)<iM A(0,0,200,0,0,0,3)&&iOpen(0,0,2)>iMA(0,0,200,0,0,0 ,3)&&iClose(0,0,2)>iOpen(0,0,2)
iLow(0,0,2)<=iMA(0,0,200,0,0,0,3)&&iOpen(0,0,1)>iC lose(0,0,2)&&iClose(0,0,1)>iOpen(0,0,1))OrderSend( Symbol(), OP_BUY,1, Ask, 3, Ask-0.0020,Ask+0.0020, "",1236332, 0, Green);}[/PHP]

ونضيف داله جديده وهي دالة OrdersTotal()

ونجعلها مساويه لصفر حتى لا يفتح صفقه وهنا صفقه مفتوحه

OrdersTotal()==0

وهنا الكود بعد اضافة الداله

[PHP]if(iClose(0,0,3)>iOpen(0,0,3)){if(iClose(0,0,3)<iM A(0,0,200,0,0,0,3)&&iOpen(0,0,2)>iMA(0,0,200,0,0,0 ,3)&&iClose(0,0,2)>iOpen(0,0,2)
iLow(0,0,2)<=iMA(0,0,200,0,0,0,3)&&iOpen(0,0,1)>iC lose(0,0,2)&&iClose(0,0,1)>iOpen(0,0,1)&&OrdersTot al()==0)OrderSend(Symbol(), OP_BUY,1, Ask, 3, Ask-0.0020,Ask+0.0020, "",1236332, 0, Green);}
[/PHP]

الهذلي 02-11-2011 02:20 AM

رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
 
ونضع الان نفس الامر السابقه ولكن نعكسها

وهذه الامر للبيع

[PHP]if(iClose(0,0,3)<iOpen(0,0,3)){if(iClose(0,0,3)>iM A(0,0,200,0,0,0,3)&&iOpen(0,0,2)<iMA(0,0,200,0,0,0 ,3)&&iClose(0,0,2)<iOpen(0,0,2)
iLow(0,0,2)>=iMA(0,0,200,0,0,0,3)&&iOpen(0,0,1)<iC lose(0,0,2)&&iClose(0,0,1)<iOpen(0,0,1)&&OrdersTot al()==0)
OrderSend(Symbol(), OP_SELL,1, Bid, 3, Bid+0.0020,Bid-0.0020, "",1236332, 0, Red);}[/PHP]

OP_SELL : قلنا امر للبيع

Bid : سعر العرض

هنا صفقتنا بيع يعني ننا نريد ان ينزل السعر 20 نقطه حتى نحقق هدفنا ان الاستوب فهو يكون فوق سعر الدخول للصفقه

اذا الاستوب في البيع نضعه Bid+0.0020

والهدف في البيع نضعه Bid-0.0020

الى هنا انهيت انشاء الاكسبيرت واذا فيه اي استفسار او تعديل على ما قلت او زياده انا حاضر

وان شاء الله راح نزيد في هذه الورشه كيف نجلب مؤشرات حتى نكون استراتيجيه خاصه بنا

اخوكم الهذلي

الهذلي 02-11-2011 02:22 AM

رد: ورشة التعليم والتعلم لبرمجة الأكسبيرتات
 
الاكسبيرت بعد الانتهى منه

[PHP]//+------------------------------------------------------------------+
//| ART top.mq4 |
//| mnaber |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "mnaber"
#property link "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+

int init()

{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}

int start()
{

if(iClose(0,0,3)>iOpen(0,0,3)){if(iClose(0,0,3)<iM A(0,0,200,0,0,0,3)&&iOpen(0,0,2)>iMA(0,0,200,0,0,0 ,3)&&iClose(0,0,2)>iOpen(0,0,2)
&&iLow(0,0,2)<=iMA(0,0,200,0,0,0,3)&&iOpen(0,0,1)> iClose(0,0,2)&&iClose(0,0,1)>iOpen(0,0,1)&&OrdersT otal()==0)
OrderSend(Symbol(), OP_BUY,1, Ask, 3, Ask-0.0020,Ask+0.0020, "",1236332, 0, Green);}

if(iClose(0,0,3)<iOpen(0,0,3)){if(iClose(0,0,3)>iM A(0,0,200,0,0,0,3)&&iOpen(0,0,2)<iMA(0,0,200,0,0,0 ,3)&&iClose(0,0,2)<iOpen(0,0,2)
&&iLow(0,0,2)>=iMA(0,0,200,0,0,0,3)&&iOpen(0,0,1)< iClose(0,0,2)&&iClose(0,0,1)<iOpen(0,0,1)&&OrdersT otal()==0)
OrderSend(Symbol(), OP_SELL,1, Bid, 3, Bid+0.0020,Bid-0.0020, "",1236332, 0, Red);}


return(0);
}
//+------------------------------------------------------------------+[/PHP]

ان شاء الله نكون وفقنا في الشرح


الساعة الآن 07:41 AM

Powered by vBulletin® Copyright ©2000 - 2024

جميع الحقوق محفوظة الى اف اكس ارابيا www.fx-arabia.com