رد:[ الورشة التعليمية ] موضوع نقاش الورشة التعليمية للبرمجة بلغة mql4
اقتباس:
المشاركة الأصلية كتبت بواسطة Mohamed_Amr
تمام اخى تم حل المشكله بتعديل كود البيع
اقتباس:
المشاركة الأصلية كتبت بواسطة Mohamed_Amr
مع العلم ان الاكسبريت يعمل عند عمل باك تيست على نفس المنصه
وعند تشغيله ووضعه على الشارت لايقوم بفتح صفقات
الخطأ 130 خطأ في تحقيق السعر إما بسبب الهدف أو الأستوب لوز فتأكد من جعل الإكسبرت يعمل على خمس أرقام إذا كان البروكر من نوع 5 أرقام وتأكد أن عدد نقاط الهدف والأستوب يسمح الإكسبرت بوضعها
فمثلا ستوب 5 نقاط على بعض البروكرات تقبل لكن على بروكرات أخرى لا تقبل أقل من 10 نقاط كستوب لوز مثلا فبالتالي سوف يظهر هذا الخطأ عند أحد البروكرات
رد:[ الورشة التعليمية ] موضوع نقاش الورشة التعليمية للبرمجة بلغة mql4
اقتباس:
المشاركة الأصلية كتبت بواسطة wahaab
صحيح عندك حق...لازم نشوف الفديو كامل يمكن هناك نقص.
الجزء الغير موجود فقط هو المناقشه في أول المحاضره قبل البدء وآخر جزء بعد الإنتهاء من الشرح
لكن المحاضره كامله
رد:[ الورشة التعليمية ] موضوع نقاش الورشة التعليمية للبرمجة بلغة mql4
اقتباس:
المشاركة الأصلية كتبت بواسطة Mohamed_Amr
اهلا استاذنا الحبيب اسامه
بالنسبه للخطأ فى منصات لاتقبل الهدف والاستوب قبل فتح الصفقه
لذلك الاكسبريت كان لايعمل عليها فجعلت الهدف والاستوب 0 فاشتغل عادى
فهل ممكن حل هذة المشكله استاذنا الحبيب
وبالتوفيق دائما
إستخدم الطرق التي ذكرناها في المشاركات السابقه
إما أن تقوم بتعريف متغير مثلا
وبداخل الداله init تضع الشرط
كود PHP:
if(Digits==5||Digits==3)PT=10;
else PT=1;
ثم عندما تضع الهدف والأستوب يكون
كود PHP:
if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*Point*PT;}
if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*Point*PT;}
أو الطريقه الأخرى تقوم بتعريف متغير مثلا
وبداخل الداله init تضع الشرط
كود PHP:
if(Digits<4)point=0.01;
else point=0.0001;
وستكون شروط الهدف والأستوب
كود PHP:
if(StopLoss==0){SL=0;}else{SL=Bid+StopLoss*point;}
if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*point;}
رد:[ الورشة التعليمية ] موضوع نقاش الورشة التعليمية للبرمجة بلغة mql4
اقتباس:
المشاركة الأصلية كتبت بواسطة Mohamed_Amr
استاذ اسامه المحاضرة الاخيرة الجزء الخاص بالمضاعفات مش كامل خصوصا اول شرحك ليه
ياريت تشرح فكرة المضاعفات ومنها 1-1--22-4-4 وربطها بمتغير خارجى للتحكم بتشغلها
وبالتوفيق استاذنا الحبيب
فكرة جعل المضاعفات كمتغير خارجي قمت بشرحها في مشاركه سابقه في هذا الموضوع في بعض الصفحات السابقه
بالنسبه للمضاعفات 1 - 1 - 2 - 2 - 4 - 4
الفكره في أن أقوم بعمل دالة لمعرفة حجم لوت آخر صفقتين فإذا كان حجم اللوت لآخر صفقتين متساوي x-x مثلا فالصفقه التاليه ستكون حجم اللوت x مضرب * 2
إذا كان حجم اللوت مختلف فحجم اللوت التالي سيكون نفسه x
سوف أقوم بعمل دالة لمعرفة حجم لوت الصفقه التي أحددها
كود PHP:
double OrderNumLots(int ordernumber)
{
int Num;
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
Num++;
if(Num==ordernumber)return(OrderLots());
}
}
return(0);
}
ثم سأضع الشروط
كود PHP:
double NextLot;
if(OrderNumLots(1)==OrderNumLots(2))
{
NextLot=OrderNumLots(1)*2;
}
else
{
NextLot=OrderNumLots(1);
}