استفسار برمجي حول دالة اوردر موديفاي
النتائج 1 إلى 10 من 10
  1. #1
    تاريخ التسجيل
    Oct 2009
    العمر
    49
    المشاركات
    1,476

    افتراضي استفسار برمجي حول دالة اوردر موديفاي

    سلام عليكم اخي و استاذي العزيز اسامه
    حول خاصية موديفاي الهدف و الاستوب للصفقات المفتوحه و كما نعلم هذه الخاصية بلنسبة للشركات التي تسخدم منصات ECN شيء ضروري و حياتي حتى يستطيع الاكسبيرت يضيف الهدف و الاستوب للصفقات بعد فتحها
    و لكن واجهت مشكله انه في حساب لايف بعض الصفقات لم تجرى عليها هذه الخاصية و هي موديفاي الصفقات
    و السبب ممكن راجع لتحرك السريع للسعر و الاكسبيرت لم يستطيع يعمل موديفاي لها اوصغر الاستوب و الهدف و قربه من سعر الحالي و عدم تقبلهما من السريفر و هناك اسباب اخرى تمنع من عمل هذه الخاصية بشكل سليم فتبقى الصفقات بدون هدف و استوب كما في الامر الصادر في المثال التالي و لم يظهر سبب الخطاء في الجورنال:
    instant order buy 1.60 EURCHF at 1.2646 sl: 0.0000 tp: 0.0000
    request was accepted by server

    طبعا وجدت هناك حلول لهذه المشكله :
    1- استخدام HIde TP ST للصفقات التي ليس لها هدف او استوب و بلتالي يتم الاغلاق فورا عند وصول السعر لهما (الهدف او الاستوب )
    2-الاكسبيرت يقوم بعدة محاولات لتشييك اقرب هدف و استوب ممكن ان يضعه في تلك الحظه للصفقه المفتوحه 3- اغلاق الصفقه فورا واعادة فتحها باستوب و هدف مره ثانيه و هذه يسبب خصارة الاسبيرد
    4- استخدام الدالة التاليه :
    ticket=OrderSend(Symbol(),OP_BUY,Lo ts,askprice,Slippage,0,0,"Test EA",16384,0,Green);
    OrderModify(ticket,0,OrderOpenPrice ()-Point*StopLoss,OrderOpenPrice()+Poi nt*TakeP rofit ,0,CLR_NONE);

    او :
    OrderModify(ticket,0,NormalizeDoubl e(OrderOpenPrice()+(StopLoss*Point) ,Digits),0,0,CLR_NONE); Also unless you used OrderSelect() the OrderOpenPrice() has NO Value... - You can do askprice=Ask; THEN do your OrderSend and OrderModify using the Variable askprice.

    بدل الكد الموجود في الاكسبيرت او غيرها
    الكد التالي:
    كود PHP:
     if (ai_4 <= 0l_price_48 0;
             
    l_ticket_28 OrderSend(Symbol(), OP_SELLa_lots_8NormalizeDouble(BidDigits), 300a_comment_20a_magic_160Blue);
             if (
    l_ticket_28 0) break;
          }
          if (
    l_ticket_28 1) {
             
    Alert("Could not put on order! Haulting Trading...");
             return (-
    2);
          }
       }
       
    OrderModify(l_ticket_28OrderOpenPrice(), l_price_40l_price_480CLR_NONE);
       return (
    l_ticket_28);
    }

    int safeLongOrder(int ai_0int ai_4double a_lots_8int a_magic_16string a_comment_20) {
       
    int l_error_32 = -1;
       
    int l_count_36 0;
       
    double l_price_40 Ask ai_0 Point;
       
    double l_price_48 Ask ai_4 Point;
       if (
    ai_0 <= 0l_price_40 0;
       if (
    ai_4 <= 0l_price_48 0;
       Print(
    "Stop Loss -- "l_price_40);
       Print(
    "Take Profit --"l_price_48);
       
    int l_ticket_28 OrderSend(Symbol(), OP_BUYa_lots_8NormalizeDouble(AskDigits), 300a_comment_20a_magic_160Blue);
       if (
    l_ticket_28 1) {
          for (
    l_count_36 0l_count_36 10l_count_36++) {
             
    l_error_32 GetLastError();
             Print(
    "Error in putting on order!! -- "l_error_32);
             if (
    handleError(l_error_32) == 3) {
                
    Alert("Fatal Error -- Can Not Put On Order! Haulting Trading...");
                return (-
    2);
             }
             Print(
    "Saveable error..trying again..(#" l_count_36 " of 10");
             
    Sleep(2000);
             
    RefreshRates();
             
    l_price_40 Ask ai_0 Point;
             
    l_price_48 Ask ai_4 Point;
             if (
    ai_0 <= 0l_price_40 0;
             if (
    ai_4 <= 0l_price_48 0;
             
    l_ticket_28 OrderSend(Symbol(), OP_BUYa_lots_8NormalizeDouble(AskDigits), 300a_comment_20a_magic_160Blue);
             if (
    l_ticket_28 0) break;
          }
          if (
    l_ticket_28 1) {
             
    Alert("Could not put on order! Haulting Trading...");
             return (-
    2);
          }
       }
       
    OrderModify(l_ticket_28OrderOpenPrice(), l_price_40l_price_480CLR_NONE);
       return (
    l_ticket_28);
    }

    int totalOrders(string a_symbol_0int a_magic_8) {
       
    int l_count_12 0;
       for (
    int l_pos_16 0l_pos_16 OrdersTotal(); l_pos_16++) {
          
    OrderSelect(l_pos_16SELECT_BY_POSMODE_TRADES);
          if (
    OrderSymbol() == a_symbol_0 && OrderMagicNumber() == a_magic_8l_count_12++;
       }
       return (
    l_count_12);

    و لكد الكامل موجود على الرابط التالي ارجوا اخي اسامه انتساعدني بتعديله بافضل الطرق التي ترها حضرتك لاني حقيقتا لا ادري مدى صحة الكد الموجود في طريق الرابع
    و شكرا
    الملفات المرفقة الملفات المرفقة
    • نوع الملف: mq4 pp.mq4‏ (27.4 كيلوبايت, المشاهدات 38)
    آخر تعديل بواسطة amazing ، 13-05-2011 الساعة 01:05 PM

  2. #2
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    12,977

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة amazing مشاهدة المشاركة
    سلام عليكم اخي و استاذي العزيز اسامه
    حول خاصية موديفاي الهدف و الاستوب للصفقات المفتوحه و كما نعلم هذه الخاصية بلنسبة للشركات التي تسخدم منصات ECN شيء ضروري و حياتي حتى يستطيع الاكسبيرت يضيف الهدف و الاستوب للصفقات بعد فتحها
    و لكن واجهت مشكله انه في حساب لايف بعض الصفقات لم تجرى عليها هذه الخاصية و هي موديفاي الصفقات
    و السبب ممكن راجع لتحرك السريع للسعر و الاكسبيرت لم يستطيع يعمل موديفاي لها اوصغر الاستوب و الهدف و قربه من سعر الحالي و عدم تقبلهما من السريفر و هناك اسباب اخرى تمنع من عمل هذه الخاصية بشكل سليم فتبقى الصفقات بدون هدف و استوب كما في الامر الصادر في المثال التالي و لم يظهر سبب الخطاء في الجورنال:
    instant order buy 1.60 EURCHF at 1.2646 sl: 0.0000 tp: 0.0000
    request was accepted by server

    طبعا وجدت هناك حلول لهذه المشكله :
    1- استخدام HIde TP ST للصفقات التي ليس لها هدف او استوب و بلتالي يتم الاغلاق فورا عند وصول السعر لهما (الهدف او الاستوب )
    2-الاكسبيرت يقوم بعدة محاولات لتشييك اقرب هدف و استوب ممكن ان يضعه في تلك الحظه للصفقه المفتوحه 3- اغلاق الصفقه فورا واعادة فتحها باستوب و هدف مره ثانيه و هذه يسبب خصارة الاسبيرد
    4- استخدام الدالة التاليه :
    ticket=OrderSend(Symbol(),OP_BUY,Lo ts,askprice,Slippage,0,0,"Test EA",16384,0,Green);
    OrderModify(ticket,0,OrderOpenPrice ()-Point*StopLoss,OrderOpenPrice()+Poi nt*TakeP rofit ,0,CLR_NONE);

    او :
    OrderModify(ticket,0,NormalizeDoubl e(OrderOpenPrice()+(StopLoss*Point) ,Digits),0,0,CLR_NONE); Also unless you used OrderSelect() the OrderOpenPrice() has NO Value... - You can do askprice=Ask; THEN do your OrderSend and OrderModify using the Variable askprice.

    بدل الكد الموجود في الاكسبيرت او غيرها
    الكد التالي:
    كود PHP:
     if (ai_4 <= 0l_price_48 0;
             
    l_ticket_28 OrderSend(Symbol(), OP_SELLa_lots_8NormalizeDouble(BidDigits), 300a_comment_20a_magic_160Blue);
             if (
    l_ticket_28 0) break;
          }
          if (
    l_ticket_28 1) {
             
    Alert("Could not put on order! Haulting Trading...");
             return (-
    2);
          }
       }
       
    OrderModify(l_ticket_28OrderOpenPrice(), l_price_40l_price_480CLR_NONE);
       return (
    l_ticket_28);
    }

    int safeLongOrder(int ai_0int ai_4double a_lots_8int a_magic_16string a_comment_20) {
       
    int l_error_32 = -1;
       
    int l_count_36 0;
       
    double l_price_40 Ask ai_0 Point;
       
    double l_price_48 Ask ai_4 Point;
       if (
    ai_0 <= 0l_price_40 0;
       if (
    ai_4 <= 0l_price_48 0;
       Print(
    "Stop Loss -- "l_price_40);
       Print(
    "Take Profit --"l_price_48);
       
    int l_ticket_28 OrderSend(Symbol(), OP_BUYa_lots_8NormalizeDouble(AskDigits), 300a_comment_20a_magic_160Blue);
       if (
    l_ticket_28 1) {
          for (
    l_count_36 0l_count_36 10l_count_36++) {
             
    l_error_32 GetLastError();
             Print(
    "Error in putting on order!! -- "l_error_32);
             if (
    handleError(l_error_32) == 3) {
                
    Alert("Fatal Error -- Can Not Put On Order! Haulting Trading...");
                return (-
    2);
             }
             Print(
    "Saveable error..trying again..(#" l_count_36 " of 10");
             
    Sleep(2000);
             
    RefreshRates();
             
    l_price_40 Ask ai_0 Point;
             
    l_price_48 Ask ai_4 Point;
             if (
    ai_0 <= 0l_price_40 0;
             if (
    ai_4 <= 0l_price_48 0;
             
    l_ticket_28 OrderSend(Symbol(), OP_BUYa_lots_8NormalizeDouble(AskDigits), 300a_comment_20a_magic_160Blue);
             if (
    l_ticket_28 0) break;
          }
          if (
    l_ticket_28 1) {
             
    Alert("Could not put on order! Haulting Trading...");
             return (-
    2);
          }
       }
       
    OrderModify(l_ticket_28OrderOpenPrice(), l_price_40l_price_480CLR_NONE);
       return (
    l_ticket_28);
    }

    int totalOrders(string a_symbol_0int a_magic_8) {
       
    int l_count_12 0;
       for (
    int l_pos_16 0l_pos_16 OrdersTotal(); l_pos_16++) {
          
    OrderSelect(l_pos_16SELECT_BY_POSMODE_TRADES);
          if (
    OrderSymbol() == a_symbol_0 && OrderMagicNumber() == a_magic_8l_count_12++;
       }
       return (
    l_count_12);

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

    أولا لحل مشكلة قرب الهدف أو الأستوب لوز من السعر بحيث لا يسمح البروكر بوضع الأستوب أو الهدف لصغره
    سوف نستخدم الداله MarketInfo لمعرفة أقل هدف أو ستوب لوز يسمح الإكسبرت بوضعه
    كود PHP:
    MathMaxai_0,MarketInfo(Symbol(),MODE_STOPLEVEL)) 
    ثم إذا كان الهدف أو الأستوب لوز أقل من السعر المسموح به يتم جعله على عدد النقاط المسموح بها

    لحل مشكلة عدم عمل مودفاي للأمر ربما بسبب إنشغال السيرفر أو حودث مشاكل أخرى يمكننا أن نجعل الإكسبرت يقوم بالمحاوله مره أخرى حتى ينجح
    كود PHP:
     if(!Mod&&V<10){V++;OrderModify(l_ticket_28OrderOpenPrice(), l_price_40l_price_480CLR_NONE);} 
    يمكنك أخيرا عمل داله مستقله للبحث عن الصفقات التي بدون هدف أو ستوب لوز ثم تحديد ووضع هدف وستوب لوز
    بالتالي في كل مره سوف تظل هذه الداله تعمل سوف تبحث عن الصفقات التي لم يتم تعديلها وإعادة تعديلها في أي وقت آخر

    الإكسبرت في المرفقات بالتعديلات التي ذكرتها
    الملفات المرفقة الملفات المرفقة
    • نوع الملف: mq4 pp.mq4‏ (27.8 كيلوبايت, المشاهدات 33)
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  3. #3
    تاريخ التسجيل
    Oct 2009
    العمر
    49
    المشاركات
    1,476

    افتراضي

    جزالك الله خيرا استاذي العزيز اسامه
    جربته و لكن حصل مشكله في موديفاي الصفقات الشراء و توقف عمل موديفاي هذه الصفقات انا نظرت الى الكد و رايت حضرتك واضع لكلا القسمين Bid , Bid يعني تحت دالة :
    int l_ticket_28 = OrderSend(Symbol(), OP_BUY
    .
    .
    l_price_40 = Bid +MathMax( ai_0,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
    l_price_48 = Bid -MathMax( ai_4,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
    و ايضا تحت دالة البيع نفس الشيء:
    int l_ticket_28 = OrderSend(Symbol(), OP_SELL
    ..
    l_price_40 = Bid +MathMax( ai_0,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
    l_price_48 = Bid -MathMax( ai_4,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
    فهل هناك خطاء لماذا لم يتم وضع لدالة الشراء Ask :
    l_price_40 = ِAsk +MathMax( ai_0,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
    l_price_48 = Ask -MathMax( ai_4,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
    و اظن هنا اربع دالات كانت موجوده من الاساس و تم تغيير اثنين منهما فقط حسب الداله الجديده و هم:
    double l_price_40 = Ask - ai_0 * Point;
    double l_price_48 = Ask + ai_4 * Point;
    double l_price_40 = Bid + ai_0 * Point;
    double l_price_48 = Bid - ai_4 * Point;

    l_price_40 = Bid + ai_0 * Point;
    l_price_48 = Bid - ai_4 * Point;
    l_price_40 = Ask - ai_0 * Point;
    l_price_48 = Ask + ai_4 * Point;
    اذا امكن استاذي حسب كلامك يمكن تضيف للاكسبيرت دالة مستقله للبحث عن الصفقات التي بدون هدف أو ستوب لوز ثم تحديد ووضع هدف وستوب لوز
    بالتالي في كل مره سوف تظل هذه الداله تعمل سوف تبحث عن الصفقات التي لم يتم تعديلها وإعادة تعديلها في أي وقت آخر
    و شكرا
    آخر تعديل بواسطة amazing ، 16-05-2011 الساعة 02:11 PM

  4. #4
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    12,977

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة amazing مشاهدة المشاركة
    جزالك الله خيرا استاذي العزيز اسامه
    جربته و لكن حصل مشكله في موديفاي الصفقات الشراء و توقف عمل موديفاي هذه الصفقات انا نظرت الى الكد و رايت حضرتك واضع لكلا القسمين Bid , Bid يعني تحت دالة :
    int l_ticket_28 = OrderSend(Symbol(), OP_BUY
    .
    .
    l_price_40 = Bid +MathMax( ai_0,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
    l_price_48 = Bid -MathMax( ai_4,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
    و ايضا تحت دالة البيع نفس الشيء:
    int l_ticket_28 = OrderSend(Symbol(), OP_SELL
    ..
    l_price_40 = Bid +MathMax( ai_0,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
    l_price_48 = Bid -MathMax( ai_4,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
    فهل هناك خطاء لماذا لم يتم وضع لدالة الشراء Ask :
    l_price_40 = ِAsk +MathMax( ai_0,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
    l_price_48 = Ask -MathMax( ai_4,MarketInfo(Symbol(),MODE_STOPLEVEL)) * Point;
    و اظن هنا اربع دالات كانت موجوده من الاساس و تم تغيير اثنين منهما فقط حسب الداله الجديده و هم:
    double l_price_40 = Ask - ai_0 * Point;
    double l_price_48 = Ask + ai_4 * Point;
    double l_price_40 = Bid + ai_0 * Point;
    double l_price_48 = Bid - ai_4 * Point;

    l_price_40 = Bid + ai_0 * Point;
    l_price_48 = Bid - ai_4 * Point;
    l_price_40 = Ask - ai_0 * Point;
    l_price_48 = Ask + ai_4 * Point;
    اذا امكن استاذي حسب كلامك يمكن تضيف للاكسبيرت دالة مستقله للبحث عن الصفقات التي بدون هدف أو ستوب لوز ثم تحديد ووضع هدف وستوب لوز
    بالتالي في كل مره سوف تظل هذه الداله تعمل سوف تبحث عن الصفقات التي لم يتم تعديلها وإعادة تعديلها في أي وقت آخر
    و شكرا
    أنا حاولت فقط أن أوضح لك بعض التعديلات لكن بنفس الطريقه سوف تستخدم نفس الأكواد
    هذا مثال لدالة سوف تقوم بالبحث عن الصفقات التي بدون هدف أو ستوب لوز ثم تقوم بعمل مودفاي
    كود 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);
      }
     }
    }

    طبعا سوف تقوم بتعريف هذه الداله خارج الداله start
    ثم بعد ذلك تقوم بإستدعائها داخل الداله start
    كود PHP:
    ModifyOrders() 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  5. #5
    تاريخ التسجيل
    Oct 2009
    العمر
    49
    المشاركات
    1,476

    افتراضي

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

  6. #6
    تاريخ التسجيل
    Oct 2009
    العمر
    49
    المشاركات
    1,476

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة amazing مشاهدة المشاركة
    الف شكر اخي اسامه على تعبك و لكن حاولت عدة مرات و اضفت الكد و لكن بتظهر عندي بعض الاخطاء البرمجيه
    ياريت اخي اسامه تقوم باضافة الكد الجاهز و التغييرات الممكنه اكيد بخبرتك العاليه لن ياخذ من وقتك كثيرا
    و الله البرمجه تشيب واحد يحتاج خبير عقبري مثل حضرتك
    خلاص ما اتعبك اكثر
    و شكرا
    بانتظار

  7. #7
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    12,977

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة amazing مشاهدة المشاركة
    الف شكر اخي اسامه على تعبك و لكن حاولت عدة مرات و اضفت الكد و لكن بتظهر عندي بعض الاخطاء البرمجيه
    ياريت اخي اسامه تقوم باضافة الكد الجاهز و التغييرات الممكنه اكيد بخبرتك العاليه لن ياخذ من وقتك كثيرا
    و الله البرمجه تشيب واحد يحتاج خبير عقبري مثل حضرتك
    خلاص ما اتعبك اكثر
    و شكرا
    تفضل أضفت لك التعديل على النسخه الأولى وأضفت متغيرين
    StopLoss و TakeProfit لتحدد منهم الهدف والأستوب لوز
    الملفات المرفقة الملفات المرفقة
    • نوع الملف: mq4 pp 2.mq4‏ (28.5 كيلوبايت, المشاهدات 37)
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  8. #8
    تاريخ التسجيل
    Oct 2009
    العمر
    49
    المشاركات
    1,476

    افتراضي

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

  9. #9
    تاريخ التسجيل
    Oct 2009
    العمر
    49
    المشاركات
    1,476

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة amazing مشاهدة المشاركة
    جزاك الله خيرا اخي اسامه
    ممكن طلب اخير و هو اضافة خاصية reverse او معاكسة الصفقات
    ايضا مجرد استفسار هل يمكن تحديد للكد بحيث يتم فتح الصفقات من استيب الذي نحن نحدده و شكرا
    اخي اسامه انا قمت بتغيير OP_SELL الى OP_BUY و Bid الى Ask و بلعكس و بعد التغيير جربت الكد و لكن ظهرت مشكله في اغلاق الصفقات بحيث الاكسبيرت قام بفتح صفقه و لم يغلقها و بقيت الصفقه بدون هدف و استوب
    ياريت استاذ اسامه تساعدني في استبدال الشروط و عمل عكس الصفقات له
    لاني ماني عارف ما هو السبب في حصول الخطاء فيه
    و شكرا

  10. #10
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    12,977

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة amazing مشاهدة المشاركة
    اخي اسامه انا قمت بتغيير OP_SELL الى OP_BUY و Bid الى Ask و بلعكس و بعد التغيير جربت الكد و لكن ظهرت مشكله في اغلاق الصفقات بحيث الاكسبيرت قام بفتح صفقه و لم يغلقها و بقيت الصفقه بدون هدف و استوب
    ياريت استاذ اسامه تساعدني في استبدال الشروط و عمل عكس الصفقات له
    لاني ماني عارف ما هو السبب في حصول الخطاء فيه
    و شكرا
    تفضل قمت بعكس صفقاته
    أنا لم أقم بتجربة الإكسبرت في جميع التعديلات التي قمت بعملها لأنك لم ترفق ملف الدل الخاص بالإكسبرت
    بإسم Prfx فلا أعلم هل التعديل صحيح أم لا وهل يمكن عمل ستيب له أم لا
    بالنسبه للإكسبرت فهون لا يغلق الصفقات تلقائيا حسب الكود
    الملفات المرفقة الملفات المرفقة
    • نوع الملف: mq4 pp 3.mq4‏ (28.5 كيلوبايت, المشاهدات 37)
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات