صفحة 74 من 689 الأولىالأولى ... 24646869707172737475767778798084124174574 ... الأخيرةالأخيرة
النتائج 1,096 إلى 1,110 من 10335
  1. #1096
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,864

    افتراضي

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

    ايضا نفس الشيئ في السوكستكس كيف نحدد ان خط الستوك ستك فوق خط ال 80 وهابط ليس صاعد و العكس في حالة الشراء؟؟؟

    شكرا لجميع القائمين على هذا الموضوع القيم المفيد جداً
    طبعا بارك الله في الأخ مبدع فوركس فقد أجابك وبارك الله فيك
    لكن سوف أشرحها لك بإختصار بشكل عام
    كيف تستطيع أن تقارن هل الموفينج صاعد أو هبط عن طريق مثلا معرفة قيم آخر شمعات للموفينج فمثلا إذا كان قيمة الموفينج للشمعه 1 أكبر من قيمة الموفينج للشمعه 2 في هذه الحاله ستعلم أن الموفينج صاعد
    والعكس صحيح
    وأيضا نفس الفكره للإستوكاستيك إذا كانت قيمة الإستوكاستيك للشمعه 1 أقل من قيمته للشمعه 2 في هذه الحاله ستعلم أنه هابط

    الآن كيف تستدعي قيمة الموفينج للشمعه 1 أي الشمعه السابقه والشمعه 2 أي الشمعه السابقه لها
    كمثال
    كود PHP:
     ma1=iMA(NULL,0,14,0,MODE_EMA,PRICE_CLOSE,1);
             
    ma2=iMA(NULL,0,14,0,MODE_EMA,PRICE_CLOSE,2); 
    لاحظ الرقم 2 يعني قيمة الموفينج عند الشمعه رقم 2 والرقم 1 يعني قيمة الموفينج عند الشمعه رقم 1 سوف تجد شرح بالتفصيل لهذا الموضوع في الدروس التعليمية حاول مراجعتها

    الآن سوف تضع في المقارنه لشروط الدخول
    كود PHP:
      if(Ask>ma1&&ma1>ma2
    وهذا يعني إذا كان السعر أكبر من الموفينج وكان الموفينج للشمعه السابقه 1 أكبر من الموفينج للشمعه السابقه لها 2
    بالتالي هذا يعني أن الموفينج صاعد

    نفس الشيء بالنسبة للإستوكاستيك
    كود PHP:
    double stoch1=iStochastic(Symbol(),0,5,3,3,MODE_EMA,0,MODE_MAIN,1);
             
    double stoch2=iStochastic(Symbol(),0,5,3,3,MODE_EMA,0,MODE_MAIN,2); 
    ثم تضع في شروط الدخول
    كود PHP:
     if(sotch1>80&&stoch1<stoch2
    وهذا يعني إذا كان الإستوكاستيك للشمعه السابقه أكبر من 80 وكان الإستوكاستيك للشمعه السابقه 1 أقل من الإستوكاستيك للشمعه السابقه لها 2 فهذا يعني أنه في حالة هبوط
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  2. #1097
    الصورة الرمزية مبدع فوركس
    مبدع فوركس غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2011
    المشاركات
    166

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    هل تعلم مشكلتك بسيطة جدا ولكنها جعلت الإكسبرت والكود بشكل كامل خاطئ والسبب يقع فيه الكثير راجع كودك سوف تجد أنك نسيت الفاصله المنقوطه دليل على نهاية السطر ( ; )
    كود PHP:
      double mom=iMomentum(NULL,Momtf,MFIPeriod,PRICE_CLOSE,0); 
    فعلا استاذ اسامه طلع العيب من النقطه ده
    بس يااااه ده انا قعدت نص ساعه اغير فى الكود وفى الاخر تطلع نقطه هى السبب
    ده الواحد يخلى باله من اقل حاجه بعد كده
    على العموم متشكر جدا ليك استاذ اسامه وربنا يخليك لينا دايما
    آخر تعديل بواسطة مبدع فوركس ، 06-06-2011 الساعة 07:30 PM

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

    افتراضي

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

  4. #1099
    الصورة الرمزية al_naser
    al_naser غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2010
    المشاركات
    186

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    العفو أخي الكريم وبارك الله فيك



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

    http://img23.imageshack.us/img23/8858/2906.png


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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة al_naser مشاهدة المشاركة
    هل عندك نفس الخطاء الموجودعندي وذلك عند تحويل شارت اليورودولار المنزل من موقع forextesterالى الشارت الشهري عن طريق سكربت periode_converter وهو عدم ترتيب الشهور وفقدان بعضها.

    http://img23.imageshack.us/img23/8858/2906.png


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

  6. #1101
    الصورة الرمزية MohamedEgyForex
    MohamedEgyForex غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2009
    الإقامة
    مصر
    المشاركات
    1,839

    14


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

    و هذا مثال علي مؤشر يعطي اشارات بكسر الكيجن سن


    الملفات المرفقة الملفات المرفقة

  7. #1102
    الصورة الرمزية al_naser
    al_naser غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2010
    المشاركات
    186

    افتراضي

    استاذ مستر هذا الكود مع افتتاح شمعه اليوم

    كود:
     if (Time0!=iTime (Symbol(),1440,0) ) 
     
     { 
        Time0=iTime(Symbol(),1440,0);
    فكيف سيكون الكود مع اغلاق شمعه اليوم

  8. #1103
    الصورة الرمزية al_naser
    al_naser غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2010
    المشاركات
    186

    افتراضي

    استاذ مستر هذا الكود مع ارتفاع شمعه اليوم السابق
    كود:
    double DayHigh=iHigh(Symbol(),1440,1);

    فكيف سيكون الكود مع منتصف شمعه اليوم السابق يعني شراء او بيع على بعد محدد من منتصف شمعه اليوم السابق.
    آخر تعديل بواسطة al_naser ، 10-06-2011 الساعة 12:54 AM

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

    افتراضي

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

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

    و هذا مثال علي مؤشر يعطي اشارات بكسر الكيجن سن


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

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة al_naser مشاهدة المشاركة
    استاذ مستر هذا الكود مع افتتاح شمعه اليوم

    كود:
     if (Time0!=iTime (Symbol(),1440,0) ) 
     
     { 
        Time0=iTime(Symbol(),1440,0);
    فكيف سيكون الكود مع اغلاق شمعه اليوم
    كود إغلاق اليوم سيكون هو نفسه كود إفتتاح اليوم التالي
    فمثلا الداله
    كود PHP:
    iTime(Symbol(),1440,0); 
    تعود بقيمة توقيت إفتتاح الشمعه الحاليه وهي نفسها قيمة إغلاق الشمعه السابقه
    اقتباس المشاركة الأصلية كتبت بواسطة al_naser مشاهدة المشاركة
    استاذ مستر هذا الكود مع ارتفاع شمعه اليوم السابق
    كود:
    double DayHigh=iHigh(Symbol(),1440,1);
    فكيف سيكون الكود مع منتصف شمعه اليوم السابق يعني شراء او بيع على بعد محدد من منتصف شمعه اليوم السابق.
    إذا أردت المنتصف بين الإغلاق والإفتتاح بسيطة سوف تقوم بجمع الإفتتاح + الإغلاق وتقسمهم على 2
    كود PHP:
    Center=(iOpen(Symbol(),1440,1)+iClose(Symbol(),1440,1))/2
    وإذا أردت المنتصف بين الهاي واللو أيضا ستستخدم نفس الطريقه
    كود PHP:
    Center=(iHigh(Symbol(),1440,1)+iLow(Symbol(),1440,1))/2
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  11. #1106
    الصورة الرمزية al_naser
    al_naser غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2010
    المشاركات
    186

    افتراضي

    والله ماقصرت اخ اسامه نحب ان نستفيد مما اعطاك الله من علم........ضروري مانكمل او نخلص العلم الذي عندك....هههههه

    سوال بخصوص الاستوب المتحرك Trailingstop والبريك ايفن breakeven....هل يكون اضافتهم بهذا الشكل؟

    كود PHP:
    extern int Step1=100;

    extern int Takeprofit1=3000;

    extern int TrailingStop 30;

    extern int breakeven 30;

    extern double Lots=0.1;  


    int Magicnumber=238798744;

    datetime Time0;  
    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    int init()
      {
      return(
    0);
      }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit()
      {
       return(
    0);
      }
    //+------------------------------------------------------------------+
    //| expert start function                                           |
    //+------------------------------------------------------------------+
    int start()
    {
         if(    
    Hour() ==23 && Minute()>45  && MyOrdersTotal(Magicnumber)>)

    {
    CloseOrders(Magicnumber);
    DeletePendingOrders(Magicnumber);}


      if (
    Time0!=iTime (Symbol(),1440,0) && MyOrdersTotal(Magicnumber)>=
     
     { 
        
    Time0=iTime(Symbol(),1440,0);
      
        
    double fahd=iClose(Symbol(),1440,1);
        
        
    double fahd1=fahd-Step1*Point;
        
    double fahd2=fahd1+Takeprofit1*Point;
        
    double fahd3=Trailingstop*Point ;
    اونكتب هكذا في حاله البريك ايفن   
     
    double fahd3=breakeven*Point
        
    double fahd4
    =fahd+Step1*Point;
        
    double fahd5=fahd4-Takeprofit1*Point;
        
    double fahd6=Trailingstop*Point;
     
    اونكتب هكذا في حاله البريك ايفن   
     
    double fahd6=breakeven*Point
        
        
        OrderSend
    (Symbol(),OP_BUYLIMIT,Lots,fahd1,3,fahd3,fahd2,"",Magicnumber,0,Green);
        
    OrderSend(Symbol(),OP_SELLLIMIT,Lots,fahd4,3,fahd6,fahd5,"",Magicnumber,0,Red);
        
        
       

        }
      return(
    0);
    }
    int MyOrdersTotal(int Magic)
    {
      
    int c=0;
      
    int total  OrdersTotal();
      
      for (
    int cnt cnt total cnt++)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
        {
          
    c++;
        }
      }
      return(
    c);
    }

    int DeletePendingOrders(int Magic)
    {
      
    int total  OrdersTotal()-1;
     
      for (
    int cnt total cnt >= cnt--)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY && OrderType()!=OP_SELL))
        {
          
    OrderDelete(OrderTicket());
        }
      }
      return(
    0);
    }  
      
      

    int CloseOrders(int Magic)
    {
      
    int total  OrdersTotal()-1;
      
      for (
    int cnt total cnt >= cnt--)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
        {
          if (
    OrderType()==OP_BUY)
          {
            
    OrderClose(OrderTicket(),OrderLots(),Bid,3);
          }
          
          if (
    OrderType()==OP_SELL)
          {
            
    OrderClose(OrderTicket(),OrderLots(),Ask,3);
          }
        }
      }
      return(
    0);





    //+------------------------------------------------------------------+ 

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة al_naser مشاهدة المشاركة
    والله ماقصرت اخ اسامه نحب ان نستفيد مما اعطاك الله من علم........ضروري مانكمل او نخلص العلم الذي عندك....هههههه

    سوال بخصوص الاستوب المتحرك Trailingstop والبريك ايفن breakeven....هل يكون اضافتهم بهذا الشكل؟

    كود PHP:
    extern int Step1=100;

    extern int Takeprofit1=3000;

    extern int TrailingStop 30;

    extern int breakeven 30;

    extern double Lots=0.1;  


    int Magicnumber=238798744;

    datetime Time0;  
    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    int init()
      {
      return(
    0);
      }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit()
      {
       return(
    0);
      }
    //+------------------------------------------------------------------+
    //| expert start function                                           |
    //+------------------------------------------------------------------+
    int start()
    {
         if(    
    Hour() ==23 && Minute()>45  && MyOrdersTotal(Magicnumber)>)

    {
    CloseOrders(Magicnumber);
    DeletePendingOrders(Magicnumber);}


      if (
    Time0!=iTime (Symbol(),1440,0) && MyOrdersTotal(Magicnumber)>=
     
     { 
        
    Time0=iTime(Symbol(),1440,0);
      
        
    double fahd=iClose(Symbol(),1440,1);
        
        
    double fahd1=fahd-Step1*Point;
        
    double fahd2=fahd1+Takeprofit1*Point;
        
    double fahd3=Trailingstop*Point ;
    اونكتب هكذا في حاله البريك ايفن   
     
    double fahd3=breakeven*Point
        
    double fahd4
    =fahd+Step1*Point;
        
    double fahd5=fahd4-Takeprofit1*Point;
        
    double fahd6=Trailingstop*Point;
     
    اونكتب هكذا في حاله البريك ايفن   
     
    double fahd6=breakeven*Point
        
        
        OrderSend
    (Symbol(),OP_BUYLIMIT,Lots,fahd1,3,fahd3,fahd2,"",Magicnumber,0,Green);
        
    OrderSend(Symbol(),OP_SELLLIMIT,Lots,fahd4,3,fahd6,fahd5,"",Magicnumber,0,Red);
        
        
       

        }
      return(
    0);
    }
    int MyOrdersTotal(int Magic)
    {
      
    int c=0;
      
    int total  OrdersTotal();
      
      for (
    int cnt cnt total cnt++)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
        {
          
    c++;
        }
      }
      return(
    c);
    }

    int DeletePendingOrders(int Magic)
    {
      
    int total  OrdersTotal()-1;
     
      for (
    int cnt total cnt >= cnt--)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY && OrderType()!=OP_SELL))
        {
          
    OrderDelete(OrderTicket());
        }
      }
      return(
    0);
    }  
      
      

    int CloseOrders(int Magic)
    {
      
    int total  OrdersTotal()-1;
      
      for (
    int cnt total cnt >= cnt--)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
        {
          if (
    OrderType()==OP_BUY)
          {
            
    OrderClose(OrderTicket(),OrderLots(),Bid,3);
          }
          
          if (
    OrderType()==OP_SELL)
          {
            
    OrderClose(OrderTicket(),OrderLots(),Ask,3);
          }
        }
      }
      return(
    0);





    //+------------------------------------------------------------------+ 
    بالنسبة للتريلينج ستوب والبريك إيفن فيجب أن تقوم بعمل دالتين لتنفيذها فالأمر لا يستطيع التعرف على التريلينج ستوب والبريك إيفن بالشكل الذي كتبتها
    فأولا سوف تقوم بتعريف دالتين للتريلينج ستوب والبريك إيفن
    كود PHP:
    void TrailingStop()
    {
       
    int cnt,total=OrdersTotal();
       for(
    cnt=0;cnt<total;cnt++)
       {
          
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
          if(
    OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
          {
             if(
    OrderType()==OP_BUY)
             {
                if(
    TrailingStop>0&&NormalizeDouble(Ask-TrailingStep*point,digits)>NormalizeDouble(OrderOpenPrice()+TrailingStop*point,digits))  
                {                 
                   if((
    NormalizeDouble(OrderStopLoss(),digits)<NormalizeDouble(Bid-TrailingStop*point,digits))||(OrderStopLoss()==0))
                   {
                      
    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-TrailingStop*point,digits),OrderTakeProfit(),0,Blue);
                    
                   }
                }
             }
             else 
             {
                if(
    TrailingStop>0&&NormalizeDouble(Bid+TrailingStep*point,digits)<NormalizeDouble(OrderOpenPrice()-TrailingStop*point,digits))  
                {                 
                   if((
    NormalizeDouble(OrderStopLoss(),digits)>(NormalizeDouble(Ask+TrailingStop*point,digits)))||(OrderStopLoss()==0))
                   {
                      
    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+TrailingStop*point,digits),OrderTakeProfit(),0,Red);
                    
                   }
                }
             }
          }
       }
    }




    //|---------break even

    void BreakEven()
    {
       
    int cnt,total=OrdersTotal();
       for(
    cnt=0;cnt<total;cnt++)
       {
          
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
          if(
    OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
          {
             if(
    OrderType()==OP_BUY)
             {
                if(
    BreakEven>0)
                {
                   if(
    NormalizeDouble((Bid-OrderOpenPrice()),digits)>BreakEven*point)
                   {
                      if(
    NormalizeDouble((OrderStopLoss()-OrderOpenPrice()),digits)<0)
                      {
                         
    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()+movestopto*point,digits),OrderTakeProfit(),0,Blue);
                         return(
    0);
                      }
                   }
                }
             }
             else
             {
                if(
    BreakEven>0)
                {
                   if(
    NormalizeDouble((OrderOpenPrice()-Ask),digits)>BreakEven*point)
                   {
                      if(
    NormalizeDouble((OrderOpenPrice()-OrderStopLoss()),digits)<0)
                      {
                         
    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()-movestopto*point,digits),OrderTakeProfit(),0,Red);
                         return(
    0);
                      }
                   }
                }
             }
          }
       }

    ثم بداخل الداله start ستضع الشروط
    كود PHP:
       if(TrailingStop>0)TrailingStop();
      if(
    BreakEven>0)BreakEven(); 
    راجع هذا الإكسبرت كمثال
    الملفات المرفقة الملفات المرفقة
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  13. #1108
    الصورة الرمزية al_naser
    al_naser غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2010
    المشاركات
    186

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    بالنسبة للتريلينج ستوب والبريك إيفن فيجب أن تقوم بعمل دالتين لتنفيذها فالأمر لا يستطيع التعرف على التريلينج ستوب والبريك إيفن بالشكل الذي كتبتها
    فأولا سوف تقوم بتعريف دالتين للتريلينج ستوب والبريك إيفن
    كود PHP:
    void TrailingStop()
    {
       
    int cnt,total=OrdersTotal();
       for(
    cnt=0;cnt<total;cnt++)
       {
          
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
          if(
    OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
          {
             if(
    OrderType()==OP_BUY)
             {
                if(
    TrailingStop>0&&NormalizeDouble(Ask-TrailingStep*point,digits)>NormalizeDouble(OrderOpenPrice()+TrailingStop*point,digits))  
                {                 
                   if((
    NormalizeDouble(OrderStopLoss(),digits)<NormalizeDouble(Bid-TrailingStop*point,digits))||(OrderStopLoss()==0))
                   {
                      
    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-TrailingStop*point,digits),OrderTakeProfit(),0,Blue);
                    
                   }
                }
             }
             else 
             {
                if(
    TrailingStop>0&&NormalizeDouble(Bid+TrailingStep*point,digits)<NormalizeDouble(OrderOpenPrice()-TrailingStop*point,digits))  
                {                 
                   if((
    NormalizeDouble(OrderStopLoss(),digits)>(NormalizeDouble(Ask+TrailingStop*point,digits)))||(OrderStopLoss()==0))
                   {
                      
    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+TrailingStop*point,digits),OrderTakeProfit(),0,Red);
                    
                   }
                }
             }
          }
       }
    }




    //|---------break even

    void BreakEven()
    {
       
    int cnt,total=OrdersTotal();
       for(
    cnt=0;cnt<total;cnt++)
       {
          
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
          if(
    OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
          {
             if(
    OrderType()==OP_BUY)
             {
                if(
    BreakEven>0)
                {
                   if(
    NormalizeDouble((Bid-OrderOpenPrice()),digits)>BreakEven*point)
                   {
                      if(
    NormalizeDouble((OrderStopLoss()-OrderOpenPrice()),digits)<0)
                      {
                         
    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()+movestopto*point,digits),OrderTakeProfit(),0,Blue);
                         return(
    0);
                      }
                   }
                }
             }
             else
             {
                if(
    BreakEven>0)
                {
                   if(
    NormalizeDouble((OrderOpenPrice()-Ask),digits)>BreakEven*point)
                   {
                      if(
    NormalizeDouble((OrderOpenPrice()-OrderStopLoss()),digits)<0)
                      {
                         
    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()-movestopto*point,digits),OrderTakeProfit(),0,Red);
                         return(
    0);
                      }
                   }
                }
             }
          }
       }

    ثم بداخل الداله start ستضع الشروط
    كود PHP:
       if(TrailingStop>0)TrailingStop();
      if(
    BreakEven>0)BreakEven(); 
    راجع هذا الإكسبرت كمثال
    جزاك الله خيرا لكن بعد الاطلاع وجدت بعض المشكل لدي
    ما تفسير هذه لانها متشابهه جدا.....يعني كيف اضبطها مثلا اريد ان يكون البريك او التريلينج 5 نقاط مثلا .اين احط هذه القيمه واي قيمه يجب ان تبقى ثابته؟

    extern int BreakEven=0;
    extern int movestopto=1;
    extern int TrailingStop=0;
    extern int TrailingStep=0;


    لاحظت هذا الكود مافائدته؟

    كود:
    void deinit() {
        Comment("");
      }
    
     int orderscnt(){
     int cnt=0;
       for(int i =0;i<OrdersTotal();i++){
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
             cnt++;
           }
         }
       }
        return(cnt);
      }
    آخر تعديل بواسطة al_naser ، 10-06-2011 الساعة 09:54 PM

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

    افتراضي

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

    extern int BreakEven=0;
    extern int movestopto=1;
    extern int TrailingStop=0;
    extern int TrailingStep=0;


    لاحظت هذا الكود مافائدته؟

    كود:
    void deinit() {
        Comment("");
      }
    
     int orderscnt(){
     int cnt=0;
       for(int i =0;i<OrdersTotal();i++){
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
             cnt++;
           }
         }
       }
        return(cnt);
      }
    سوف أشرحها لك ببساطه
    بالنسبة للبريك إيفن مثلا إذا كنت تريد نقل الأستوب لوز إلى نقطة الدخول بعد ربح 10 نقاط سوف تجعل BreakEven=10 و movestopto=0
    لكن الآن مثلا أنت تريط بعد ربح 10 نقاط نقل الأستوب لوز ليس إلى نقطة الدخول لكن إلى ربح نقطيتن مثلا في هذه الحاله سوف تجعل BreakEven=10 و movestopto=2
    أي أن المتغير movestopto هو عدد نقاط الربح التي يتم نقل الأستوب لوز عندها

    بالنسبة للتريلينج ستوب
    إذا أردت تحريك التريلينج ستوب بعد ربح 10 نقاط سوف تجعل TrailingStop=10 و TrailingStep=0
    في هذه الحاله كلما ربح الإكسبرت نقطه سوف يتم تقديم الأستوب لوز نقطه واحده حسب التريلينج ستوب لكن مثلا إذا أردت أن يتم تقديم الأستوب لوز كل 3 نقاط أو كل نقطتين سوف تجعل TrailingStep=2

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

  15. #1110
    الصورة الرمزية al_naser
    al_naser غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2010
    المشاركات
    186

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    سوف أشرحها لك ببساطه
    بالنسبة للبريك إيفن مثلا إذا كنت تريد نقل الأستوب لوز إلى نقطة الدخول بعد ربح 10 نقاط سوف تجعل BreakEven=10 و movestopto=0
    لكن الآن مثلا أنت تريط بعد ربح 10 نقاط نقل الأستوب لوز ليس إلى نقطة الدخول لكن إلى ربح نقطيتن مثلا في هذه الحاله سوف تجعل BreakEven=10 و movestopto=2
    أي أن المتغير movestopto هو عدد نقاط الربح التي يتم نقل الأستوب لوز عندها

    بالنسبة للتريلينج ستوب
    إذا أردت تحريك التريلينج ستوب بعد ربح 10 نقاط سوف تجعل TrailingStop=10 و TrailingStep=0
    في هذه الحاله كلما ربح الإكسبرت نقطه سوف يتم تقديم الأستوب لوز نقطه واحده حسب التريلينج ستوب لكن مثلا إذا أردت أن يتم تقديم الأستوب لوز كل 3 نقاط أو كل نقطتين سوف تجعل TrailingStep=2

    هذا هو الفرق بينهم
    الف شكر اخ مستر ولكن هناك الفقره الاخيره من السؤال انتظر لها اجابه

    لاحظت هذا الكود مافائدته؟

    كود PHP:
    void deinit() {
        
    Comment("");
      }

     
    int orderscnt(){
     
    int cnt=0;
       for(
    int i =0;i<OrdersTotal();i++){
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
             
    cnt++;
           }
         }
       }
        return(
    cnt);
      } 

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

  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