النتائج 1 إلى 4 من 4
  1. #1
    الصورة الرمزية wadi2012
    wadi2012 غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Aug 2012
    الإقامة
    جرين لاند
    المشاركات
    1,089

    افتراضي مشكلة برمجية أرجو المساعدة من المبرمجين

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

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

    يعني اذا فتح صفقتين يغلقهم في وقت واحد بدون اي مشكلة
    ولكن ان فتح 3 صفقات بلوت 0.1 0.2 0.4
    فهو يغلق 0.1 و 0.4 في وقت واحد ويترك 0.2 ليغلقها فيما بعد او يفتح صفقة اخرى ويغلقها معها
    وان فتح 4 صفقات فيغلق 3 صفقات مرة واحدة ويترك واحدة معلقة حتى يغلقها فيما بعد
    هه ملاحظاتي ا كله على الباك تيست وليس لايف

    ولكن انا لم افهم لماذا لا يغلق الصفقات في وقت وحد وبالاخص عندما يزيد عن صفقتين ويتجاوز احدهما طالما امر الاغلاق سليم عندما يغلق بنظام ال position ؟؟؟

    آسف انني وضعت الموضوع في ركن مستقل ولكن حتى يظهر للجميع لان المشكلة حيرتني وقد جربت الاغلاق على اسكريبت ويعمل بدون مشاكل لكن عنمدا اخذ هذه الاومار في الا EA اواجه مشكلة عدم اكمال التتابع في عملية الاغلاق

  2. #2
    الصورة الرمزية wadi2012
    wadi2012 غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Aug 2012
    الإقامة
    جرين لاند
    المشاركات
    1,089

    افتراضي رد:مشكلة برمجية أرجو المساعدة من المبرمجين

    عفوا نسيت ارفاق الاكسبيرت للمتابعة
    الملفات المرفقة الملفات المرفقة

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

    افتراضي رد:مشكلة برمجية أرجو المساعدة من المبرمجين

    سأخبرك لماذا

    هذا هو الكود الخاص بإغلاق الصفقات الذي قمت بكتابته
    كود PHP:
      for (i=i<OrdersTotal(); i++)
      
       {
              
            
    OrderSelect(i,SELECT_BY_POS,0) ;
        
               
      
    int type   OrderType();
      
      switch(
    type)
     {
      
    // Buy order
      
    case :
       
    OrderClose (OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(), MODE_BID),3,CLR_NONE);
       break ;
       
      
    // Sell order
      
    case 1:
       
    OrderClose (OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(), MODE_ASK),3,CLR_NONE);
       }
       
     
       
    Lots=LotReset;
       
          
    //     EntryPrice=0;            // option for closing EA and work one time only
          //  ObjectDelete("HoriLine");   // option for closing EA and work one time only
          
       

    لو مثلا لدي 3 صفقات مفتوحه أو أكثر المفروض أرقام الصفقات ستكون 0 - 1 - 2
    سوف تبدأ الحلقه بالبحث عن الصفقه رقم 0 وتتحقق الشروط وتغلق الصفقه بالتالي عندما أغلقت الصفقه أصبح يوجد حاليا صفقتين فقط وأرقام سوف تترتب مره أخرى لتصبح 0 - 1
    لكن في الحلقه قيمة i زادت وأصبحت 1 والمفروض سوف يختار الصفقه رقم 1 ويترك الصفقه رقم 0
    بالتالي يغلق الصفقه رقم 1 التي المفروض أنها أساسا كان رقمها 2 وهكذا تحدث هذه المشكله مع أي عدد صفقات أكثر من 2

    الحل يمكنك تعديل الكود ليصبح
    كود PHP:
     for (int i=i<OrdersTotal(); i++) 
       {          
        
    OrderSelect(i,SELECT_BY_POS,0) ;
        
    int type   OrderType();  
        
    bool close;
        switch(
    type)
        {
         
    // Buy order
         
    case :
          
    close =OrderClose (OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(), MODE_BID),3,CLR_NONE);
         break ;   
         
    // Sell order
         
    case 1:
         
    close OrderClose (OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(), MODE_ASK),3,CLR_NONE);
        }   
        if(
    close)i--;   
          
    //     EntryPrice=0;            // option for closing EA and work one time only
          //  ObjectDelete("HoriLine");   // option for closing EA and work one time only      
        
    }
       
       } 
    وهذا يعني كل مره أقوم بإغلاق صفقة أنقص قيمة i فبالتالي سيغلق الصفقات بالترتيب
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  4. #4
    الصورة الرمزية wadi2012
    wadi2012 غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Aug 2012
    الإقامة
    جرين لاند
    المشاركات
    1,089

    افتراضي

    شكرا جزيلا على المعلومة القيمة وبالفعل حلت المشكلة الان
    فالفعل لم الحظ ذلك عندما يقفل كل مرة الاسكريبت صفقة تقل عدد الصفقات بالتناقص


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