![]() |
رد: دورة تعليم برمجة الاكسبريت
نضع شرط ضهور السهم الازرق مع فتح صفقة واحدة فقط
ونضع حاضنة لتنفيذ الامر الذي نريده كذالك شرط ضهور السهم الاحمر وحاضنة للامر الذي نريد تنفيذه [PHP] if(orderstotal()<MaxTrades&&indigreen<4000) { } if(orderstotal()<MaxTrades&&indired<4000) { } [/PHP] مع تاكيد اننا نريد ان نقوم بعملية شراء عند ضهور سهم ازرق وبيع عند ضهور سهم احمر |
رد: دورة تعليم برمجة الاكسبريت
وكما شرحنا من قبل ان في حالة الشراء
فان الامر سيتنفذ علي Ask وهنا الربح بالنقاط يسمي TakeProfit اذن الربح الذي نريد اغلاق الصفقة لما يصله السعر هو سعر الدخول + عدد نقاط الربح ونفس الامر بالنسبة للخسارة اذا سيصبح الكود عند ضهور سهم ازرق ولاننا سندخل عملية Buy [PHP] double TP; double SL; if(orderstotal()<MaxTrades&&indigreen<4000) { if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*poi nt;} if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*point;} OrderSend(Symbol(),OP_BUY,Lots,Ask,3*Q,SL,TP,"",Ma gicNumber,0,Blue); } if(orderstotal()<MaxTrades&&indired<4000) { if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*point;} if(StopLoss==0){SL=0;}else{SL=Bid+StopLoss*point;} OrderSend(Symbol(),OP_SELL,Lots,Bid,3*Q,SL,TP,"",M agicNumber,0,Red); } [/PHP] وهذا هو الكود الكلي برتيب اكثر |
رد: دورة تعليم برمجة الاكسبريت
بارك الله فيك استاذي العزيز موفنج
|
رد: دورة تعليم برمجة الاكسبريت
استاذ موفنج والله اتعبتك معاي لو ممكن مساعدة بسيطة
حول الاكسبيرت الذي عملناه في الدورة فقد قمت ببعض التعديلات عليه مثل اضافة التريلنج استوب وكذلك اغلاق الصفقة لما تكون اشارة معاكسة لكن للاسف لم تتفعل اي من هذه الدوال في الاكسبيرت بل اصبح يفتح 5 صفقات معا بدل صفقة واحدة رغم اني حددت عدد الصفقات المفتوحة بصفقة واحدة فقط فارجو ان تشرح لي الاخطاء التي وقعت فيها لان الاكسبيرت للتعلم فقط لا اكثر وبارك الله فيك وجعله في ميزان حسناتك [PHP]extern double Lots = 0.1; double point; int digits,Q; extern int MaxTrades = 1; extern int StopLoss=0; extern int TakeProfit=0; extern int TrailingStop=0; extern int TrailingStep=0; extern int MagicNumber=1234; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { if(Digits==5||Digits==3)Q=10; else Q=1; if(Digits==2) { point=0.01; } if(Digits==4) { point=0.0001; } if(Digits==3) { point=0.01; } if(Digits==5) { point=0.0001; } } int magic=0 ; int orderstotal(){ int cnt=0; for(int i =0;i<OrdersTotal();i++){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){ cnt++; } } return(cnt); } //---- //---- //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { Comment(""); if(TrailingStop>0)MoveTrailingStop(); ////////////////////////////////////////////////// double indigreen=iCustom(0,0,"imad",1,1); double indired=iCustom(0,0,"imad",0,1); ////////////////////////////////////////////////// double TP,SL; if(indigreen<4000) { if(orderstotal()<MaxTrades) {CloseSellOrders();} //Buy if(TakeProfit==0){TP=0;} else{TP=Ask+TakeProfit*point;} if(StopLoss==0){SL=0;} else{SL=Ask-StopLoss*point;} OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SL,TP,"",Magi cNumber,0,Blue); } ////////////////////////////////////////////////// if(indired<4000){ if(orderstotal()<MaxTrades) {CloseBuyOrders();} //Sell if(TakeProfit==0){TP=0;} else{TP=Bid-TakeProfit*point;} if(StopLoss==0){SL=0;} else{SL=Bid+StopLoss*point;} OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SL,TP,"",Mag icNumber,0,Red); } } //+------------------------------------------------------------------+ void CloseBuyOrders() { for (int cnt = 0 ; cnt < OrdersTotal() ;cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol()) { if (OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,3); } } } } ////////////////////////////////////////////////// void CloseSellOrders() { for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol()) if (OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3); } } ////////////////////////////////////////////////// void MoveTrailingStop() { for(int cnt=0;cnt<OrdersTotal();cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&& OrderMagicNumber()==MagicNumber) { if(OrderType()==OP_BUY) { if(TrailingStop>0&&NormalizeDouble(Ask-TrailingStep*point,digits)>NormalizeDouble(OrderOp enPrice()+TrailingStop*point,digits)) { if((NormalizeDouble(OrderStopLoss(),digits)<Normal izeDouble(Bid-TrailingStop*point,digits))||(OrderStopLoss()==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),Normali zeDouble(Bid-TrailingStop*point,digits),OrderTakeProfit(),0,Blu e); } } } else { if(TrailingStop>0&&NormalizeDouble(Bid+TrailingSte p*point,digits)<NormalizeDouble(OrderOpenPrice()-TrailingStop*point,digits)) { if((NormalizeDouble(OrderStopLoss(),digits)>(Norma lizeDouble(Ask+TrailingStop*point,digits)))||(Orde rStopLoss()==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),Normali zeDouble(Ask+TrailingStop*point,digits),OrderTakeP rofit(),0,Red); } } } } } } [/PHP] |
رد: دورة تعليم برمجة الاكسبريت
اقتباس:
لاحظ انك حذفت return من الدالة start وهي معرفة علي انها دالة من نوع int يعني ترجع رقم وغير ممكن لا ترجع شئ |
رد: دورة تعليم برمجة الاكسبريت
اقتباس:
ربما حذفتها عند عملية التعديل |
رد: دورة تعليم برمجة الاكسبريت
اقتباس:
|
رد: دورة تعليم برمجة الاكسبريت
اقتباس:
بارك الله فيك استاذ موفنج |
رد: دورة تعليم برمجة الاكسبريت
اقتباس:
فيه شئ غير صحيح في برنامجك اخي هو غلق الصفقات العكسية ماهي شروط غلق الصفقات العكسية ؟؟؟؟؟ |
رد: دورة تعليم برمجة الاكسبريت
لغلق الصفقات العكسية يشترط فقط ضهور السهم المعاكس
;غير شرط ان يكون عدد الصفقات اقل من mx trade اذت لغلق الصفقات ضع الشرط منفصل علي شرط فتح الصفقات مع تغير الشروط انا ممكن اضع لك التعديل النهائي لاكن اردت مناقشة الاخضاء لكي يستفيد الجميع عند مراجعة الموضوع |
الساعة الآن 06:25 AM |
Powered by vBulletin® Copyright ©2000 - 2025
جميع الحقوق محفوظة الى اف اكس ارابيا www.fx-arabia.com