النتائج 1 إلى 6 من 6
  1. #1
    الصورة الرمزية uae forex
    uae forex غير متواجد حالياً موقوف
    تاريخ التسجيل
    Apr 2009
    الإقامة
    ALAIN
    المشاركات
    1,101

    افتراضي مطلوب كود للمضاعفات

    السلام عليكم ورحمة الله
    فى اغلب الاكسبرتات المضاعفات تكون ترتيبيه مثل 123 او 124 او 1123
    لاكن مطلوبي هو كود يحددد المضاعفه عن طريق حساب اخر عقد والمسافه عن السعر الحالى
    مثل لو ربطنا الاكسبرت بمؤشر مثلا
    ودخلنا العقد الاول ولاكن عكس المؤشر واشترطنا على ان لا يضاعف فى حال عكس المؤشر ومشى السوق ضده 50نقطه والستيب كان 10 نقاط فى هذه الحاله راح تكون المضاعفه التاليه هي المضاعفه الرابعه وليس الثانيه لانه فاته 40 نقطه

    وشكر مقدمنا

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

    افتراضي رد:مطلوب كود للمضاعفات

    اقتباس المشاركة الأصلية كتبت بواسطة uae forex مشاهدة المشاركة
    السلام عليكم ورحمة الله
    فى اغلب الاكسبرتات المضاعفات تكون ترتيبيه مثل 123 او 124 او 1123
    لاكن مطلوبي هو كود يحددد المضاعفه عن طريق حساب اخر عقد والمسافه عن السعر الحالى
    مثل لو ربطنا الاكسبرت بمؤشر مثلا
    ودخلنا العقد الاول ولاكن عكس المؤشر واشترطنا على ان لا يضاعف فى حال عكس المؤشر ومشى السوق ضده 50نقطه والستيب كان 10 نقاط فى هذه الحاله راح تكون المضاعفه التاليه هي المضاعفه الرابعه وليس الثانيه لانه فاته 40 نقطه

    وشكر مقدمنا
    وعليكم السلام ورحمة الله وبركاته
    سوف تقوم بعمل دالة لمعرفة سعر دخول أول صفقه ثم تقارن بين السعر الحالي وسعر فتح أول صفقه
    ولنفرض المسافه كانت مثلا 50 نقطه
    ثم تقسم هذه المسافه (50 نقطه ) / عدد نقاط الإستيب
    مثلا لو كان الإستيب 10 نقاط فالناتج يكون
    50 / 10 = 5 وهي رقم المضاعفه

    وتقوم بعمل داله لحفظ المضاعفات بالترتيب

    مثال للكود
    كود PHP:
    int BuyStep=(FirstOrderPrice(OP_BUY)-Bid)/Point;
    double newLot=NextLot(BuyStep);
         
    double FirstOrderPrice(int type)
      {
      for(
    int i=0;i<OrdersTotal0;i++){
       
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
       if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type){
        return(
    OrderOpenPrice());
        }
       }
      return(
    0);
     }
      
     
    double NextLot(int Num){
      switch(
    Num){
       case 
    1:return(Lots2);
       case 
    2:return(Lots3);
       case 
    3:return(Lots4);
       case 
    4:return(Lots5);
       case 
    5:return(Lots6);
       case 
    6:return(Lots7);
       case 
    7:return(Lots8);
       case 
    8:return(Lots9);
       case 
    9:return(Lots10);
       case 
    10:return(Lots11);
       default:return(
    Lots12);
       }
      } 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  3. #3
    الصورة الرمزية uae forex
    uae forex غير متواجد حالياً موقوف
    تاريخ التسجيل
    Apr 2009
    الإقامة
    ALAIN
    المشاركات
    1,101

    افتراضي رد:مطلوب كود للمضاعفات

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    سوف تقوم بعمل دالة لمعرفة سعر دخول أول صفقه ثم تقارن بين السعر الحالي وسعر فتح أول صفقه
    ولنفرض المسافه كانت مثلا 50 نقطه
    ثم تقسم هذه المسافه (50 نقطه ) / عدد نقاط الإستيب
    مثلا لو كان الإستيب 10 نقاط فالناتج يكون
    50 / 10 = 5 وهي رقم المضاعفه

    وتقوم بعمل داله لحفظ المضاعفات بالترتيب

    مثال للكود
    كود PHP:
    int BuyStep=(FirstOrderPrice(OP_BUY)-Bid)/Point;
    double newLot=NextLot(BuyStep);
         
    double FirstOrderPrice(int type)
      {
      for(
    int i=0;i<OrdersTotal0;i++){
       
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
       if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type){
        return(
    OrderOpenPrice());
        }
       }
      return(
    0);
     }
      
     
    double NextLot(int Num){
      switch(
    Num){
       case 
    1:return(Lots2);
       case 
    2:return(Lots3);
       case 
    3:return(Lots4);
       case 
    4:return(Lots5);
       case 
    5:return(Lots6);
       case 
    6:return(Lots7);
       case 
    7:return(Lots8);
       case 
    8:return(Lots9);
       case 
    9:return(Lots10);
       case 
    10:return(Lots11);
       default:return(
    Lots12);
       }
      } 
    شكرا مستر دولار ما عرفت اضبطه اذا عندك اكسبرت يعمل على نفس الطريقه ما عليك امر ترفقه او تضيفه على هذا الاكسبرت
    الملفات المرفقة الملفات المرفقة
    • نوع الملف: mq4 13.mq4‏ (7.2 كيلوبايت, المشاهدات 18)

  4. #4
    الصورة الرمزية uae forex
    uae forex غير متواجد حالياً موقوف
    تاريخ التسجيل
    Apr 2009
    الإقامة
    ALAIN
    المشاركات
    1,101

    افتراضي

    مستر دولار اريد تعاقب خجم العقود على النسبه المئويه اذا امكن ما اريد نظام الادخال اليدوي مثل Lots2 وLots3

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

    افتراضي رد:مطلوب كود للمضاعفات

    اقتباس المشاركة الأصلية كتبت بواسطة uae forex مشاهدة المشاركة
    مستر دولار اريد تعاقب خجم العقود على النسبه المئويه اذا امكن ما اريد نظام الادخال اليدوي مثل Lots2 وLots3

    قمت بتعديل الإكسبرت لك
    بالنسبه لشرح الكود
    أولا قمت بعمل دالتين واحده لمعرفة سعر دخول آخر صفقه وداله لمعرفة حجم لوت آخر صفقه
    كود PHP:
    double LastOrderPrice(int type)
      {
      for(
    int i=OrdersTotal()-1;i>=0;i--){
       
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
       if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type){
        return(
    OrderOpenPrice());
        }
       }
      return(
    0);
     }
     
    double LastOrderLot(int type)
      {
      for(
    int i=OrdersTotal()-1;i>=0;i--){
       
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
       if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type){
        return(
    OrderLots());
        }
       }
      return(
    0);
     } 
    ثم قمت بتعريف متغير لمعرفة الفرق بين السعر الحالي وسعر آخر صفقه وكم كان المفروض عدد المضاعفات التي تتم
    كود PHP:
     int BuyStep=((LastOrderPrice(OP_BUY)-Bid)/point)/Step
    ثم حجم اللوت الجديد سيكون عملية حسابيه لحساب عدد المضاعفات
    كود PHP:
     newLot=LastOrderLot(OP_BUY);
           for(
    int i=1;i<=BuyStep;i++)
            
    newLot*=Multiplier
    فمثلا لو كان الإستيب 10 نقاط وتحرك السعر 50 نقطه
    فالمفروض أن العمليه ستكون 50 على 10 = 5 عمليات مضاعفه
    فسوف يستخدم الحلقه لعمل 5 عمليات ضرب

    هذه أحد الأكواد التي أقوم بعملها لأول مره لدي ملاحظه
    في هذه الطريقه إذا تحرك السعر عدد نقاط كثيره فسوف تكون المضاعفه التاليه بحجم لوت كبير رغم أن الخساره قليله ولا تتطلب إلا حجم لوت صغير لتعويض الخساره السابقه ( لأنه لم يفتح مضاعفات أخرى في هذه الإستيب وإنما الخساره هي خسارة اللوت الأول )
    فمن الممكن بدلا من الدخول في هذه المضاعفه أن تحسب حجم اللوت التالي =
    حجم لوت آخر صفقه * عامل المضاعفه * عدد المضاعفات المفروض فتحها
    الملفات المرفقة الملفات المرفقة
    • نوع الملف: mq4 13.mq4‏ (7.2 كيلوبايت, المشاهدات 24)
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  6. #6
    الصورة الرمزية uae forex
    uae forex غير متواجد حالياً موقوف
    تاريخ التسجيل
    Apr 2009
    الإقامة
    ALAIN
    المشاركات
    1,101

    افتراضي

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


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