النتائج 1 إلى 5 من 5
الموضوع: طلب ازالة خطاء بسيط
- 01-02-2012, 09:17 PM #1
طلب ازالة خطاء بسيط
طلب بسيط من الاخوه المبرمجين و خاصتا مستر دولار
هناك اشكال في الاكسبيرت المرفق و هو في حالة استخدامه على منصة ECN تبقى بعض الصفقات بدون هدف و استوب و لا يظهر خطاء في قسم الجورنال او خبير الالي
اذا نظرنا في قسم خبير الالي لا توجد اي محاوله للاكسبيرت لعمل موديفاي و اضافة الهدف و الاستوب لبعض الصفقات و ليس لجميعها و هذا عجيب
فيبدوا لي هناك خلل في دالة موديفاي الصفقه و الا لماذا يتوقف عن عمل موديفاي على بعض الصفقات
ياريت المساعده اخي مستر دولار لازالة المشكله
مرفق الاكسبيرت و الصوره من قسم الجورنال و خبير الالي
و شكرا
- 02-02-2012, 01:54 PM #2
up
- 03-02-2012, 02:48 AM #3
- 03-02-2012, 06:53 AM #4
نعم اخي العزيز
الخاصيه متفعله و الاشكال لا يحصل في جميع الصفقات و لا يظهر اي خطاء ممكن حضرتك تدخل على السريفر بتاعي و والمنصات شغاله قمت بارسالك البيانات للدخول يوم امس
و شكرا
- 03-02-2012, 11:51 PM #5
اخي اسامه ممكن حل هذه المشكلة باضافة دالة خاصه للبحث عن صفقات التي بقيت بدون هدف و استوب و اتصور هذه الدالة هي
كود PHP:void ModifyOrders(){
double SL,TP;
for(int i=0;i<=OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderStopLoss()==0||OrderTakeProfit()==0){
if(OrderType()==OP_BUY){
if(StopLoss==0)SL=0;else SL=OrderOpenPrice()-StopLoss*Point;
if(TakeProfit==0)TP=0;else TP=OrderOpenPrice()+TakeProfit*Point;
OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0);
}
if(OrderType()==OP_SELL){
if(StopLoss==0)SL=0;else SL=OrderOpenPrice()+StopLoss*Point;
if(TakeProfit==0)TP=0;else TP=OrderOpenPrice()-TakeProfit*Point;
OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0);
}
}
}
}
كود PHP:extern int LotStep=2;
int safeShortOrder(int ai_0, int ai_4, double a_lots_8, int a_magic_16, string a_comment_20) {
if(a_lots_8<MarketInfo(Symbol(),MODE_MINLOT))a_lots_8=MarketInfo(Symbol(),MODE_MINLOT);
if(a_lots_8>MarketInfo(Symbol(),MODE_MAXLOT))a_lots_8=MarketInfo(Symbol(),MODE_MAXLOT);
a_lots_8=NormalizeDouble(a_lots_8,LotStep);
int safeLongOrder(int ai_0, int ai_4, double a_lots_8, int a_magic_16, string a_comment_20) {
if(a_lots_8<MarketInfo(Symbol(),MODE_MINLOT))a_lots_8=MarketInfo(Symbol(),MODE_MINLOT);
if(a_lots_8>MarketInfo(Symbol(),MODE_MAXLOT))a_lots_8=MarketInfo(Symbol(),MODE_MAXLOT);
a_lots_8=NormalizeDouble(a_lots_8,LotStep);