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

    افتراضي

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

    لم افهم اين الخلل
    كود PHP:
    int pp=1;
    extern int magicnumber=16665;

    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    int init()
      {
    //----
       
    if(Digits==5||Digits==3)pp=10;
    //----
       
    return(0);
      }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit()
      {
    //----
       
    //----
       
    return(0);
      }
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start()
      {
    //----
          
    if(iMA(0,0,5,0,3,PRICE_CLOSE,1)>iMA(0,0,5,0,3,PRICE_CLOSE,0)&&iMA(0,0,5,0,3,PRICE_CLOSE,2)<iMA(0,0,5,0,3,PRICE_CLOSE,1)&&OrdersTotal()==0)
          {
          
    OrderSend(Symbol(),OP_SELL,1,Bid,3*pp,Bid-30*pp*Point,Bid+40*pp*Point,"",16665,0,Green);
          }
          if(
    iMA(0,0,5,0,3,PRICE_CLOSE,1)<iMA(0,0,5,0,3,PRICE_CLOSE,0)&&iMA(0,0,5,0,3,PRICE_CLOSE,2)>iMA(0,0,5,0,3,PRICE_CLOSE,1)&&OrdersTotal()==0)
          {
          
    OrderSend(Symbol(),OP_BUY,1,Ask,3*pp,Ask-30*pp*Point,Ask+40*pp*Point,"",16665,0,Green);
          }
          for(
    int n=0;n<=OrdersTotal();n++){
    OrderSelect(n,SELECT_BY_POS,MODE_TRADES);
    if(
    OrderMagicNumber()==magicnumber && OrderSymbol()==Symbol() ){

      if(
    OrderType()==OP_BUY && iMA(0,0,5,0,3,PRICE_CLOSE,1)>iMA(0,0,5,0,3,PRICE_CLOSE,0)&&iMA(0,0,5,0,3,PRICE_CLOSE,2)<iMA(0,0,5,0,3,PRICE_CLOSE,1) ){
      
    OrderClose(OrderTicket(),OrderLots(),Bid,3);}
      
      if(
    OrderType()==OP_SELL && iMA(0,0,5,0,3,PRICE_CLOSE,1)<iMA(0,0,5,0,3,PRICE_CLOSE,0)&&iMA(0,0,5,0,3,PRICE_CLOSE,2)>iMA(0,0,5,0,3,PRICE_CLOSE,1) ){
      
    OrderClose(OrderTicket(),OrderLots(),Ask,3);}
      }
    }
       
    //----
       
    return(0);
      }
    //+------------------------------------------------------------------+ 
    الإكسبرت يفتح صفقات بيع فقط بسبب الشرط الذي وضعته
    كود PHP:
    &&OrdersTotal()==
    وبالتالي في حال فتح أول صفقه بيع فلن يفتح صفقات شراء لإن هذا الشرط لن يتحقق إلا إذا أغلقت صفقة البيع

    بالنسبه لإغلاق الصفقات عند ظهور إشاره عكسيه فالكود الذي كتبته صحيح
    أو بطريقه أخرى التي أستخدمها يمكنك تعريف داله لإغلاق الصفقات بيع وشراء
    كود PHP:
    void CloseBuyOrders()
    {
      for (
    int cnt cnt OrdersTotal() ; cnt++)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {
          if (
    OrderType()==OP_BUY)
          {
            
    OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3);
          }
        }
      }
    }  

    void CloseSellOrders()
    {
     for (
    int cnt cnt OrdersTotal() ; cnt++)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {
          if (
    OrderType()==OP_SELL)
          {
           
    OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3);
          }
         }
        }

    ثم تستخدم المقارنه لإغلاق صفقة الشراء
    كود PHP:
     if(iMA(0,0,5,0,3,PRICE_CLOSE,1)>iMA(0,0,5,0,3,PRICE_CLOSE,0)&&iMA(0,0,5,0,3,PRICE_CLOSE,2)<iMA(0,0,5,0,3,PRICE_CLOSE,1)&&OrdersTotal()==0)
          {
          
    CloseBuyOrders();
          }
          
          if(
    iMA(0,0,5,0,3,PRICE_CLOSE,1)<iMA(0,0,5,0,3,PRICE_CLOSE,0)&&iMA(0,0,5,0,3,PRICE_CLOSE,2)>iMA(0,0,5,0,3,PRICE_CLOSE,1)&&OrdersTotal()==0)
          {
          
    CloseSellOrders();
          } 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  2. #17
    الصورة الرمزية ahmedessam58
    ahmedessam58 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2008
    الإقامة
    مصر
    المشاركات
    493

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    الإكسبرت يفتح صفقات بيع فقط بسبب الشرط الذي وضعته
    كود PHP:
    &&OrdersTotal()==
    وبالتالي في حال فتح أول صفقه بيع فلن يفتح صفقات شراء لإن هذا الشرط لن يتحقق إلا إذا أغلقت صفقة البيع

    بالنسبه لإغلاق الصفقات عند ظهور إشاره عكسيه فالكود الذي كتبته صحيح
    أو بطريقه أخرى التي أستخدمها يمكنك تعريف داله لإغلاق الصفقات بيع وشراء
    كود PHP:
    void CloseBuyOrders()
    {
      for (
    int cnt cnt OrdersTotal() ; cnt++)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {
          if (
    OrderType()==OP_BUY)
          {
            
    OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3);
          }
        }
      }
    }  

    void CloseSellOrders()
    {
     for (
    int cnt cnt OrdersTotal() ; cnt++)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {
          if (
    OrderType()==OP_SELL)
          {
           
    OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3);
          }
         }
        }

    ثم تستخدم المقارنه لإغلاق صفقة الشراء
    كود PHP:
     if(iMA(0,0,5,0,3,PRICE_CLOSE,1)>iMA(0,0,5,0,3,PRICE_CLOSE,0)&&iMA(0,0,5,0,3,PRICE_CLOSE,2)<iMA(0,0,5,0,3,PRICE_CLOSE,1)&&OrdersTotal()==0)
          {
          
    CloseBuyOrders();
          }
          
          if(
    iMA(0,0,5,0,3,PRICE_CLOSE,1)<iMA(0,0,5,0,3,PRICE_CLOSE,0)&&iMA(0,0,5,0,3,PRICE_CLOSE,2)>iMA(0,0,5,0,3,PRICE_CLOSE,1)&&OrdersTotal()==0)
          {
          
    CloseSellOrders();
          } 
    استاذ اسامة
    لى طلبان من حضرتك
    الاول : ان حضرتك ترفق الاكسبيرت بعد التعديل لأنى مش بفهم غير لما انزل الاكسبيرت وافتحه بالميتا اديتور
    الثانى: كيف يمكننى عمل الاسبان بى كأستوب لوس فى مؤشر الايشيموكو العادى الموجود بالميتاتريدر واتمنى تجاوبنى على اسألتى رجاءا

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

    افتراضي

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

    واترك فقط الصيغة ex4

    واستدعيه عادي ب iCustom ؟؟؟؟
    لا داعي لحذف المؤشر بصيغة mq4 لأنه تلقائيا عندما يقوم الإكسبرت بإستدعاء أي مؤشر فإنه يستدعي الكود التنفيذي له ex4 وليس mq4
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  4. #19
    الصورة الرمزية ساهر الفوركس
    ساهر الفوركس غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2012
    المشاركات
    210

    افتراضي

    شكرا ليك اخي السامة ساجرب الدوال التي اشرت اليها واري

  5. #20
    الصورة الرمزية ساهر الفوركس
    ساهر الفوركس غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2012
    المشاركات
    210

    افتراضي

    اقصد اخي اسامة

صفحة 2 من 2 الأولىالأولى 12

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