صفحة 247 من 686 الأولىالأولى ... 147197237241242243244245246247248249250251252253257297347 ... الأخيرةالأخيرة
النتائج 3,691 إلى 3,705 من 10285
  1. #3691
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,851

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

    اقتباس المشاركة الأصلية كتبت بواسطة imaddine1986 مشاهدة المشاركة
    السلام عليكم
    ممكن شرح لطريقة عمل اكسبيرت مضاعفات
    فقد قمت ببرمجت اكسبيرت على شارة الرينكو
    فكرته بسيطة يفتح صفقة شراء مثلا ولا يخرج منها
    الا عند اغلاق شمعة نازلة ويدخل مباشرة بيع
    ما ارده هو دالة تقوم بمراقبة الصفقة اول ما تاتي اشارة
    عكسية فلو كانت الصفقة رابحة يغلقها ويدخل من جديد
    لو كانت خاسرة اي اوقات التذبذب يحافظ عليها ويدخل بصفقة
    عكسية +1 لوت ويستمر لو كانت شمعة عكسية يراقب لو
    كان مجموع الصفقتين خسارة يحافظ عليهما ويدخل بلوت +1
    مع الشمعة العكسية اي في نفس انتجاهها ولا يخرج حتى
    يكون مجموع الصفقات موجب عند الاشارة العكسية
    المضاعفات تكون 1 2 3 4 5 6 7 8 9
    فقد بحث على موضوع تعليمي للمضاعفات لكن لم اجد للاسف
    وعليكم السلام ورحمة الله وبركاته
    أولا ستقوم بعمل دالة لحساب الربح الحالي للصفقات المفتوحه
    كود PHP:
    double ProfitOrders()
    {
     
    double profit;
     for(
    int i=0;i<OrdersTotal();i++)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       
    profit+=OrderProfit();
      }
     }
     return(
    profit);

    بحيث أقارن هل الربح الحالي مكسب أو خساره
    وداله لمعرفة حجم لوت آخر صفقه ليفتح المضاعفه
    كود PHP:
    double LastOrderLots()
    {
     
    double profit;
     for(
    int i=0;i<OrdersTotal();i++)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       return(
    OrderLots());
      }
     }
     return(
    0);

    ودالة لمعرفة نوع آخر صفقه بحيث لن أفتح صفقه أخرى إلا إذا كانت صفقه عكسيه
    كود PHP:
    int LastOrderType()
    {

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

    ودالة لإغلاق الصفقات المفتوحه
    كود PHP:
    void CloseOrders()
    {
     for(
    int i=0;i<OrdersTotal();i++)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       if(
    OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,3);
       if(
    OrderType()==OP_SELL)OrderClose(OrderTicket(),OrderLots(),Ask,3);
      
      }
     }

    ثم سأضع الشروط
    كود PHP:
    if(/*Open Buy Order*/&&LastOrderType()==OP_SELL)
    {
     if(
    ProfitOrders()>0)
     {
      
    CloseOrders();
      
    OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
       
     }
     else 
     {
      
    newlot=LastOrderLots()+Lots;
      
    OrderSend(Symbol(),OP_BUY,newlot,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
     
     }

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

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

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

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    بداية البحث يجب أن تكون من i=0 حتى i أكبر من فقط وليس أكبر من أو تساوي
    لأن عدد الصفقات المغلقه مثلا لو كانت 5 صفقات فأرقامها تكون من 0 إلى 4

    بالنسبه للشرط فسيكون صحيح لكن ستواجهك مشكله لنفرض أن الصفقات أغلقت وأردت أن تبدأ سلسله جديده
    فمجرد أن تفتح صفقه لتبدأ سلسله جديده ستجد أن الشرط قد تحقق أيضا وستغلق الصفقه مباشره
    لذلك ستحتاج عمل دالة نفس الداله السابقه لكن مع إضافة شرط لتحديد الصفقه التي أغلقت بناء على الوقت أيضا كمثال
    شكرا أستاذي .. نسيت أن 0 تعتبر اول صفقه مغلقة
    بالنسبه للشرط هل من الممكن أن يكون هكذا
    كود PHP:
    if (firstclosed()=="lost" || firstclosed()=="profit" && orderscnt(OP_BUY)+orderscnt(OP_SELL)>&& Time0!=Time[0]) { CloseOrders();} 
    أم أضيف
    كود PHP:
    Time0!=Time[0
    إلى شروط الداله فقط دون اضافنها للشروط؟؟ هكذا .
    كود PHP:
    string firstclosed()
    {
      
      for(
    int i=0;i>OrdersHistoryTotal();i++)
        {
        
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
          if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
           {
             
             if(
    OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice() && Time0!=Time[0]) return("profit");
             if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()&& Time0!=Time[0]) return("loss");
           
      
           
             if(
    OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()&& Time0!=Time[0]) return("profit");
             if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()&& Time0!=Time[0]) return("loss");
            
           }
        
        }

    return(
    "none");

    وجزاك الله كل خير
    توقيع العضو
    MetaTrader Login: 652105
    Investor Password: Z3UR9DA0

  3. #3693
    الصورة الرمزية dentist_hussein
    dentist_hussein غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Aug 2011
    الإقامة
    مصر
    المشاركات
    1,827

    افتراضي


    أستاذ أسامه كيف أجعل صفقات شراء و بيع يغلقوا مع بعضهم في نفس التوقيت إذا كان ستوب صفقات البيع هو هدف صفقات الشراء و العكس . هل أطرح قيمة السبريد من هدف صفقات الشراء فقط ؟ أم هل ممكن أجعل صفقات البيع تفتح و تغلق بسعر البيد ؟
    توقيع العضو
    MetaTrader Login: 652105
    Investor Password: Z3UR9DA0

  4. #3694
    الصورة الرمزية imaddine1986
    imaddine1986 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2013
    الإقامة
    الجزائر
    المشاركات
    584

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    أولا ستقوم بعمل دالة لحساب الربح الحالي للصفقات المفتوحه
    كود PHP:
    double ProfitOrders()
    {
     
    double profit;
     for(
    int i=0;i<OrdersTotal();i++)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       
    profit+=OrderProfit();
      }
     }
     return(
    profit);

    بحيث أقارن هل الربح الحالي مكسب أو خساره
    وداله لمعرفة حجم لوت آخر صفقه ليفتح المضاعفه
    كود PHP:
    double LastOrderLots()
    {
     
    double profit;
     for(
    int i=0;i<OrdersTotal();i++)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       return(
    OrderLots());
      }
     }
     return(
    0);

    ودالة لمعرفة نوع آخر صفقه بحيث لن أفتح صفقه أخرى إلا إذا كانت صفقه عكسيه
    كود PHP:
    int LastOrderType()
    {

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

    ودالة لإغلاق الصفقات المفتوحه
    كود PHP:
    void CloseOrders()
    {
     for(
    int i=0;i<OrdersTotal();i++)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       if(
    OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,3);
       if(
    OrderType()==OP_SELL)OrderClose(OrderTicket(),OrderLots(),Ask,3);
      
      }
     }

    ثم سأضع الشروط
    كود PHP:
    if(/*Open Buy Order*/&&LastOrderType()==OP_SELL)
    {
     if(
    ProfitOrders()>0)
     {
      
    CloseOrders();
      
    OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
       
     }
     else 
     {
      
    newlot=LastOrderLots()+Lots;
      
    OrderSend(Symbol(),OP_BUY,newlot,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
     
     }

    بارك الله فيك استاذي الغالي وربي زيدك من علمه
    واقل شيء اقدمه لك هو دعوة في ظهر غيب

  5. #3695
    الصورة الرمزية dentist_hussein
    dentist_hussein غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Aug 2011
    الإقامة
    مصر
    المشاركات
    1,827

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

    السلام عليكم أستاذي العزيز
    لو تكرمت الإكسبيرت بالمرفقات يفتح شراء بعد إغلاق شمعة إيجابية أو بيع بعد إغلاق شمعة سلبية ..
    إذا كانت شراء و عكس السعر بمقدار عدد نقاط Step يفتح صفقه بيع عكسيه بمضاعفات تحدد خارجيا ..
    إذا عكس و صعد مره اخرى بمقدار step يفتح صفقة شراء مضاعف ايضا بنفس ستوب الشراء الأول وهدفه و هكذا و يكون دائما نفس الهدف و الإستوب لكل صفقه و هدف الشراء يكون إستوب البيع و العكس ... و هو يضع أوامر معلقه ستوب عكس الصفقه المفعله الأخيره .
    المشكله التي واجهتني أنه احيانا يفوت تعليق أحد الأوامر و أعتقدت أن حسابي لنقطة الأمر المعلق بها مشكله فجعلتها من سعر الآسك للشراء المعلق و البيد للبيع المعلق بدلا من سعر إفتتاح آخر صفقه و لكن واجهتني مشكله أخرى عدم إغلاق الصفقات البيع و الشراء سويا رغم وضعي شرط لذلك فلا يتم مسح الأوامر و يوثر على الشروط ..
    ففضلا رجاء الإطلاع و غفادتي بالأخطاء أو الحلول .
    و جزاك الله كل خير
    الملفات المرفقة الملفات المرفقة
    • نوع الملف: mq4 try.mq4‏ (15.5 كيلوبايت, المشاهدات 86)
    توقيع العضو
    MetaTrader Login: 652105
    Investor Password: Z3UR9DA0

  6. #3696
    الصورة الرمزية dentist_hussein
    dentist_hussein غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Aug 2011
    الإقامة
    مصر
    المشاركات
    1,827

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

    السلام عليكم أستاذي العزيز
    لو تكرمت الإكسبيرت بالمرفقات يفتح شراء بعد إغلاق شمعة إيجابية أو بيع بعد إغلاق شمعة سلبية ..
    إذا كانت شراء و عكس السعر بمقدار عدد نقاط Step يفتح صفقه بيع عكسيه بمضاعفات تحدد خارجيا ..
    إذا عكس و صعد مره اخرى بمقدار step يفتح صفقة شراء مضاعف ايضا بنفس ستوب الشراء الأول وهدفه و هكذا و يكون دائما نفس الهدف و الإستوب لكل صفقه و هدف الشراء يكون إستوب البيع و العكس ... و هو يضع أوامر معلقه ستوب عكس الصفقه المفعله الأخيره .
    المشكله التي واجهتني أنه احيانا يفوت تعليق أحد الأوامر و أعتقدت أن حسابي لنقطة الأمر المعلق بها مشكله فجعلتها من سعر الآسك للشراء المعلق و البيد للبيع المعلق بدلا من سعر إفتتاح آخر صفقه و لكن واجهتني مشكله أخرى عدم إغلاق الصفقات البيع و الشراء سويا رغم وضعي شرط لذلك فلا يتم مسح الأوامر و يوثر على الشروط ..
    ففضلا رجاء الإطلاع و غفادتي بالأخطاء أو الحلول .
    الإكسبيرتو جزاك الله كل خير
    الملفات المرفقة الملفات المرفقة
    • نوع الملف: mq4 try.mq4‏ (15.5 كيلوبايت, المشاهدات 86)
    توقيع العضو
    MetaTrader Login: 652105
    Investor Password: Z3UR9DA0

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

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

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

    شكرا أستاذي .. نسيت أن 0 تعتبر اول صفقه مغلقة
    بالنسبه للشرط هل من الممكن أن يكون هكذا
    كود PHP:
    if (firstclosed()=="lost" || firstclosed()=="profit" && orderscnt(OP_BUY)+orderscnt(OP_SELL)>&& Time0!=Time[0]) { CloseOrders();} 
    أم أضيف
    كود PHP:
    Time0!=Time[0
    إلى شروط الداله فقط دون اضافنها للشروط؟؟ هكذا .
    كود PHP:
    string firstclosed()
    {
      
      for(
    int i=0;i>OrdersHistoryTotal();i++)
        {
        
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
          if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
           {
             
             if(
    OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice() && Time0!=Time[0]) return("profit");
             if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()&& Time0!=Time[0]) return("loss");
           
      
           
             if(
    OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()&& Time0!=Time[0]) return("profit");
             if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()&& Time0!=Time[0]) return("loss");
            
           }
        
        }

    return(
    "none");

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

    بالنسبه لتعديل شروط توقيت فتح الصفقه
    عند فتح الصفقه الأساسيه ( أول صفقه ) إجعل
    كود PHP:
     Time0=Time[0]; 
    ثم ستضع في شروط الداله نفسها
    كود PHP:
     &&OrderOpenTime()> Time0 
    بالتالي ستتأكد أنك تتعامل مع الصفقة التي توقيتها أكبر من توقيت بداية السلسله الجديده
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

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

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

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

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

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

    اقتباس المشاركة الأصلية كتبت بواسطة dentist_hussein مشاهدة المشاركة
    السلام عليكم أستاذي العزيز
    لو تكرمت الإكسبيرت بالمرفقات يفتح شراء بعد إغلاق شمعة إيجابية أو بيع بعد إغلاق شمعة سلبية ..
    إذا كانت شراء و عكس السعر بمقدار عدد نقاط Step يفتح صفقه بيع عكسيه بمضاعفات تحدد خارجيا ..
    إذا عكس و صعد مره اخرى بمقدار step يفتح صفقة شراء مضاعف ايضا بنفس ستوب الشراء الأول وهدفه و هكذا و يكون دائما نفس الهدف و الإستوب لكل صفقه و هدف الشراء يكون إستوب البيع و العكس ... و هو يضع أوامر معلقه ستوب عكس الصفقه المفعله الأخيره .
    المشكله التي واجهتني أنه احيانا يفوت تعليق أحد الأوامر و أعتقدت أن حسابي لنقطة الأمر المعلق بها مشكله فجعلتها من سعر الآسك للشراء المعلق و البيد للبيع المعلق بدلا من سعر إفتتاح آخر صفقه و لكن واجهتني مشكله أخرى عدم إغلاق الصفقات البيع و الشراء سويا رغم وضعي شرط لذلك فلا يتم مسح الأوامر و يوثر على الشروط ..
    ففضلا رجاء الإطلاع و غفادتي بالأخطاء أو الحلول .
    الإكسبيرتو جزاك الله كل خير
    وعليكم السلام ورحمة الله وبركاته المشكله ليست لديك في سعر وضع الأمر المعلقه
    إجعل سعر الأمر المعلق الجديد = ستوب لوز الأمر المفتوح
    إلغي الشرط
    كود PHP:
    Time0!=Time[0
    وإلا في هذه الحاله لن يضع الأمر المعلق فمجرد فتح الصفقه الرئيسيه أو في حال تفعل الأمر المعلق في نفس الشمعه لأن هذا الشرط لن يتحقق إلا بعد فتح شمعه جديده بالتالي لا تحتاجه
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  10. #3700
    الصورة الرمزية imaddine1986
    imaddine1986 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2013
    الإقامة
    الجزائر
    المشاركات
    584

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

    استاذ اسامة عندي مشكلة في الاكسبيرت بحيث
    اول ما يبدا في المضاعفات يفتح عدد كبير من الصفقة
    https://forum.arabictrader.com/t168758.html

    ولم استطع تحديد عدد الصفقات داخل دالة التالية
    كود PHP:
    if(Cl2<Cl1&&LastOrderType()==OP_SELL

     if(
    ProfitOrders()>0
     { 
      
    CloseOrders(); 
      
    OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue); 
        
     } 
     else  
     { 
      
    newLot=LastOrderLots()+Lots
      
    OrderSend(Symbol(),OP_BUY,newLot,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue); 
     }   
     }   
     
    ////////////////////////////////////////////////// 
        
        
    if(Cl2>Cl1&&LastOrderType()==OP_BUY

     if(
    ProfitOrders()>0
     { 
      
    CloseOrders(); 
      
    OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue); 
        
     } 
     else  
     { 
      
    newLot=LastOrderLots()+Lots
      
    OrderSend(Symbol(),OP_SELL,newLot,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue); 
     }   
     }   
         
      return(
    0); 
      } 

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

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

    تضيف المتغير datetime T; ضمن المتغيرات في بداية الأكسبيرت ثم تضيف ضمن الشروط :
    كود PHP:
    if(T!=Time[0]&&Cl2<Cl1&&LastOrderType()==OP_SELL

     if(
    ProfitOrders()>0
     { 
      
    CloseOrders(); 
      
    OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue); 
      
     } 
     else  
     { 
      
    newLot=LastOrderLots()+Lots
      
    OrderSend(Symbol(),OP_BUY,newLot,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
      
     }  
       
    T=Time [0]; 
     }   
     
    ////////////////////////////////////////////////// 
        
        
    if(T!=Time[0]&&Cl2>Cl1&&LastOrderType()==OP_BUY

     if(
    ProfitOrders()>0
     { 
      
    CloseOrders(); 
      
    OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue); 
      
     } 
     else  
     { 
      
    newLot=LastOrderLots()+Lots
      
    OrderSend(Symbol(),OP_SELL,newLot,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
     
     }  
      
    T=Time [0];  
     }   
         
      return(
    0); 
      } 
    توقيع العضو
    اعتذر لمن لن أتمكن من تنفيذ طلبه بسبب عدم قناعتي بالفكرة

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

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

    اقتباس المشاركة الأصلية كتبت بواسطة imaddine1986 مشاهدة المشاركة
    استاذ اسامة عندي مشكلة في الاكسبيرت بحيث
    اول ما يبدا في المضاعفات يفتح عدد كبير من الصفقة
    https://forum.arabictrader.com/t168758.html

    ولم استطع تحديد عدد الصفقات داخل دالة التالية
    كود PHP:
    if(Cl2<Cl1&&LastOrderType()==OP_SELL

     if(
    ProfitOrders()>0
     { 
      
    CloseOrders(); 
      
    OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue); 
        
     } 
     else  
     { 
      
    newLot=LastOrderLots()+Lots
      
    OrderSend(Symbol(),OP_BUY,newLot,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue); 
     }   
     }   
     
    ////////////////////////////////////////////////// 
        
        
    if(Cl2>Cl1&&LastOrderType()==OP_BUY

     if(
    ProfitOrders()>0
     { 
      
    CloseOrders(); 
      
    OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue); 
        
     } 
     else  
     { 
      
    newLot=LastOrderLots()+Lots
      
    OrderSend(Symbol(),OP_SELL,newLot,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue); 
     }   
     }   
         
      return(
    0); 
      } 
    الإضافه إلى مشاركة الأخ جميل قم أيضا بعمل دالة لمعرفة عدد الصفقات المفتوحه حسب نوع الصفقه
    مثال
    كود PHP:
     int orderscnt(int type){
     
    int cnt=0;
       for(
    int i =0;i<OrdersTotal();i++){
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&&OrderType()==type){
             
    cnt++;
           }
         }
       }
        return(
    cnt);
      } 
    ثم ستضيف في شرط الشراء
    كود PHP:
    orderscnt(OP_BUY)==
    وفي شرط البيع
    كود PHP:
    orderscnt(OP_SELL)==
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  13. #3703
    الصورة الرمزية imaddine1986
    imaddine1986 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2013
    الإقامة
    الجزائر
    المشاركات
    584

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة Jmeel مشاهدة المشاركة
    تضيف المتغير datetime T; ضمن المتغيرات في بداية الأكسبيرت ثم تضيف ضمن الشروط :
    كود PHP:
    if(T!=Time[0]&&Cl2<Cl1&&LastOrderType()==OP_SELL

     if(
    ProfitOrders()>0
     { 
      
    CloseOrders(); 
      
    OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue); 
      
     } 
     else  
     { 
      
    newLot=LastOrderLots()+Lots
      
    OrderSend(Symbol(),OP_BUY,newLot,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
      
     }  
       
    T=Time [0]; 
     }   
     
    ////////////////////////////////////////////////// 
        
        
    if(T!=Time[0]&&Cl2>Cl1&&LastOrderType()==OP_BUY

     if(
    ProfitOrders()>0
     { 
      
    CloseOrders(); 
      
    OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue); 
      
     } 
     else  
     { 
      
    newLot=LastOrderLots()+Lots
      
    OrderSend(Symbol(),OP_SELL,newLot,NormalizeDouble(Ask,Digits),3,0,0,"EA",MagicNumber,0,Blue);
     
     }  
      
    T=Time [0];  
     }   
         
      return(
    0); 
      } 
    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    الإضافه إلى مشاركة الأخ جميل قم أيضا بعمل دالة لمعرفة عدد الصفقات المفتوحه حسب نوع الصفقه
    مثال
    كود PHP:
     int orderscnt(int type){
     
    int cnt=0;
       for(
    int i =0;i<OrdersTotal();i++){
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&&OrderType()==type){
             
    cnt++;
           }
         }
       }
        return(
    cnt);
      } 
    ثم ستضيف في شرط الشراء
    كود PHP:
    orderscnt(OP_BUY)==
    وفي شرط البيع
    كود PHP:
    orderscnt(OP_SELL)==
    بارك الله فيكما وجعله في ميزان حسناتكم
    فقد كنت في حاجة لشرح اكثر من التعديل لاني في مرحلة
    التعلم واعتمد على دروس الاستاذ اسامة واعتبرها مرجع لي

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

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

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

  15. #3705
    الصورة الرمزية imaddine1986
    imaddine1986 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2013
    الإقامة
    الجزائر
    المشاركات
    584

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    الخطأ لديك في الكود أنك لم تضع حد معين بحيث عندما يفتح الصفقه لا يفتح غيرها لذلك يجب أن تضع شرط لتحديد عدد الصفقات بحيث عندما يفتح صفقة الشراء سوف نضع شرط بأن صفقات الشراء = 0 بالتالي لن يفتح صفقه جديده حتى إغلاق الصفقه القديمه وأيضا عندما يقوم بالبيع سوف يبيع مره واحده ثم عندما يقارن الشرط أن عدد صفقات البيع = 0 فلن يتحقق الشرط بالتالي لن يفتح إلا صفقه واحده
    استاذ اسامة تم حل مشلكة عدد الصفقات الكبيرة
    لكن حصل مشكلة اخرى هو انه لما يبدا بالمضاعفات
    يتوفق مع المضاعف الثاني فهو مثلا يفتح شراء 0.1
    لو كان الناتج موجب يغلق بعد شمعة نازلة
    ويعمل عادي ويعيد الدخول لكن لو كانت سالبة
    يفتح بيع 0.2 ويترك الصفقات مفتوحة لا يغلقها ولا يدخل
    في مضاعف جديد

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

  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