![]() |
رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
اقتباس:
،،،اهلا بك اخي الفاضل ، قم بعمل التعديلات الموجوده بالاقتباس باللون الاحمر وسيعمل الاكسبيرت بشكل سليم،،، ،،،تحياتي،،، |
رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
اشكرك اخي و بارك الله فيك
|
رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
السلام عليكم
اخى الكريم اسلام عندى استفسار وهو ان عندى مؤشر رقمي مهمته هو حسابه بعض البيانات مثل قيمة الموفنج 200 على فريمات مختلفة فى نفس الوقت احاول ان اعمل باك تست له ولكن المشكلة اثناء الباك تست ان البيانات التى يعطيها المؤشر كلها غلط عدا بيانات نفس الفريم الى التست عليه فقط رغم انه فى الواقع والحقيقة غير كدة وبيحسب كل الفريمات فى وقت واحد لذلك الباك تست بيخلى المؤشر لايعمل بشكل صحيح الا على الفريم الى التست شغال عليه فقط ،، رغم انه يعمل على 4 فريمات فى وقت واحد فى الحالة الطبيعيه وهو 1 - 5 - 15 - 30 دقيقة فهل يوجد حل برمجي لهذه المشكلة ؟؟ |
رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
اقتباس:
،،،وعليكم السلام ورحمة الله وبركاته،،، ،،،اهلا بك اخي الفاضل ، يجب الاطلاع علي كود المؤشر لمعرفة المشكلة وبالتالي ايجاد حل لها،،، ،،،تحياتي،،، |
رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
اقتباس:
فى المؤشر 8 strings MA1 MA2 MA3 الي اخري وفكرة عمل المؤشر انه يحسب مدي بعد السعر الحالى ارتفاعا او انخفاضا عن خط الموفنج لفريم معين من 1 الي 8 على 8 فريمات مختلفة لمعرفة اتجاة الترند العام |
رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
1 مرفق
المؤشر فى المرفقات
|
رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
السلام عليكم
هل من مستجيب لسؤالي لو تكرمتوا ما خليت غوغل ومنتديات ومبرمجين وشركات إلا و سألتهم و لا يوجد رد حتى الأن أريد كود تبريد الصفات ياجماعة طلعت روحي وما كنت حصل هذا الكود أرجو المساعدة |
رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
اقتباس:
،،،وعليكم السلام ورحمة الله وبركاته،،، ،،،اهلا بك اخي الفاضل ، الكود موجود بالمشاركة علي الرابط التالي،،، http://www.fx-arabia.com/vb/showpost...&postcount=559 ،،،تحياتي،،، |
رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
أستاذ إسلام العوامي
بداية الأمر أشكرك كل الشكر على الرد و انا أتابع فيديوهاتك على اليوتيوب للبرمجة والشكر و التقدير لك على هذه الدروس لكن الكود الذي أريد هو للتبيريد و إليك الشرح 1- عندي أكسبرت مفتوح أريد إضافة بعض التعديلات عليه وهي كالتالي 1- عنما يفتح الاكسبرت صفقة بيع مثلا ب 1 لوت في حال خسرت الصفقة 30 أو 40 نقطة فسيقوم الأكسبرت بفتح صفقة بيع أخرى بقيمة 1.4 لوت مثلا و هكذا وفي حال عكس الصفقتين الأولى 80 نقطة والثانية 40 نقطة فسيقوم الاكسبرت بفتح صفقة 1.96 وهكذا تكون المتتالية وسيقوم الأكسبرت بتحريك الهدف لجميع الصفقات بحيث أخرج بربح نهائي 10 نقاط أو 15 ن هذا الكود الذي أريده أولا ثانيا : أريد كود أن لايسمح الأكسبرت إلا بفتح زوج واحد في حال تحققت شروط الدخول مع العلم أنني أضع الأكسبرت على جميع الشارتات ( المشكلة التي أوجاهها الأن أن الأكسبرت يفتح عدة أزواج مع بعض لأنه يجد تحقق الشروط في عدة أزواج بارك الله فيك أستاذ إسلام وطموحي أن أصبح مبرمج وإنشاء الله سأصل على يدك |
رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
input int MagicNumber=1982; //Magic Number
input double Lots=0.1; //Fixed Lots input double StopLoss=50; //Fixed Stop Loss (in Points) input double TakeProfit=150; //Fixed Take Profit (in Points) input int TrailingStop=15; //Trailing Stop (in Points) input int Slippage=3; //+------------------------------------------------------------------+ //| expert OnTick function | //+------------------------------------------------------------------+ void OnTick() { double MyPoint=Point; if(Digits==3 || Digits==5) MyPoint=Point*10; double TheStopLoss=0; double TheTakeProfit=0; if(TotalOrdersCount()==0) { int result=0; if((iRSI(NULL,PERIOD_H1,14,PRICE_CLOSE,0)<50) && (iRSI(NULL,PERIOD_H4,14,PRICE_CLOSE,0)<50) && (iRSI(NULL,PERIOD_D1,14,PRICE_CLOSE,0)<50)) // Here is your open buy rule { result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage ,0,0,"RAMI V2_5M BUY AUTO",MagicNumber,0,Blue); if(result>0) { TheStopLoss=0; TheTakeProfit=0; if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint; if(StopLoss>0) TheStopLoss=Ask-StopLoss*MyPoint; int MyOrderSelect=OrderSelect(result,SELECT_BY_TICKET) ; int MyOrderModify=OrderModify(OrderTicket(),OrderOpenP rice(),NormalizeDouble(TheStopLoss,Digits),Normali zeDouble(TheTakeProfit,Digits),0,Green); } } if((iRSI(NULL,PERIOD_H1,14,PRICE_CLOSE,0)>50) && (iRSI(NULL,PERIOD_H4,14,PRICE_CLOSE,0)>50) && (iRSI(NULL,PERIOD_D1,14,PRICE_CLOSE,0)>50)) // Here is your open buy rule { result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippag e,0,0,"RAMI V2_5M SELL AUTO",MagicNumber,0,Red); if(result>0) { TheStopLoss=0; TheTakeProfit=0; if(TakeProfit>0) TheTakeProfit=Bid-TakeProfit*MyPoint; if(StopLoss>0) TheStopLoss=Bid+StopLoss*MyPoint; int MyOrderSelect=OrderSelect(result,SELECT_BY_TICKET) ; int MyOrderModify=OrderModify(OrderTicket(),OrderOpenP rice(),NormalizeDouble(TheStopLoss,Digits),Normali zeDouble(TheTakeProfit,Digits),0,Green); } } } for(int cnt=0;cnt<OrdersTotal();cnt++) { int MyOrderSelect=OrderSelect(cnt,SELECT_BY_POS,MODE_T RADES); if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber ) if(OrderType()==OP_BUY) { if((iRSI(NULL,0,14,PRICE_CLOSE,0)>800)) //here is the close buy condition { int MyOrderClose=OrderClose(OrderTicket(),OrderLots(), OrderClosePrice(),Slippage,Red); } if(TrailingStop>0) { if(Bid-OrderOpenPrice()>MyPoint*TrailingStop) { if(OrderStopLoss()<Bid-MyPoint*TrailingStop) { int MyOrderModify=OrderModify(OrderTicket(),OrderOpenP rice(),Bid-TrailingStop*MyPoint,OrderTakeProfit(),0,Green); } } } } else { if((iRSI(NULL,0,14,PRICE_CLOSE,0)<-800)) // here is the close sell condition { int MyOrderClose=OrderClose(OrderTicket(),OrderLots(), OrderClosePrice(),Slippage,Red); } if(TrailingStop>0) { if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop)) { if((OrderStopLoss()>(Ask+MyPoint*TrailingStop)) || (OrderStopLoss()==0)) { int MyOrderModify=OrderModify(OrderTicket(),OrderOpenP rice(),Ask+MyPoint*TrailingStop,OrderTakeProfit(), 0,Red); } } } } } } //+------------------------------------------------------------------+ //| expert TotalOrdersCount function | //+------------------------------------------------------------------+ int TotalOrdersCount() { int result=0; for(int i=0;i<OrdersTotal();i++) { int MyOrderSelect=OrderSelect(i,SELECT_BY_POS,MODE_TRA DES); if(OrderMagicNumber()==MagicNumber) result++; } return (result); } //+------------------------------------------------------------------+ //| expert Start function //+------------------------------------------------------------------+ void drawshap(string name,color LineColor,double Price1,double Price2,datetime Time1,datetime Time2) { if(ObjectFind(name) == -1) { ObjectCreate(name, OBJ_RECTANGLE, 0, Time1,Price1,Time2,Price2); ObjectSet(name, OBJPROP_COLOR, LineColor); ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID); ObjectSet(name, OBJPROP_WIDTH, 2); } else if(ObjectGet(name,OBJPROP_TIME1)!=Time1||ObjectGet (name,OBJPROP_PRICE1)!=Price1){ ObjectDelete(name); } } //+------------------------------------------------------------------+ double lastOpenPrice(){ datetime d =0; double xt =0; int total = OrdersTotal(); for (int cnt = 0 ; cnt <= total ; cnt++) { if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)) if (OrderSymbol()==Symbol()&&OrderMagicNumber()==Magi cNumber) { if (OrderOpenTime()>d) {d=OrderOpenTime(); xt=OrderOpenPrice();} } } return(xt); } |
الساعة الآن 06:30 PM |
Powered by vBulletin® Copyright ©2000 - 2025
جميع الحقوق محفوظة الى اف اكس ارابيا www.fx-arabia.com