صفحة 160 من 686 الأولىالأولى ... 60110150154155156157158159160161162163164165166170210260660 ... الأخيرةالأخيرة
النتائج 2,386 إلى 2,400 من 10285
  1. #2386
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,851

    افتراضي

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

    أستاذ أسامة أثناء الباكتست السبريد او الفرق بين الـ Ask والـ Bid بيتجاب منين ؟
    وعليكم السلام ورحمة الله وبركاته
    مثال :
    كود PHP:
     double spread=MarketInfo(Symbol(),MODE_SPREAD); 
    أو يمكنك حساب الفرق مباشرة
    كود PHP:
    double spread=Ask-Bid
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  2. #2387
    الصورة الرمزية صاحب هدف
    صاحب هدف غير متواجد حالياً موقوف
    تاريخ التسجيل
    Jan 2010
    الإقامة
    سوريا
    المشاركات
    5,384

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

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    مثال :
    كود PHP:
     double spread=MarketInfo(Symbol(),MODE_SPREAD); 
    أو يمكنك حساب الفرق مباشرة
    كود PHP:
    double spread=Ask-Bid
    شكرا يا أستاذ
    أنا أقصد السبريد إلي بيتنفذ أثناء الباكتست يعني لما بفتح صفقة بتاريخ مثلا 1-1-2012 السبريد بيتجاب في الصفقة دي من ملف الهيستوري ولا بيتحسب على أساس السبريد إلي موجود هنا

    اضغط على الصورة لعرض أكبر

الاســـم:	rrr.png
المشاهدات:	171
الحجـــم:	7.3 كيلوبايت
الرقم:	329797

    ولو كان السبريد بيتجاب من ملفات الهيستوري ياترى في طريقة أعمله ثابت بمقدار معين فرضا 0 أو 0.00001
    وشكرا

  3. #2388
    الصورة الرمزية spiders101
    spiders101 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2011
    الإقامة
    مصــر
    المشاركات
    935

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

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

    double LastLot
    (int M,int Q){
    int d;
    for(
    int i=OrdersTotal();i>=0;i--){
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    double L=OrderLots();
    if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==M){
    d++;
    if(
    d==Q)return(L);
      }
     }

    فهي تبحث في الصفقات المفتوحه فيجب أن تقوم بتعديلها
    كود PHP:
    double LastLot(int M,int Q){
    int d;
    for(
    int i=OrdersHistoryTotal();i>=0;i--){
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
    double L=OrderLots();
    if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==M){
    d++;
    if(
    d==Q)return(L);
      }
     }

    شكرا جزيلا ، الآن يعمل بشكل صحيح .


    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    لديك خطأ في الجزء
    كود PHP:
     if(ticket<=0){
       
    Sleep(500);
         
    RefreshRates();} 
    ticket ليس لها علاقة بالموضوع
    الداله OrderModify تعود بقيمتين ترو في حال تم عمل مودفاي بشكل صحيح وفولس في حال حدوث خطأ
    لذلك قمت بتعريف المتغير modified
    كود PHP:
    bool modified=OrderModify(ticket,OrderOpenPrice(),NormalizeDouble(SL,digits),NormalizeDouble(TP,digits),0,Blue); 
    بالتالي بدلا من ticket سوف تجعل
    كود PHP:
     if(modified==false){
       
    Sleep(500);
         
    RefreshRates();}
        ) 
    بعد التعديل النتائج اصبحت أفضل قليلا ، ولكن ظهر خطـأ جديد مع عدم عمل مودفاى للأوردر

    كود PHP:
    Modify error :130 


    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 8.JPG‏   9.JPG‏  
    الملفات المرفقة الملفات المرفقة
    آخر تعديل بواسطة spiders101 ، 04-07-2012 الساعة 01:19 AM

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

    افتراضي

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


    شكرا يا أستاذ
    أنا أقصد السبريد إلي بيتنفذ أثناء الباكتست يعني لما بفتح صفقة بتاريخ مثلا 1-1-2012 السبريد بيتجاب في الصفقة دي من ملف الهيستوري ولا بيتحسب على أساس السبريد إلي موجود هنا

    اضغط على الصورة لعرض أكبر

