صفحة 234 من 688 الأولىالأولى ... 134184224228229230231232233234235236237238239240244284334 ... الأخيرةالأخيرة
النتائج 3,496 إلى 3,510 من 10307
  1. #3496
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,859

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة mostafa400 مشاهدة المشاركة


    هذا كان السؤال الاساسى وقد أجبتنى بهذه الدالة ولكنها لم تعمل

    كود:
    int Real_Symb()
    كود:
     { int N=0;  string S[1];
     for( int cnt=0; cnt<=OrdersTotal(); cnt++)
      {
       OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
      if(OrderType()==OP_BUY || OrderType()==OP_SELL)
       {
        bool SymbCount=false;
        for (int i=0; i<ArraySize(S); i++)
         {
          if( S[i]==OrderSymbol() )
           {
           SymbCount=true;
           break;
          }
         }
        if(SymbCount==false)
         {
          S[N]=OrderSymbol();
          ArrayResize(S,ArraySize(S)+1);
          N++;
      }}
     }   return(N);
    }
    ما هو الأمر الذى يرتب أسماء العملات أبجديا لأنى جربت أمر ArraySort ولم يرتبها فهو يرتب الأرقام فقط تصاعديا أو تنازليا لكن النصوص لا يرتبها ؟
    تفضل هذه الدالة ستحسب بشكل صحيح قمت بتجربتها
    كود PHP:
    int Real_Symb()
     { 
     static 
    int N;
     
    string S[1];

     for( 
    int cnt=0cnt<OrdersTotal(); cnt++)
      {
       
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
       
    string symbol=OrderSymbol();
      if(
    OrderType()==OP_BUY || OrderType()==OP_SELL)
       {
        
    bool SymbCount=false;
        for (
    int i=0i<ArraySize(S); i++)
         {
          if( 
    S[i]==symbol )
           {
           
    SymbCount=true;
           break;
          }
         }
        if(
    SymbCount==false)
         {
          
    S[N]=OrderSymbol();
          
    ArrayResize(S,ArraySize(S)+1);
          
    N++;     
         
         }
       }
     }   

     return(
    N);

    لا يوجد دالة ترتب أسماء العملات أبجديا لكن يمكنك تحويل إسم العمله إلى كود الحرفي الخاص بها بإستخدام الداله
    كود PHP:
    StringGetChar 
    فمثلا
    كود PHP:
     int SymbolsCharCode;
      
      for(
    int j=0;j<StringLen(Symbol());j++)
       {
        
    SymbolsCharCode+=StringGetChar(Symbol(),j);
       } 
    ثم ستقارن بين أسماء العملات كارقام
    طبعا ستقوم بتعريف المتغير SymbolsCharCode كمصفوفه تضع بها جميع اسماء العملات
    وستستخدم الحلقه for للبحث عن الصفقات المفتوحه والمقارنه بينها

    الأمر معقد قليلا لكن قم بعمل محاوله
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  2. #3497
    الصورة الرمزية fxsmartsniper
    fxsmartsniper غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Dec 2011
    الإقامة
    مصر
    المشاركات
    556

    Smile رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    أنت أضفت شروط الإغلاق
    كود PHP:
    if(CloseBuy=true;
    if(
    CloseSell=true
    هذا خطأ
    الكود الذي كتبته لك كان كمثال فقط
    لكن عندما ستكتب الكود الكامل سيكون
    كود PHP:
           bool CloseBuy=true,CloseSell=true;
         
    for(
    int i=1;i<=CheckBarsNumber;i++)
    {
    if(
    Close[i]>Open[i])CloseBuy=false;
    if(
    Close[i]<Open[i])CloseSell=false;
     }  
     if(
    CloseBuy==true)
     
    CloseBuyOrders;
    if(
    CloseSell==true)
    CloseSellOrders

    تم التعديل ولكن يظهر هذا الخطا
    'CloseBuyOrders' - variable not defined
    'CloseSellOrders' - variable not defined
    كيف اقوم بتعريف هذين المتغيران
    مع اني واضع هذا التعريفات
    extern bool CloseBuy=true;
    extern bool CloseSell=true;
    extern int CheckBarsNumber =1;
    شكري وامتناني
    الملفات المرفقة الملفات المرفقة
    توقيع العضو
    استغفر الله العظيم عدد ما كان وعددما سيكون وعدد الحركات والسكون

  3. #3498
    الصورة الرمزية mostafa400
    mostafa400 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2008
    الإقامة
    مصر
    المشاركات
    360

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    تفضل هذه الدالة ستحسب بشكل صحيح قمت بتجربتها
    كود PHP:
    int Real_Symb()

    static 
    int N;
    string S[1];

    for( 
    int cnt=0cnt<OrdersTotal(); cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    string symbol=OrderSymbol();
    if(
    OrderType()==OP_BUY || OrderType()==OP_SELL)
    {
    bool SymbCount=false;
    for (
    int i=0i<ArraySize(S); i++)
    {
    if( 
    S[i]==symbol )
    {
    SymbCount=true;
    break;
    }
    }
    if(
    SymbCount==false)
    {
    S[N]=OrderSymbol();
    ArrayResize(S,ArraySize(S)+1);
    N++; 

    }
    }


    return(
    N);

    لا يوجد دالة ترتب أسماء العملات أبجديا لكن يمكنك تحويل إسم العمله إلى كود الحرفي الخاص بها بإستخدام الداله
    كود PHP:
    StringGetChar 
    فمثلا
    كود PHP:
     int SymbolsCharCode;

    for(
    int j=0;j<StringLen(Symbol());j++)
    {
    SymbolsCharCode+=StringGetChar(Symbol(),j);

    ثم ستقارن بين أسماء العملات كارقام
    طبعا ستقوم بتعريف المتغير SymbolsCharCode كمصفوفه تضع بها جميع اسماء العملات
    وستستخدم الحلقه for للبحث عن الصفقات المفتوحه والمقارنه بينها

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

  4. #3499
    الصورة الرمزية 3mr 3bdeen
    3mr 3bdeen غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2009
    الإقامة
    مصر
    المشاركات
    255

    افتراضي الاخ/ MR.DOLLAR .. سؤال بسيط ان تكرمتم .. ؟

    السلام عليكم روحمة الله وبركاتة ..

    انا استخدم برنامج forex generator v4.5 .. واريد ان اضع شرط ما .. وهو ..







    " حدد اعلي هاي بين آخر 16 شمعة من الحالية " او "حدد ادنى لوو بين آخر 16 شمعة من الحالية" .. بس كدة


    ان تكرمتم جزاكم الله خيرا .. اريد هذا الشرط في ملف .ea4 حتى يتثني الية معرفة الكيفية واضافته في forex generator ضمن البوك الحالي للاكسبيرت الخاص ..

    انا اعرف اني استطيع ان استخدم الكود التالي

    كود PHP:
    High[iHighest (NULL,0,MODE_HIGH,candles,4)] 
    او
    كود PHP:
    Low[iLowest  (NULL,0,MODE_LOW,candles,4)] 
    ولكن ما اريدة هو كيفية ادخال هذا الكود كابلوك في برنامج forex generator .. ؟

    جزاكم الله خيرا واعانكم لما فية الخير والصلاح ..

  5. #3500
    الصورة الرمزية mostafa400
    mostafa400 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2008
    الإقامة
    مصر
    المشاركات
    360

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    تفضل هذه الدالة ستحسب بشكل صحيح قمت بتجربتها
    كود PHP:
    int Real_Symb()

    static 
    int N;
    string S[1];

    for( 
    int cnt=0cnt<OrdersTotal(); cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    string symbol=OrderSymbol();
    if(
    OrderType()==OP_BUY || OrderType()==OP_SELL)
    {
    bool SymbCount=false;
    for (
    int i=0i<ArraySize(S); i++)
    {
    if( 
    S[i]==symbol )
    {
    SymbCount=true;
    break;
    }
    }
    if(
    SymbCount==false)
    {
    S[N]=OrderSymbol();
    ArrayResize(S,ArraySize(S)+1);
    N++; 

    }
    }


    return(
    N);

    لا يوجد دالة ترتب أسماء العملات أبجديا لكن يمكنك تحويل إسم العمله إلى كود الحرفي الخاص بها بإستخدام الداله
    كود PHP:
    StringGetChar 
    فمثلا
    كود PHP:
     int SymbolsCharCode;

    for(
    int j=0;j<StringLen(Symbol());j++)
    {
    SymbolsCharCode+=StringGetChar(Symbol(),j);

    ثم ستقارن بين أسماء العملات كارقام
    طبعا ستقوم بتعريف المتغير SymbolsCharCode كمصفوفه تضع بها جميع اسماء العملات
    وستستخدم الحلقه for للبحث عن الصفقات المفتوحه والمقارنه بينها

    الأمر معقد قليلا لكن قم بعمل محاوله
    للأسف الدالة تعمل بشكل جيد عند فتح الصفقات لكن إذا تم إغلاق صفقة لا يتم حذفها من العدد - static int N; هى السبب

  6. #3501
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,859

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة fxsmartsniper مشاهدة المشاركة



    تم التعديل ولكن يظهر هذا الخطا
    'CloseBuyOrders' - variable not defined
    'CloseSellOrders' - variable not defined
    كيف اقوم بتعريف هذين المتغيران
    مع اني واضع هذا التعريفات
    extern bool CloseBuy=true;
    extern bool CloseSell=true;
    extern int CheckBarsNumber =1;
    شكري وامتناني
    قمت بتعديله لك
    لن تحتاج إلى تعريف متغيرات خارجيه بإسم CloseBuy , CloseSell
    الملفات المرفقة الملفات المرفقة
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  7. #3502
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,859

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة 3mr 3bdeen مشاهدة المشاركة
    السلام عليكم روحمة الله وبركاتة ..

    انا استخدم برنامج forex generator v4.5 .. واريد ان اضع شرط ما .. وهو ..







    " حدد اعلي هاي بين آخر 16 شمعة من الحالية " او "حدد ادنى لوو بين آخر 16 شمعة من الحالية" .. بس كدة


    ان تكرمتم جزاكم الله خيرا .. اريد هذا الشرط في ملف .ea4 حتى يتثني الية معرفة الكيفية واضافته في forex generator ضمن البوك الحالي للاكسبيرت الخاص ..

    انا اعرف اني استطيع ان استخدم الكود التالي

    كود PHP:
    High[iHighest (NULL,0,MODE_HIGH,candles,4)] 
    او
    كود PHP:
    Low[iLowest  (NULL,0,MODE_LOW,candles,4)] 
    ولكن ما اريدة هو كيفية ادخال هذا الكود كابلوك في برنامج forex generator .. ؟

    جزاكم الله خيرا واعانكم لما فية الخير والصلاح ..
    وعليكم السلام ورحمة الله وبركاته
    لم اقم بتجربة برنامج Forex Generator حقيقة فلن أستطيع أن أجيبك إن شاء الله أحد الإخوه من قام بإستخدامه يجيبك
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  8. #3503
    الصورة الرمزية Jmeel
    Jmeel غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Sep 2008
    الإقامة
    في أرض الله
    المشاركات
    7,610

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة 3mr 3bdeen مشاهدة المشاركة
    السلام عليكم روحمة الله وبركاتة ..

    انا استخدم برنامج forex generator v4.5 .. واريد ان اضع شرط ما .. وهو ..







    " حدد اعلي هاي بين آخر 16 شمعة من الحالية " او "حدد ادنى لوو بين آخر 16 شمعة من الحالية" .. بس كدة


    ان تكرمتم جزاكم الله خيرا .. اريد هذا الشرط في ملف .ea4 حتى يتثني الية معرفة الكيفية واضافته في forex generator ضمن البوك الحالي للاكسبيرت الخاص ..

    انا اعرف اني استطيع ان استخدم الكود التالي

    كود PHP:
    High[iHighest (NULL,0,MODE_HIGH,candles,4)] 
    او
    كود PHP:
    Low[iLowest  (NULL,0,MODE_LOW,candles,4)] 
    ولكن ما اريدة هو كيفية ادخال هذا الكود كابلوك في برنامج forex generator .. ؟

    جزاكم الله خيرا واعانكم لما فية الخير والصلاح ..
    وعليكم السلام ورحمة الله

    ستجد عنوان Custom Code تحت عنوان Custom تستطيع أن تكتب فيه الكود الذي تريد ، اذا بحثت في ملف المساعدة بنفس البرنامج ستجد شرح أوفى لهذه النقطة .
    توقيع العضو
    اعتذر لمن لن أتمكن من تنفيذ طلبه بسبب عدم قناعتي بالفكرة

  9. #3504
    الصورة الرمزية fxsmartsniper
    fxsmartsniper غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Dec 2011
    الإقامة
    مصر
    المشاركات
    556

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    قمت بتعديله لك
    لن تحتاج إلى تعريف متغيرات خارجيه بإسم CloseBuy , CloseSell
    بالفعل شكرا لك يا هندسة
    جاري التجربة
    ولكن الاكسبرت في بعض الاحيان وليس جميعها (بصوة عشوائية) يقوم بفتح صفقات متعددة تقريبا من نفس السعر او بفرق 1 او 2 بيب
    اريد مستر دولار شرط عام بحيث مثلا يسمي
    max trade =1
    بحيث ان لا يفتح الا صفقة واحدة علي الشارت الواحد لاي زوج وذلك لمنع التكرار لهذا الاكسبرت او اي اكسبرت اخر
    ولا يفتح صفقة اخري الي بتحقق الشروط من جديد بعد اغلاق الصفقة السابقة
    فما هذا الكود العام
    شكرا وبارك الله علي مساعدتك الدائمة
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة Mr dollar.jpg‏  
    الملفات المرفقة الملفات المرفقة
    توقيع العضو
    استغفر الله العظيم عدد ما كان وعددما سيكون وعدد الحركات والسكون

  10. #3505
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,859

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة mostafa400 مشاهدة المشاركة


    للأسف الدالة تعمل بشكل جيد عند فتح الصفقات لكن إذا تم إغلاق صفقة لا يتم حذفها من العدد - static int N; هى السبب
    نعم ملاحظتك صحيحه
    جرب هذا الكود
    كود PHP:
    int Real_Symb()

     
    int TotalSymbols=0;
     
    string S[]; 
     
    ArrayResize(S,1);
     
    S[0]="";
    for( 
    int cnt=0cnt<OrdersTotal(); cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    string symbol=OrderSymbol();
    if(
    OrderType()==OP_BUY || OrderType()==OP_SELL)
    {
    bool SymbCount=false;
    for (
    int i=0i<ArraySize(S); i++)
    {
    if( 
    S[i]==symbol )
    {
    SymbCount=true;
    break;
    }
    }

    if(
    SymbCount==false)
       {
         
    Alert(TotalSymbols,"==",ArraySize(S));
        
    S[TotalSymbols]=symbol;
        
    ArrayResize(S,ArraySize(S)+1);
        
    TotalSymbols++; 

       }
     }


    return(
    TotalSymbols);

    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  11. #3506
    الصورة الرمزية mostafa400
    mostafa400 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2008
    الإقامة
    مصر
    المشاركات
    360

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    نعم ملاحظتك صحيحه
    جرب هذا الكود
    كود PHP:
    int Real_Symb()

    int TotalSymbols=0;
    string S[]; 
    ArrayResize(S,1);
    S[0]="";
    for( 
    int cnt=0cnt<OrdersTotal(); cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
    string symbol=OrderSymbol();
    if(
    OrderType()==OP_BUY || OrderType()==OP_SELL)
    {
    bool SymbCount=false;
    for (
    int i=0i<ArraySize(S); i++)
    {
    if( 
    S[i]==symbol )
    {
    SymbCount=true;
    break;
    }
    }

    if(
    SymbCount==false)
    {
    Alert(TotalSymbols,"==",ArraySize(S));
    S[TotalSymbols]=symbol;
    ArrayResize(S,ArraySize(S)+1);
    TotalSymbols++; 

    }
    }


    return(
    TotalSymbols);

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

  12. #3507
    الصورة الرمزية kira-h
    kira-h غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Oct 2011
    الإقامة
    المغرب
    المشاركات
    1,334

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    السلام عليكم ورحمة الله وبركاته
    تحية طيبة أستاذي القدير مستر دولار
    واجهتني مشكلة ببعض المنصات حيث الأمر OrderModify لا يتفعل في بعض الأحيان مما يسبب خسائر فادحة بعدم تفعيل SL و TP
    وبالتالي فكرت في إغلاق أوتوماتيكي من قبل الاكسبيرت كعمل إحتياطي

    وبذلك قمت بإضافة الكود التالي :

    كود PHP:
    void CloseBuyOrdersHiddenTP()
    {
      
    int total=OrdersTotal();

      for (
    int cnt=total;cnt>=0;cnt--)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if(
    OrderSymbol()==Symbol())
        {
          if(
    OrderType()==OP_BUY&&Bid>(OrderOpenPrice()+Takeprofit*PipValue*Point))
          {
            
    OrderClose(OrderTicket(),OrderLots(),Bid,3);
          }
        }
      }
      return(
    0);
    }
    void CloseBuyOrdersHiddenSL()
    {
      
    int total=OrdersTotal();

      for (
    int cnt=total;cnt>=0;cnt--)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if(
    OrderSymbol()==Symbol())
        {
          if(
    OrderType()==OP_BUY&&Bid<(OrderOpenPrice()-Stoploss*PipValue*Point))
          {
            
    OrderClose(OrderTicket(),OrderLots(),Bid,3);
          }
        }
      }
      return(
    0);
    }

    void CloseSellOrdersHiddenTP()
    {
      
    int total=OrdersTotal();

      for(
    int cnt=total;cnt>=0;cnt--)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if(
    OrderSymbol()==Symbol())
        {
          if(
    OrderType()==OP_SELL&&Ask<(OrderOpenPrice()-Takeprofit*PipValue*Point))
          {
            
    OrderClose(OrderTicket(),OrderLots(),Ask,3);
          }
        }
      }
      return(
    0);
    }

    void CloseSellOrdersHiddenSL()
    {
      
    int total=OrdersTotal();

      for(
    int cnt=total;cnt>=0;cnt--)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if(
    OrderSymbol()==Symbol())
        {
          if(
    OrderType()==OP_SELL&&Ask>(OrderOpenPrice()+Stoploss*PipValue*Point))
          {
            
    OrderClose(OrderTicket(),OrderLots(),Ask,3);
          }
        }
      }
      return(
    0);

    وتعريفها داخل الدالة OnEveryTick

    كود PHP:

    void OnEveryTick
    ()
    {
        
        
    CloseBuyOrdersHiddenTP();
        
    CloseSellOrdersHiddenTP();
        
    CloseBuyOrdersHiddenSL();
        
    CloseSellOrdersHiddenSL();

    بعد عمل الكمبايل لا يوجد أخطاء بالاكسبيرت

    سؤالي هل يوجد خطأ في الأكواد ؟ وهل فعلا سيعمل الاكسبيرت بالاغلاق الأوتوماتيكي حسب الهدف والستوب المحددين بالرغم من عدم حصول أمر موديفاي الصفقة ؟؟؟
    علما أن الأوامر المستخدمة بالاكسبيرت هي أوامر معلقة باي ستوب وسيل ستوب
    بانتظار ردك أستاذي وجزاك الله عنا كل خير
    آخر تعديل بواسطة kira-h ، 21-03-2013 الساعة 09:51 PM
    توقيع العضو
    متداول فوركس، ومبرمج mql

  13. #3508
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,859

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة kira-h مشاهدة المشاركة
    السلام عليكم ورحمة الله وبركاته
    تحية طيبة أستاذي القدير مستر دولار
    واجهتني مشكلة ببعض المنصات حيث الأمر OrderModify لا يتفعل في بعض الأحيان مما يسبب خسائر فادحة بعدم تفعيل SL و TP
    وبالتالي فكرت في إغلاق أوتوماتيكي من قبل الاكسبيرت كعمل إحتياطي

    وبذلك قمت بإضافة الكود التالي :

    كود PHP:
    void CloseBuyOrdersHiddenTP()
    {
      
    int total=OrdersTotal();

      for (
    int cnt=total;cnt>=0;cnt--)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if(
    OrderSymbol()==Symbol())
        {
          if(
    OrderType()==OP_BUY&&Bid>(OrderOpenPrice()+Takeprofit*PipValue*Point))
          {
            
    OrderClose(OrderTicket(),OrderLots(),Bid,3);
          }
        }
      }
      return(
    0);
    }
    void CloseBuyOrdersHiddenSL()
    {
      
    int total=OrdersTotal();

      for (
    int cnt=total;cnt>=0;cnt--)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if(
    OrderSymbol()==Symbol())
        {
          if(
    OrderType()==OP_BUY&&Bid<(OrderOpenPrice()-Stoploss*PipValue*Point))
          {
            
    OrderClose(OrderTicket(),OrderLots(),Bid,3);
          }
        }
      }
      return(
    0);
    }

    void CloseSellOrdersHiddenTP()
    {
      
    int total=OrdersTotal();

      for(
    int cnt=total;cnt>=0;cnt--)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if(
    OrderSymbol()==Symbol())
        {
          if(
    OrderType()==OP_SELL&&Ask<(OrderOpenPrice()-Takeprofit*PipValue*Point))
          {
            
    OrderClose(OrderTicket(),OrderLots(),Ask,3);
          }
        }
      }
      return(
    0);
    }

    void CloseSellOrdersHiddenSL()
    {
      
    int total=OrdersTotal();

      for(
    int cnt=total;cnt>=0;cnt--)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if(
    OrderSymbol()==Symbol())
        {
          if(
    OrderType()==OP_SELL&&Ask>(OrderOpenPrice()+Stoploss*PipValue*Point))
          {
            
    OrderClose(OrderTicket(),OrderLots(),Ask,3);
          }
        }
      }
      return(
    0);

    وتعريفها داخل الدالة OnEveryTick

    كود PHP:

    void OnEveryTick
    ()
    {
        
        
    CloseBuyOrdersHiddenTP();
        
    CloseSellOrdersHiddenTP();
        
    CloseBuyOrdersHiddenSL();
        
    CloseSellOrdersHiddenSL();

    بعد عمل الكمبايل لا يوجد أخطاء بالاكسبيرت

    سؤالي هل يوجد خطأ في الأكواد ؟ وهل فعلا سيعمل الاكسبيرت بالاغلاق الأوتوماتيكي حسب الهدف والستوب المحددين بالرغم من عدم حصول أمر موديفاي الصفقة ؟؟؟
    علما أن الأوامر المستخدمة بالاكسبيرت هي أوامر معلقة باي ستوب وسيل ستوب
    بانتظار ردك أستاذي وجزاك الله عنا كل خير
    نعم الأوامر صحيحه
    لكن فقط أضف شرط بسيط
    كود PHP:
    void OnEveryTick()
    {
        
       if(
    TakeProfit>0)
        {
          
    CloseBuyOrdersHiddenTP();
          
    CloseSellOrdersHiddenTP();
        }
       if(
    StopLoss>0)
        {
        
    CloseBuyOrdersHiddenSL();
        
    CloseSellOrdersHiddenSL();
       }

    بحيث لا تعمل الداله إلا في حالة وضعت هدف أو ستوب لوز
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  14. #3509
    الصورة الرمزية kira-h
    kira-h غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Oct 2011
    الإقامة
    المغرب
    المشاركات
    1,334

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    نعم الأوامر صحيحه
    لكن فقط أضف شرط بسيط
    كود PHP:
    void OnEveryTick()
    {
        
       if(
    TakeProfit>0)
        {
          
    CloseBuyOrdersHiddenTP();
          
    CloseSellOrdersHiddenTP();
        }
       if(
    StopLoss>0)
        {
        
    CloseBuyOrdersHiddenSL();
        
    CloseSellOrdersHiddenSL();
       }

    بحيث لا تعمل الداله إلا في حالة وضعت هدف أو ستوب لوز
    رائع أستاذي الحبيب
    جاري التجربة
    توقيع العضو
    متداول فوركس، ومبرمج mql

  15. #3510
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,859

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة kira-h مشاهدة المشاركة
    رائع أستاذي الحبيب
    جاري التجربة
    وفقك الله
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

المواضيع المتشابهه

  1. موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
    By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 11
    آخر مشاركة: 15-12-2023, 02:03 PM
  2. عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
    By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملات
    مشاركات: 280
    آخر مشاركة: 27-08-2009, 10:30 PM

الاوسمة لهذا الموضوع


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17