صفحة 246 من 686 الأولىالأولى ... 146196236240241242243244245246247248249250251252256296346 ... الأخيرةالأخيرة
النتائج 3,676 إلى 3,690 من 10283
  1. #3676
    الصورة الرمزية Jmeel
    Jmeel غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Sep 2008
    الإقامة
    في أرض الله
    المشاركات
    7,610

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

    أستاذي مستر دولار في المحاضرة السابعة درسنا تعليق الأوامر وكانت بوضع حلقة لتحديد العدد ، عند التنفيذ لايتوقف عند 3 اوامر ويعلق المئات مالم اسيطر على الأومر بأستخدام دوال أخرى اضافية فهل هذا الكود سليم ؟؟
    فأذا كان كذلك فلماذا لايتوقف عند العدد وأذا كان خطأ فأين الخطأ ، جزاك الله خير .
    كود PHP:
        for(int i=1i<=3i++){
        
    double price NormalizeDouble(AskDigits) + (Step*i*pt*Point);
        
    double SL price Stoploss*pt*Point;
        if (
    == 0SL 0;
        
    double TP price Takeprofit*pt*Point;
        if (
    == 0TP 0;
        
    OrderSend(Symbol(), OP_BUYSTOPLotsprice4SLTP"My Expert"MagicNo0Blue);
      } 
    توقيع العضو
    اعتذر لمن لن أتمكن من تنفيذ طلبه بسبب عدم قناعتي بالفكرة

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

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

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

    بالنسبه للإكسبرت حاليا فالشروط صحيحه وهو يفتح صفقات لكن الصفقات قليله بسبب الشرط PIPS_FROM_TENKAN
    مؤشر GenesisMatrix يحتاج إلى مؤشر آخر ليعمل بإسم T3_2ColorHisto فيجب أن تتأكد أنه موجود في مجلد المؤشرات
    لا يمكنك تعريف دالتين cross بنفس الإسم يجب أن تقوم بتغيير الإسم
    الشرط
    كود PHP:
    lastype(OP_SELL)==OP_SELL 
    لا أعلم ما الفائده منه فطبيعي بما أنك إخترت في متغيرات الداله OP_SELL فسوف يعود بنفس الصفقه

    تمام أستاذ أسامه و شكرا جزيلا .. بالنسبه للشرط
    كود PHP:
    lastype(OP_SELL)==OP_SELL 
    كنت أود أن أقارن إذا كانت آخر صفقه نوعها شراء أو بيع ... فهل ممكن أن أضعه هكذا و يكون صحيحا كشرط
    كود PHP:
    lastype(OP_SELL
    ؟
    توقيع العضو
    MetaTrader Login: 652105
    Investor Password: Z3UR9DA0

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

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

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

    شكرا اخي علي الرد
    تم التعديل
    كل OP_SELLالي OP_BUY والعكس
    كل Bidالي Askوالعكس

    كل
    OP_BUYLIMIT تحول إلى OP_SELLSTOP
    OP_SELLLIMIT تحول إلى OP_BUYSTOP
    والعكس
    كل Bidالي Askوالعكس

    وكن عندي سوال
    هل في اوامر الشراء او الشراء المعلق بنوعية لابد ان يكون في المعادلةAsk
    و
    هل في اوامرالبيع اوالبيع المعلق بنوعية لابد ان يكون في المعادلةBid

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

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

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

    اقتباس المشاركة الأصلية كتبت بواسطة mostafa400 مشاهدة المشاركة
    السلام عليكم ورحمة الله وبركاته
    ممكن شرح لهذين الأمرين case - switch
    مع وضع مثال للإستخدام للتوضيح لو تكرمتم
    وجزاكم الله خيرا .
    وعليكم السلام ورحمة الله وبركاته
    switch تستخدم لتقارن بين القيمة المدخله وكل حاله في case وعند تحقق الشرط ينفذ الأمر
    مثال
    كود PHP:
    int Number;
    switch(
    Number)
     {
      case 
    1:Print("Number is 1");break;
      case 
    2:Print("Number is 2");break;
      case 
    3:Print("Number is 3");break;
      default:Print(
    "None");break;
     } 
    لنفرض أن المتغير Number سيأخذ أي قيمة عند تحقق الحاله الأولى أي أن قيمة Number = 1 فإنه يطبع الجمله الأولى
    عند تحقق الحاله الثانيه أي أن قيمة Number تساوي 2 فسيطبع الجمله الثانيه
    عند تحقق الحاله الثالثه أن قيمة Number تساوي 3 سيطبع الجمله الثالثه
    في حال عدم تحقق أي الشروط السابقه فسوف يطبع None
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

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

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



    تمام أستاذ أسامه و شكرا جزيلا .. بالنسبه للشرط
    كود PHP:
    lastype(OP_SELL)==OP_SELL 
    كنت أود أن أقارن إذا كانت آخر صفقه نوعها شراء أو بيع ... فهل ممكن أن أضعه هكذا و يكون صحيحا كشرط
    كود PHP:
    lastype(OP_SELL
    ؟
    يمكنك عمل دالة لمعرفة نوع آخر صفقه
    كود PHP:
    int LastOrderType()
    {
     for (
    int cnt OrdersTotal()-cnt cnt--)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {
         return(
    OrderType());
         }
       }
      return(-
    1);

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

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

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

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    يمكنك عمل دالة لمعرفة نوع آخر صفقه
    كود PHP:
    int LastOrderType()
    {
     for (
    int cnt OrdersTotal()-cnt cnt--)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {
         return(
    OrderType());
         }
       }
      return(-
    1);


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

  7. #3682
    الصورة الرمزية mostafa400
    mostafa400 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2008
    الإقامة
    مصر
    المشاركات
    360

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    switch تستخدم لتقارن بين القيمة المدخله وكل حاله في case وعند تحقق الشرط ينفذ الأمر
    مثال
    كود PHP:
    int Number;
    switch(
    Number)
    {
    case 
    1:Print("Number is 1");break;
    case 
    2:Print("Number is 2");break;
    case 
    3:Print("Number is 3");break;
    default:Print(
    "None");break;

    لنفرض أن المتغير Number سيأخذ أي قيمة عند تحقق الحاله الأولى أي أن قيمة Number = 1 فإنه يطبع الجمله الأولى
    عند تحقق الحاله الثانيه أي أن قيمة Number تساوي 2 فسيطبع الجمله الثانيه
    عند تحقق الحاله الثالثه أن قيمة Number تساوي 3 سيطبع الجمله الثالثه
    في حال عدم تحقق أي الشروط السابقه فسوف يطبع None
    شكرا جزيلا أستاذ / أسامة
    معلش سؤال كمان
    هل هناك فرق بين OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
    OrderSelect(i, SELECT_BY_POS); بدون MODE_TRADES هل لها تأثير
    وجزاك الله خيرا

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة Jmeel مشاهدة المشاركة
    أستاذي مستر دولار في المحاضرة السابعة درسنا تعليق الأوامر وكانت بوضع حلقة لتحديد العدد ، عند التنفيذ لايتوقف عند 3 اوامر ويعلق المئات مالم اسيطر على الأومر بأستخدام دوال أخرى اضافية فهل هذا الكود سليم ؟؟
    فأذا كان كذلك فلماذا لايتوقف عند العدد وأذا كان خطأ فأين الخطأ ، جزاك الله خير .
    كود PHP:
        for(int i=1i<=3i++){
        
    double price NormalizeDouble(AskDigits) + (Step*i*pt*Point);
        
    double SL price Stoploss*pt*Point;
        if (
    == 0SL 0;
        
    double TP price Takeprofit*pt*Point;
        if (
    == 0TP 0;
        
    OrderSend(Symbol(), OP_BUYSTOPLotsprice4SLTP"My Expert"MagicNo0Blue);
      } 
    تم الوصول للخطأ ، شكرا أستاذي .
    توقيع العضو
    اعتذر لمن لن أتمكن من تنفيذ طلبه بسبب عدم قناعتي بالفكرة

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

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

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


    شكرا جزيلا أستاذ / أسامة
    معلش سؤال كمان
    هل هناك فرق بين OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
    OrderSelect(i, SELECT_BY_POS); بدون MODE_TRADES هل لها تأثير
    وجزاك الله خيرا
    لا يوجد فرق لأنك إذا لم تكتب MODE_TRADES فسوف تعتبرها الداله أنها الإعدادات الإفتراضيه والإعدادات الإفتراضيه لها هي MODE_TRADES
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

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

    السلام عليكم أستاذ اسامه
    ما الخطأ بهذه الداله
    كود PHP:

    string firstclosed
    ()
    {
      
      for(
    int i=1;i>=OrdersHistoryTotal();i++)
        {
        
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
          if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
           {
             
             if(
    OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) return("profit");
             if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) return("loss");
           
      
           
             if(
    OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) return("profit");
             if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) return("loss");
             
            
           }
        
        }

    return(
    "none");

    و هي تعود بكلمة profit أو loss في حالة الربح أو الخساره ..
    و إذا أردت أن يغلق الإكسبيرت باقي الصفقات المفتوحه إذا أغلقت أول صفقه منهم على ربح أو خساره هل ينفع أي من هذين الشرطين
    كود PHP:
    if (firstclosed()=="lost" || firstclosed()=="profit" && orderscnt(OP_BUY)+orderscnt(OP_SELL)>1) { CloseOrders();}
         
    ///أو ///
          
    if ( TP==OrderTakeProfit() || SL== OrderStopLoss() ) { CloseOrders();} 
    توقيع العضو
    MetaTrader Login: 652105
    Investor Password: Z3UR9DA0

  11. #3686
    الصورة الرمزية Mohamed_Amr
    Mohamed_Amr غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2012
    الإقامة
    مصر
    العمر
    45
    المشاركات
    725

    افتراضي

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

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

    افتراضي

    السلام عليكم
    ممكن شرح لطريقة عمل اكسبيرت مضاعفات
    فقد قمت ببرمجت اكسبيرت على شارة الرينكو
    فكرته بسيطة يفتح صفقة شراء مثلا ولا يخرج منها
    الا عند اغلاق شمعة نازلة ويدخل مباشرة بيع
    ما ارده هو دالة تقوم بمراقبة الصفقة اول ما تاتي اشارة
    عكسية فلو كانت الصفقة رابحة يغلقها ويدخل من جديد
    لو كانت خاسرة اي اوقات التذبذب يحافظ عليها ويدخل بصفقة
    عكسية +1 لوت ويستمر لو كانت شمعة عكسية يراقب لو
    كان مجموع الصفقتين خسارة يحافظ عليهما ويدخل بلوت +1
    مع الشمعة العكسية اي في نفس انتجاهها ولا يخرج حتى
    يكون مجموع الصفقات موجب عند الاشارة العكسية
    المضاعفات تكون 1 2 3 4 5 6 7 8 9
    فقد بحث على موضوع تعليمي للمضاعفات لكن لم اجد للاسف

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

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

    اقتباس المشاركة الأصلية كتبت بواسطة imaddine1986 مشاهدة المشاركة
    السلام عليكم
    ممكن شرح لطريقة عمل اكسبيرت مضاعفات
    فقد قمت ببرمجت اكسبيرت على شارة الرينكو
    فكرته بسيطة يفتح صفقة شراء مثلا ولا يخرج منها
    الا عند اغلاق شمعة نازلة ويدخل مباشرة بيع
    ما ارده هو دالة تقوم بمراقبة الصفقة اول ما تاتي اشارة
    عكسية فلو كانت الصفقة رابحة يغلقها ويدخل من جديد
    لو كانت خاسرة اي اوقات التذبذب يحافظ عليها ويدخل بصفقة
    عكسية +1 لوت ويستمر لو كانت شمعة عكسية يراقب لو
    كان مجموع الصفقتين خسارة يحافظ عليهما ويدخل بلوت +1
    مع الشمعة العكسية اي في نفس انتجاهها ولا يخرج حتى
    يكون مجموع الصفقات موجب عند الاشارة العكسية
    المضاعفات تكون 1 2 3 4 5 6 7 8 9
    فقد بحث على موضوع تعليمي للمضاعفات لكن لم اجد للاسف
    بالنسبة للكود البرمجي فهو
    كود PHP:
    double TP,SL;

     if(
    TrailingStop>0)MoveTrailingStop();
     
    //////////////////////////////////////////////////
     
    double openprice,lots,newLot;int s;
          if(
    UseMultiplier){
           for(
    s=0;s<OrdersTotal();s++){
           
    OrderSelect(s,SELECT_BY_POS,MODE_TRADES);
           if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==OP_BUY){
            
    openprice=OrderOpenPrice();lots=OrderLots();
           }
            }{
           
           
    هنا قمت بجعل المضاعف وكمتغير خاجي جعلت Multiplier =
    حتى تكون المضاعفات 1 2 3 4 5 6 
             newLot
    =Multiplier+lots;
            if(
    Ask<=openprice-Step*point&&orderstotal()>=1){
            if(
    TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*point;}
           
    OrderSend(Symbol(),OP_BUY,newLot,NormalizeDouble(Ask,digits),3,0,TP," ",MagicNumber,0,Blue);
            
             }
            }
            for(
    s=0;s<OrdersTotal();s++){
           
    OrderSelect(s,SELECT_BY_POS,MODE_TRADES);
           if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==OP_SELL){
            
    openprice=OrderOpenPrice(); lots=OrderLots();
           }
            }{
             
             
    newLot=Multiplier+lots;
             if(
    Bid>=openprice+Step*point&&orderstotal()>=1){
             if(
    TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*point;}
              
    OrderSend(Symbol(),OP_SELL,newLot,NormalizeDouble(Bid,digits),3,0,TP,"",MagicNumber,0,Red);
                  
            }
             }
              }  
       

    //////////////////////////////////////////////////
    static datetime NewBar;
    if(
    orderstotal()==0)
      
            {
             
    // close orders 
            

      
        
    double Cl1=iClose(0,0,1);
        
    double Cl2=iClose(0,0,2);
      
       
    //////////////////////////////////////////////////
       
       
    if(NewBar<Time[0])
     
       if(
    Cl2<Cl1
       {
    CloseSellOrders();}
       
       if(
    Cl2>Cl1)
        {
    CloseBuyOrders();}
        
        if(
    profit()>=ProfitTarget){
        while(
    orderstotal()>0){CloseSellOrders();CloseBuyOrders();}
       
    هنا المشكلة الاولى كيف اجعله يحافظ على الصفقات الخاسرة 
    دون اغلاقها
     
    }
        {
             
    // close orders 
            

      
    //////////////////////////////////////////////////
        
    if(Cl2<Cl1) {
    if(
    orderstotal()<MaxTrades&&Time0!=Time[0])
     {
     {
             
    // open orders 
             
    Time0=Time[0];
            }  
    //Buy 
    if(TakeProfit==0){TP=0;}
    else{
    TP=Ask+TakeProfit*point;} 
    if(
    StopLoss==0){SL=0;}
    else{
    SL=Ask-StopLoss*point;}
    OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SL,TP,"",MagicNumber,0,Blue);

     }                     
     
    //////////////////////////////////////////////////
       
       
    if(Cl2>Cl1){
    if(
    orderstotal()<MaxTrades&&Time0!=Time[0])
     {
     {
             
    // open orders 
             
    Time0=Time[0];
            }  
    //Sell
    if(TakeProfit==0){TP=0;}
    else{
    TP=Bid-TakeProfit*point;}
    if(
    StopLoss==0){SL=0;}
    else{
    SL=Bid+StopLoss*point;} 
    OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SL,TP,"",MagicNumber,0,Red);
     
    }  
       }
        
      return(
    0);
      }
    //+------------------------------------------------------------------+
      
    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(),Bid,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(),Ask,3);
          }
         }
        }
       }  
      
    void MoveTrailingStop()
    {
       
       for(
    int cnt=0;cnt<OrdersTotal();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);
                    
                   }
                }
             }
          }
       }
    }

    اعتمدت هنا على دالة اغلاق على ربح معين لكن لو امكن 
    جعل الطريقة كما شرحتها يخرج عند اشارة عكسية مهما كان 
    الربح كبير او صغير او حتى على نقطة التعادل
    double profit
    (){
    double c;
    for(
    int i=0;i<OrdersTotal();i++){
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
    c=c+OrderProfit();
    }
     }
    return(
    c);

    وبارك الله فيك
    آخر تعديل بواسطة imaddine1986 ، 24-04-2013 الساعة 06:00 PM

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

    افتراضي

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

    https://forum.arabictrader.com/t3761...ml#post2428613
    توقيع العضو
    اعتذر لمن لن أتمكن من تنفيذ طلبه بسبب عدم قناعتي بالفكرة

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

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

    اقتباس المشاركة الأصلية كتبت بواسطة dentist_hussein مشاهدة المشاركة
    السلام عليكم أستاذ اسامه
    ما الخطأ بهذه الداله
    كود PHP:

    string firstclosed
    ()
    {
      
      for(
    int i=1;i>=OrdersHistoryTotal();i++)
        {
        
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
          if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
           {
             
             if(
    OrderType()==OP_BUY   && OrderClosePrice()>=OrderOpenPrice()) return("profit");
             if(
    OrderType()==OP_BUY   && OrderClosePrice()<=OrderOpenPrice()) return("loss");
           
      
           
             if(
    OrderType()==OP_SELL  && OrderClosePrice()<=OrderOpenPrice()) return("profit");
             if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()) return("loss");
             
            
           }
        
        }

    return(
    "none");

    و هي تعود بكلمة profit أو loss في حالة الربح أو الخساره ..
    و إذا أردت أن يغلق الإكسبيرت باقي الصفقات المفتوحه إذا أغلقت أول صفقه منهم على ربح أو خساره هل ينفع أي من هذين الشرطين
    كود PHP:
    if (firstclosed()=="lost" || firstclosed()=="profit" && orderscnt(OP_BUY)+orderscnt(OP_SELL)>1) { CloseOrders();}
         
    ///أو ///
          
    if ( TP==OrderTakeProfit() || SL== OrderStopLoss() ) { CloseOrders();} 
    وعليكم السلام ورحمة الله وبركاته
    بداية البحث يجب أن تكون من i=0 حتى i أكبر من فقط وليس أكبر من أو تساوي
    لأن عدد الصفقات المغلقه مثلا لو كانت 5 صفقات فأرقامها تكون من 0 إلى 4

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

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

  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