الاســـم:	rrr.png
المشاهدات:	171
الحجـــم:	7.3 كيلوبايت
الرقم:	329797

    ولو كان السبريد بيتجاب من ملفات الهيستوري ياترى في طريقة أعمله ثابت بمقدار معين فرضا 0 أو 0.00001
    وشكرا
    الداله
    كود PHP:
    MarketInfostring symbolint type
    تعود بقيمة البيانات المدرجه في نافذة Market Watch فالإكسبرت يجلب من هذه النافذه ولو لاحظت عند عمل باك تست سوف تجد خانة Symbol properties لو ضغطت عليها سوف تجد جميع بيانات العمله التي ستعمل لها الباك تست ومنها الإسبريد
    يمكن تغيير الإسبريد في الميتاتريدر وبما أنك ذكرت السؤال فسوف أشرحها في موضوع مستقل
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة spiders101 مشاهدة المشاركة
    شكرا جزيلا ، الآن يعمل بشكل صحيح .




    بعد التعديل النتائج اصبحت أفضل قليلا ، ولكن ظهر خطـأ جديد مع عدم عمل مودفاى للأوردر

    كود PHP:
    Modify error :130 


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

  6. #2391
    الصورة الرمزية Mr. Bader
    Mr. Bader غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Dec 2011
    الإقامة
    اليمن
    المشاركات
    597

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    التعديل بسيط سوف تستخدم الداله
    كود PHP:
    SetIndexShiftint indexint shift
    للتحريك الخطوط للخلف تستخدم الرقم بالسالب ولتحريك الخطوط للأمام تستخدم الرقم بالموجب
    أضفت متغير Shift_Number

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

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

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

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    لديك أخطاء أخرى في شروط وضع الهدف والأستوب لوز
    كود PHP:
           if(UseRecTP)TP=(Ask+TP_R);
           if(
    UseRecSL)SL=(Ask-SL_R); 
    فما إنك ستضع الأوامر معلقه فلن تستخدم سعر البيد والأسك لكن ستستخدم سعر وضع الأمر المعلق وتضيف عليه عدد نقاط الهدف أو الأستوب لوز
    أيضا إستخدم الداله NormalizeDouble مع السعر
    مثلا
    كود PHP:
     OrderSend(Symbol(),OP_BUYSTOP,Lots1,NormalizeDouble(buy,Digits),3,SL,TP,"first",MagicNumber,0,Green); 
    حتى تحل مشاكل الأخطاء في الأسعار
    شكرا جزيلا أخي أسامه تم التعديل و الإكسبيرت يضع الأوامر الآن و لكن لاحظت ان الإكسبيرت يضع فقط الباي ستوب و لا يضع السيل ستوب و عندما أقوم بإلغاء تفعيل الباي ستوب أو مسح شروط الباي ستوب أجده يضع السيل ستوب ... و لا يضع الإثنان معا لا اعلم لماذا ؟؟
    أيضا لاحظت تأخر الإكسبيرت حتى يتفعل لمده تصل خمس دقائق ..
    رجاء الإطلاع
    و بارك الله فيك
    الإكســــــــــــــــــبيرت
    الملفات المرفقة الملفات المرفقة
    توقيع العضو
    MetaTrader Login: 652105
    Investor Password: Z3UR9DA0

  8. #2393
    الصورة الرمزية spiders101
    spiders101 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2011
    الإقامة
    مصــر
    المشاركات
    935

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

    استاذ اسامة ، الاكسيبرت المرفق بعد إضافة مضاعفات فيبوناتشي ظهرت مشكلة بسيطة ، وهى انه بعد فتح صفقة رابحة وبعدها صفقة خاسرة الصفقة التى تليها يتم حساب المضاعفات لها بطريقة خطـأ ، وانا أريد ان يبدأ فـ فتح صفقات المضاعفات مرة أخرى بنفس الطريقة 1-2-3-5-8-13-21-34-55-89 وذلك بعد آخر صفقة أغلقت على خسارة ، مرفق صورة للتوضيح .
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 99999999999999.JPG‏  
    الملفات المرفقة الملفات المرفقة

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

    افتراضي

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


    شكرا جزيلا أخي أسامه تم التعديل و الإكسبيرت يضع الأوامر الآن و لكن لاحظت ان الإكسبيرت يضع فقط الباي ستوب و لا يضع السيل ستوب و عندما أقوم بإلغاء تفعيل الباي ستوب أو مسح شروط الباي ستوب أجده يضع السيل ستوب ... و لا يضع الإثنان معا لا اعلم لماذا ؟؟
    أيضا لاحظت تأخر الإكسبيرت حتى يتفعل لمده تصل خمس دقائق ..
    رجاء الإطلاع
    و بارك الله فيك
    الإكســــــــــــــــــبيرت
    هذا لأنك وضعت الشرط
    كود PHP:
    MyBuyPendingOrdersTotal(MagicNumber)==
    فبالتالي عندما يضع الأمر المعلق الأول وعند المقارنه مره أخرى مع الأمر الثاني فلن يتحقق هذا الشرط بالتالي لن يضعه
    إجعل شروط أوامر البيع والشراء المعلقه في جملة شرطيه واحده
    مثال :
    كود PHP:
      if (MyBuyPendingOrdersTotal(MagicNumber)==&& Time0!=Time[0]) {
          if((
    TimeCurrent()-LastClosedOrderTime())/60/60>=99999){
          
       
        if(
    StopLoss==0||HideSL){SL=0;}else{SL=Ask-StopLoss*point;}
        if(
    TakeProfit==0||HideTP){TP=0;}else{TP=Ask+TakeProfit*point;}
         if(
    UseRecTP)TP=(buy+TP_R);
           if(
    UseRecSL)SL=(buy-SL_R);
               
          if(
    USE_BUYSTOP==TRUEOrderSend(Symbol(),OP_BUYSTOP,Lots1,NormalizeDouble(buy,Digits),3,SL,TP,"first",MagicNumber,0,Green);
                   
    ////////
        
    if(StopLoss==0||HideSL){SL=0;}else{SL=Bid+StopLoss*point;}
        if(
    TakeProfit==0||HideTP){TP=0;}else{TP=Bid-TakeProfit*point;}
        if(
    UseRecTP)TP=(sell-TP_R);
           if(
    UseRecSL)SL=(sell+SL_R);
          
           if(
    USE_SELLSTOP==TRUE)  OrderSend(Symbol(),OP_SELLSTOP,Lots1,NormalizeDouble(sell,Digits),3,SL,TP,"first" ,MagicNumber,0,Green);
              
    PlaySound("Alert.wav");
                
    Time0=Time[0];
                    
                 
            }  
           } 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  10. #2395
    الصورة الرمزية spiders101
    spiders101 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2011
    الإقامة
    مصــر
    المشاركات
    935

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

    استاذ اسامة ، كيف اضيف خاصية الـ UseMoneyManagement للاكسيبرت المرفق
    الملفات المرفقة الملفات المرفقة

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة spiders101 مشاهدة المشاركة
    استاذ اسامة ، الاكسيبرت المرفق بعد إضافة مضاعفات فيبوناتشي ظهرت مشكلة بسيطة ، وهى انه بعد فتح صفقة رابحة وبعدها صفقة خاسرة الصفقة التى تليها يتم حساب المضاعفات لها بطريقة خطـأ ، وانا أريد ان يبدأ فـ فتح صفقات المضاعفات مرة أخرى بنفس الطريقة 1-2-3-5-8-13-21-34-55-89 وذلك بعد آخر صفقة أغلقت على خسارة ، مرفق صورة للتوضيح .
    السبب في الآتي
    المفروض في أول صفقه خاسره مثلا 1 لوت فالمضاعفه الأولى تكون 1 لوت أيضا ثم المضاعفه الثانيه يتم جميع آخر صفقتين وهكذا
    لذلك يجب أن تضيف شرط إذا كانت أول صفقه خاسره فحجم اللوت سيكون نفسه
    يمكنك عمل داله لحساب عدد الصفقات الخاسره المتتاليه
    كود PHP:
    int NumberOfLosses(){
    int N;
     for(
    int i=OrdersHistoryTotal();i>=0;i--){
      
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
       if(
    OrderProfit()>0){ 
        return(
    N);
       } 
       else{
        
    N++;
       }
      }
     }
    return(
    N);

    ثم ستضيف شرط
    كود PHP:
    if(WinorLoss()==false){
    if(
    NumberOfLosses()==1)Lots=LastLot(MagicNumber,1);
    else {
    Lots=LastLot(MagicNumber,1)+LastLot(MagicNumber,2);}

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

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

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

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    هذا لأنك وضعت الشرط
    كود PHP:
    MyBuyPendingOrdersTotal(MagicNumber)==
    فبالتالي عندما يضع الأمر المعلق الأول وعند المقارنه مره أخرى مع الأمر الثاني فلن يتحقق هذا الشرط بالتالي لن يضعه
    إجعل شروط أوامر البيع والشراء المعلقه في جملة شرطيه واحده
    مثال :
    كود PHP:
      if (MyBuyPendingOrdersTotal(MagicNumber)==&& Time0!=Time[0]) {
          if((
    TimeCurrent()-LastClosedOrderTime())/60/60>=99999){
          
       
        if(
    StopLoss==0||HideSL){SL=0;}else{SL=Ask-StopLoss*point;}
        if(
    TakeProfit==0||HideTP){TP=0;}else{TP=Ask+TakeProfit*point;}
         if(
    UseRecTP)TP=(buy+TP_R);
           if(
    UseRecSL)SL=(buy-SL_R);
               
          if(
    USE_BUYSTOP==TRUEOrderSend(Symbol(),OP_BUYSTOP,Lots1,NormalizeDouble(buy,Digits),3,SL,TP,"first",MagicNumber,0,Green);
                   
    ////////
        
    if(StopLoss==0||HideSL){SL=0;}else{SL=Bid+StopLoss*point;}
        if(
    TakeProfit==0||HideTP){TP=0;}else{TP=Bid-TakeProfit*point;}
        if(
    UseRecTP)TP=(sell-TP_R);
           if(
    UseRecSL)SL=(sell+SL_R);
          
           if(
    USE_SELLSTOP==TRUE)  OrderSend(Symbol(),OP_SELLSTOP,Lots1,NormalizeDouble(sell,Digits),3,SL,TP,"first" ,MagicNumber,0,Green);
              
    PlaySound("Alert.wav");
                
    Time0=Time[0];
                    
                 
            }  
           } 
    شكرا أخي أسامه تم حل المشكله و بارك الله فيك ..
    لكن ما سبب تأخر الإكسبيرت حتى يتفعل و يضع الأوامر و ما حل هذه المشكله .
    توقيع العضو
    MetaTrader Login: 652105
    Investor Password: Z3UR9DA0

  13. #2398
    الصورة الرمزية spiders101
    spiders101 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2011
    الإقامة
    مصــر
    المشاركات
    935

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

    اقتباس المشاركة الأصلية كتبت بواسطة spiders101 مشاهدة المشاركة
    استاذ اسامة ، كيف اضيف خاصية الـ UseMoneyManagement للاكسيبرت المرفق
    قمت بإضافة الخاصية للاكسيبرت ولكن وجدت الكود كتب بشكل مختلف فـ اكسيبرت آخر .

    دالة LotManage()

    كود PHP:
      double LotManage(){
     
    double lot MathCeil(AccountBalance() *  RiskPercent 1000) / 100;
        if(
    lot<MarketInfo(Symbol(),MODE_MINLOT))lot=MarketInfo(Symbol(),MODE_MINLOT);
          if(
    lot>MarketInfo(Symbol(),MODE_MAXLOT))lot=MarketInfo(Symbol(),MODE_MAXLOT);
            return (
    NormalizeDouble(lot,Lot_Digits));
          } 
    وتم تعريف الـ
    كود PHP:
    extern int    Lot_Digits=2
    لماذا تم وضع Lot_Digits مع الـ lot فـ أمر الـ return
    الملفات المرفقة الملفات المرفقة

  14. #2399
    الصورة الرمزية spiders101
    spiders101 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2011
    الإقامة
    مصــر
    المشاركات
    935

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

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

    انا استخدمت من قبل هذا الكود لعمل ذلك
    كود PHP:
    if(profit(OP_BUY)<||profit(OP_SELL)<&& Use_Mult==true){Lots=lastlot2()*Multiplier;}
    else {
    Lots=Firstlot;} 
    وقمت بتعريف دوال
    كود PHP:
    double profit(int type)
     {
     
    double pr
     for(
    int i =0;i<OrdersTotal();i++){
     
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
     if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&& type==OrderType()){
     
    pr=OrderProfit();  // Profit For last opened Trade olny , If ALL opened Trades Use pr=pr+OrderProfit(); //       
        
      
    }
     }

       return(
    pr);
       } 
    كود PHP:
     double lastlot2(){
     for(
    int i=0;i<OrdersTotal();i++){
     
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
     if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
     
    double lotsnumber=OrderLots();

    }


    return(
    lotsnumber);


    وتعريف متغير خارجى
    كود PHP:
    extern bool Use_Mult=false

    ولكن الغريب ان الاكسيبرت لايفتح العقود بإستخدام خاصية MoneyManagement مع وجود هذا الشرط فـ الاكسيبرت وعند حذفه تعمل الخاصية !!
    الملفات المرفقة الملفات المرفقة
    آخر تعديل بواسطة spiders101 ، 05-07-2012 الساعة 04:07 AM

  15. #2400
    الصورة الرمزية xcv114
    xcv114 غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Oct 2010
    الإقامة
    مصر
    المشاركات
    1,022

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

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

    انا استخدمت من قبل هذا الكود لعمل ذلك
    كود PHP:
    if(profit(OP_BUY)<||profit(OP_SELL)<&& Use_Mult==true){Lots=lastlot2()*Multiplier;}
    else {
    Lots=Firstlot;} 
    وقمت بتعريف دوال
    كود PHP:
    double profit(int type)
     {
     
    double pr
     for(
    int i =0;i<OrdersTotal();i++){
     
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
     if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&& type==OrderType()){
     
    pr=OrderProfit();  // Profit For last opened Trade olny , If ALL opened Trades Use pr=pr+OrderProfit(); //       
        
      
    }
     }

       return(
    pr);
       } 
    كود PHP:
     double lastlot2(){
     for(
    int i=0;i<OrdersTotal();i++){
     
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
     if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
     
    double lotsnumber=OrderLots();

    }


    return(
    lotsnumber);


    وتعريف متغير خارجى
    كود PHP:
    extern bool Use_Mult=false

    ولكن الغريب ان الاكسيبرت لايفتح العقود بإستخدام خاصية MoneyManagement مع وجود هذا الشرط فـ الاكسيبرت وعند حذفه تعمل الخاصية !!
    حاول يا محمد تجمع أكواد الإكسبيرت شوية منعا للخبطة

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

    حاول تجمعهم في شرط واحد في إستارت بحيث تكون عارف مع كل حالة اللوت النهائي هيكون إية بإستخدام if و else if
    يعني مثلا بالشكل ده
    كود PHP:
    if(profit()<&& Use_Mult==true){Lots=lastlot2()*Multiplier;} 
    else if(
    profit()>&& UseMoneyManagement==true){Lots=LotManage();}  
    else if(
    UseMultiplier&& WinorLoss()==false){Lots=lastlot()*Multiplier;} 
    وطبعا إنت تعدل في الكود لإن ده مجرد مثال
    ورتب الشروط بحيث ما يكونش في تضارب بينها
    --------------
    التضارب عندك في إنك إستخدمت
    كود PHP:
    else {Lots=Firstlot;} 
    وبما إن الإكسبيرت يقرأ من فوق لتحت فإنه يمر على شرط UseMoneyManagement ويحدد اللوت
    ولو الصفقة الأخيرة رابحة أو Use_Mult==false فإنه سيمر على شرط
    كود PHP:
    else {Lots=Firstlot;} 
    ويقوم بتغير اللوت مرة أخرى

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

  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