صفحة 258 من 689 الأولىالأولى ... 158208248252253254255256257258259260261262263264268308358 ... الأخيرةالأخيرة
النتائج 3,856 إلى 3,870 من 10335
  1. #3856
    الصورة الرمزية abou fares
    abou fares  غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2012
    الإقامة
    السعودية
    المشاركات
    275

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

    جمعة مباركة على الجميع

    استفسار اجد احيانا في اعدادات مؤشرات البايفوت اعدادات خارجية مثل هذه اموجودة في الصورة المرفقة هل ممكن ان تشرحوا لي كيفية استخدامهاالصحيح والتوقيت الصحييح ؟
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة gmt.png‏  

  2. #3857
    الصورة الرمزية abou fares
    abou fares  غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2012
    الإقامة
    السعودية
    المشاركات
    275

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

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    أدخل على مكان تنصيب الميتاتريدر سوف تجلد ملف أكسل بإسم DDE-Sample سوف تجد به مثال لكيفية إستدعاء الهاي واللو وسعر الشراء وسعر البيع والتوقيت
    مثلا سعر الهاي يكون
    كود PHP:
    =MT4|HIGH!EURUSD 
    وسعر اللو
    كود PHP:
    =MT4|LOW!EURUSD 
    شكرا مستر دولار لقد حاولت سابقا بنفس هذه الطريقة ولكن لم انجح اظن ان المشكلة عندي من رنامج الاكسيل 2010 سوف احاول تنزيل 2007 واجرب

    هناك تساؤل اذا كان لدي عدة منصات ميتاتريد فمن اي منصة سوف يقرا ملف الاكسيل ؟ وشكرا سلفا

  3. #3858
    الصورة الرمزية ziyadiah
    ziyadiah غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2012
    المشاركات
    67

    افتراضي

    السلام عليكم ورحمة الله وبركاته


    جمعه مباركة للجميع

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

    افتراضي

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

  5. #3860
    الصورة الرمزية ziyadiah
    ziyadiah غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2012
    المشاركات
    67

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة abou fares مشاهدة المشاركة
    شكرا مستر دولار لقد حاولت سابقا بنفس هذه الطريقة ولكن لم انجح اظن ان المشكلة عندي من رنامج الاكسيل 2010 سوف احاول تنزيل 2007 واجرب

    هناك تساؤل اذا كان لدي عدة منصات ميتاتريد فمن اي منصة سوف يقرا ملف الاكسيل ؟ وشكرا سلفا
    اضيف على سؤال اخي ابو فارس

    ماهي المعادلة لقرائة الهاي واللو والاغلاق لليوم السابق حيث ان المعادلات التي بالاقتاس قرأت البيانات لليوم الحالي ؟؟؟؟

    ولكم جزيل الشكر

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

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

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

    قمت بعمل داله تحسب عدد الصفقات المغلقه
    كود PHP:
    int closedorderno(){
     
    int cnt=0;
       for(
    int i =OrdersHistoryTotal();i>=0;i--){
         if(  
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)  ){
           if(
    OrderSymbol()==Symbol()&& MagicNumber==OrderMagicNumber() ){
             
    cnt++;
             
           }
         }
       }
      
        return(
    cnt);
       
      } 
    وداله تعود بكلمة ربح أو خساره
    كود PHP:
    string last()
    {
      
      for(
    int i=OrdersHistoryTotal();i>=0;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()&& Time0!=Time[0]) return("profit");
             if(
    OrderType()==OP_SELL  && OrderClosePrice()>=OrderOpenPrice()&& Time0!=Time[0]) return("loss");
            
           }
        
        }

    return(
    "none");

    و داله تحسب اللوت بناءا على عدد الصفقات المغلقه
    كود PHP:
    double new(){
     
    double newLot;
        
    double A=closedorderno();
          
          
           if(
    A==1)newLot=Lot2;
           if(
    A==2)newLot=Lot3;
           if(
    A==3)newLot=Lot4;
           if(
    A==4)newLot=Lot5;
           if(
    A==5)newLot=Lot6;
           if(
    A==6)newLot=Lot7;
           if(
    A==7)newLot=Lot8;
           if(
    A==8)newLot=Lot9;
           if(
    A==9)newLot=Lot10;
           if(
    A==10)newLot=Lot11;
           if(
    A==11)newLot=Lot12;
           if(
    A==12)newLot=Lot13;
           if(
    A==13)newLot=Lot14;
           if(
    A==14)newLot=Lot15;
         
          
       return(
    newLot);
       } 
    ثم وضعت بالشروط قبل البيع و الشراء الكود :
    كود PHP:
    if (last()=="loss"){Lots=new();}else if(last()=="profit" || (last()!="profit" && last()!="loss")  ) {Lots=Lot1;} 
    ولكن يحدث اخطاء في حساب اللوت لان دالة حساب عدد الصفقات المغلقه تبحث في كل الصفقات واريدها ان تبحث من جديد بعد كل ربح .
    انا وجدت حلا بتغيير الماجيك بعد كل ربح
    كود PHP:
    if (last()=="profit")MagicNumber++ ; 
    ولكن اريد حلا آخر بعد إذنك ..
    و جزاك الله خيرا .
    وعليكم السلام ورحمة الله وبركاته
    أسهل حل هو أن تجعل دالة حساب عدد الصفقات المغلقه تحسب آخر صفقات مغلقه خاسره بالتالي إذا كانت آخر صفقة مغلقه رابحه فسوف يكون عدد الصفقات الخاسره = 0 وبالتالي يبدأ من جديد
    مثال
    كود PHP:
    int closedorderno(){
     
    int cnt=0;
       for(
    int i =OrdersHistoryTotal()-1;i>=0;i--){
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){
           if(
    OrderSymbol()==Symbol()&& MagicNumber==OrderMagicNumber() ){
             if(
    OrderProfit()<0)cnt++;
             else return(
    cnt);
           }
         }
       } 
      return(
    cnt);
       
      } 
    ولن تحتاج الدالة التي تعود بقيمة الربح أو الخساره
    لكن قم بتعديل بسيط فقط في دالة حساب حجم اللوت بأن تضع خيار إذا كان عدد الصفقات الخاسره = 0
    كود PHP:
    double new(){
     
    double newLot;
        
    double A=closedorderno();
          
           if(
    A==0)newLot=FirstLot;
           if(
    A==1)newLot=Lot2;
           if(
    A==2)newLot=Lot3;
           if(
    A==3)newLot=Lot4;
           if(
    A==4)newLot=Lot5;
           if(
    A==5)newLot=Lot6;
           if(
    A==6)newLot=Lot7;
           if(
    A==7)newLot=Lot8;
           if(
    A==8)newLot=Lot9;
           if(
    A==9)newLot=Lot10;
           if(
    A==10)newLot=Lot11;
           if(
    A==11)newLot=Lot12;
           if(
    A==12)newLot=Lot13;
           if(
    A==13)newLot=Lot14;
           if(
    A==14)newLot=Lot15;
         
          
       return(
    newLot);
       } 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة bodisaudi مشاهدة المشاركة
    شكرا للرد
    هل من الممكن وضع الستة خطوط
    ثلاثه على القيمة الموجبة
    ثلاثه على القيمة السالبة
    مع إمكانية تعديلها من بسيطة إلى أسية أو العكس

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

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

    افتراضي

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

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

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

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

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

    اقتباس المشاركة الأصلية كتبت بواسطة abou fares مشاهدة المشاركة
    شكرا مستر دولار لقد حاولت سابقا بنفس هذه الطريقة ولكن لم انجح اظن ان المشكلة عندي من رنامج الاكسيل 2010 سوف احاول تنزيل 2007 واجرب

    هناك تساؤل اذا كان لدي عدة منصات ميتاتريد فمن اي منصة سوف يقرا ملف الاكسيل ؟ وشكرا سلفا
    تأكد من تفعيل خيار Enable DDE serve في الميتاتريدر
    سوف تجده في الخيارات
    Tools----------->Options------------>Server

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

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

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

    اقتباس المشاركة الأصلية كتبت بواسطة imaddine1986 مشاهدة المشاركة
    السلام عليكم
    ممكن مساعدة في دالة المضاعفات بحيث لو اغلقت
    الصفقة على خسارة يكون الدخول في الصفقة التي بعدها
    بمضاعف الى ان تاتي صفقة موجبة فيبدا من جديد
    وعليكم السلام ورحمة الله وبركاته
    سوف تقوم بعمل داله لمعرفة حجم آخر صفقه رابحه أو خساره
    كود PHP:
    double LastOrderProfit()
    {
     for(
    int i=OrdersHistoryTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       return(
    OrderProfit());
      }
     }
     return(
    0);

    وداله لمعرفة حجم لوت آخر صفقه
    كود PHP:
    double LastOrderLots()
    {
     for(
    int i=OrdersHistoryTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       return(
    OrderLots());
      }
     }
     return(
    0);

    ثم ستضع في شروط فتح الصفقه
    كود PHP:
    if(LastOrderProfit()<0)NewLot=LastOrderLots9)*2
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  11. #3866
    الصورة الرمزية abou fares
    abou fares  غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2012
    الإقامة
    السعودية
    المشاركات
    275

    افتراضي

    شكرا استاذ اسامة بارك الله فيك وجعل هذا العمل في ميزان حسناتك

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

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

    كود PHP:

    #include <stdlib.mqh>
    #include <WinUser32.mqh>

    // exported variables
    extern double SellLots11 0.01;
    extern int SellStoploss11 0;
    extern int SellTakeprofit11 40;
    extern double BuyLots13 0.01;
    extern int BuyStoploss13 0;
    extern int BuyTakeprofit13 30;
    extern double SellLots15 0.01;
    extern int SellStoploss15 0;
    extern int SellTakeprofit15 20;


    // local variables
    double PipValue=1;    // this variable is here to support 5-digit brokers
    bool Terminated false;
    string LF "\n";  // use this in custom or utility blocks where you need line feeds
    int NDigits 4;   // used mostly for NormalizeDouble in Flex type blocks
    int ObjCount 0;  // count of all objects created on the chart, allows creation of objects with unique names
    int current 0;



    int init()
    {
        
    NDigits Digits;
        
        if (
    falseObjectsDeleteAll();      // clear the chart
        
        
        
    Comment("");    // clear the chart
    }

    // Expert start
    int start()
    {
        if (
    Bars 10)
        {
            
    Comment("Not enough bars");
            return (
    0);
        }
        if (
    Terminated == true)
        {
            
    Comment("EA Terminated.");
            return (
    0);
        }
        
        
    OnEveryTick1();
        
    }

    void OnEveryTick1()
    {
        if (
    true == false && falsePipValue 10;
        if (
    true && (NDigits == || NDigits == 5)) PipValue 10;
        
        
    IfOrderDoesNotExist10();
        
    }

    void IfOrderDoesNotExist10()
    {
        
    bool exists false;
        for (
    int i=OrdersTotal()-1>= 0i--)
        if (
    OrderSelect(iSELECT_BY_POSMODE_TRADES))
        {
            if (
    OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == 1)
            {
                
    exists true;
            }
        }
        else
        {
            Print(
    "OrderSelect() error - "ErrorDescription(GetLastError()));
        }
        
        if (
    exists == false)
        {
            
    SellOrder11();
            
        }
    }

    void SellOrder11()
    {
        
    double SL Bid SellStoploss11*PipValue*Point;
        if (
    SellStoploss11 == 0SL 0;
        
    double TP Bid SellTakeprofit11*PipValue*Point;
        if (
    SellTakeprofit11 == 0TP 0;
        
    int ticket = -1;
        if (
    true)
        
    ticket OrderSend(Symbol(), OP_SELLSellLots11Bid700"My Expert"10Red);
        else
        
    ticket OrderSend(Symbol(), OP_SELLSellLots11Bid7SLTP"My Expert"10Red);
        if (
    ticket > -1)
        {
            if (
    true)
            {
                
    OrderSelect(ticketSELECT_BY_TICKET);
                
    bool ret OrderModify(OrderTicket(), OrderOpenPrice(), SLTP0Red);
                if (
    ret == false)
                Print(
    "OrderModify() error - "ErrorDescription(GetLastError()));
            }
            
    IfOrderDoesNotExist12();
            
        }
        else
        {
            Print(
    "OrderSend() error - "ErrorDescription(GetLastError()));
        }
    }


    11111111111111111vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv


    void IfOrderDoesNotExist12
    ()
    {
        
    bool exists false;
        for (
    int i=OrdersTotal()-1>= 0i--)
        if (
    OrderSelect(iSELECT_BY_POSMODE_TRADES))
        {
            if (
    OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == 2)
            {
                
    exists true;
            }
        }
        else
        {
            Print(
    "OrderSelect() error - "ErrorDescription(GetLastError()));
        }
        
        if (
    exists == false)
        {
            
    BuyOrder13();
            
        }
    }

    void BuyOrder13()
    {
        
    double SL Ask BuyStoploss13*PipValue*Point;
        if (
    BuyStoploss13 == 0SL 0;
        
    double TP Ask BuyTakeprofit13*PipValue*Point;
        if (
    BuyTakeprofit13 == 0TP 0;
        
    int ticket = -1;
        if (
    true)
        
    ticket OrderSend(Symbol(), OP_BUYBuyLots13Ask400"My Expert"20Blue);
        else
        
    ticket OrderSend(Symbol(), OP_BUYBuyLots13Ask4SLTP"My Expert"20Blue);
        if (
    ticket > -1)
        {
            if (
    true)
            {
                
    OrderSelect(ticketSELECT_BY_TICKET);
                
    bool ret OrderModify(OrderTicket(), OrderOpenPrice(), SLTP0Blue);
                if (
    ret == false)
                Print(
    "OrderModify() error - "ErrorDescription(GetLastError()));
            }
            
    IfOrderDoesNotExist14();
            
        }
        else
        {
            Print(
    "OrderSend() error - "ErrorDescription(GetLastError()));
        }
    }



    2222222222222222222vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv



    void IfOrderDoesNotExist14
    ()
    {
        
    bool exists false;
        for (
    int i=OrdersTotal()-1>= 0i--)
        if (
    OrderSelect(iSELECT_BY_POSMODE_TRADES))
        {
            if (
    OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == 3)
            {
                
    exists true;
            }
        }
        else
        {
            Print(
    "OrderSelect() error - "ErrorDescription(GetLastError()));
        }
        
        if (
    exists == false)
        {
            
    SellOrder15();
            
        }
    }

    void SellOrder15()
    {
        
    double SL Bid SellStoploss15*PipValue*Point;
        if (
    SellStoploss15 == 0SL 0;
        
    double TP Bid SellTakeprofit15*PipValue*Point;
        if (
    SellTakeprofit15 == 0TP 0;
        
    int ticket = -1;
        if (
    true)
        
    ticket OrderSend(Symbol(), OP_SELLSellLots15Bid400"My Expert"30Red);
        else
        
    ticket OrderSend(Symbol(), OP_SELLSellLots15Bid4SLTP"My Expert"30Red);
        if (
    ticket > -1)
        {
            if (
    true)
            {
                
    OrderSelect(ticketSELECT_BY_TICKET);
                
    bool ret OrderModify(OrderTicket(), OrderOpenPrice(), SLTP0Red);
                if (
    ret == false)
                Print(
    "OrderModify() error - "ErrorDescription(GetLastError()));
            }
                
        }
        else
        {
            Print(
    "OrderSend() error - "ErrorDescription(GetLastError()));
        }
    }



    int deinit()
    {
        if (
    falseObjectsDeleteAll(); 
    عملت اكسبرت فكرته يفتح صفقة باتجاه واذا ارتد السعر بعدد نقاط معين يقوم بفتح صفقة في الاتجاه الاخر وهكذا

    ارجو مساعدتك اخي الكريم جزاك الله خير
    في كتابة الكود اللازم لكي يقوم بفتح صفقة معاكسة اذا ارتد السعر بعدد من النقاط وماكن وضعه في الاكسبرت بحيث( اقدر اغير عدد النقاط زي ما انا عاوز )
    انا سايب علامات
    1111vvvvvv
    2222vvvvvvv
    اماكن وضع الكود
    انا جديد في برمجة الاكسبرتات واستعنت ببرنامج Forex EA Generatorفي الاكسبرت ده

    اخيرا .. هل الاكسبرت ده ينفع يشتغل على اكتر من شارت في نفس الوقت من غير ميحصل لخبطة في الصفقات؟

  13. #3868
    الصورة الرمزية سمير محمد ارمان
    سمير محمد ارمان غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2009
    الإقامة
    مصر
    المشاركات
    834

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

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



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

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

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    أسهل حل هو أن تجعل دالة حساب عدد الصفقات المغلقه تحسب آخر صفقات مغلقه خاسره بالتالي إذا كانت آخر صفقة مغلقه رابحه فسوف يكون عدد الصفقات الخاسره = 0 وبالتالي يبدأ من جديد
    مثال
    كود PHP:
    int closedorderno(){
     
    int cnt=0;
       for(
    int i =OrdersHistoryTotal()-1;i>=0;i--){
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){
           if(
    OrderSymbol()==Symbol()&& MagicNumber==OrderMagicNumber() ){
             if(
    OrderProfit()<0)cnt++;
             else return(
    cnt);
           }
         }
       } 
      return(
    cnt);
       
      } 
    ولن تحتاج الدالة التي تعود بقيمة الربح أو الخساره
    لكن قم بتعديل بسيط فقط في دالة حساب حجم اللوت بأن تضع خيار إذا كان عدد الصفقات الخاسره = 0
    كود PHP:
    double new(){
     
    double newLot;
        
    double A=closedorderno();
          
           if(
    A==0)newLot=FirstLot;
           if(
    A==1)newLot=Lot2;
           if(
    A==2)newLot=Lot3;
           if(
    A==3)newLot=Lot4;
           if(
    A==4)newLot=Lot5;
           if(
    A==5)newLot=Lot6;
           if(
    A==6)newLot=Lot7;
           if(
    A==7)newLot=Lot8;
           if(
    A==8)newLot=Lot9;
           if(
    A==9)newLot=Lot10;
           if(
    A==10)newLot=Lot11;
           if(
    A==11)newLot=Lot12;
           if(
    A==12)newLot=Lot13;
           if(
    A==13)newLot=Lot14;
           if(
    A==14)newLot=Lot15;
         
          
       return(
    newLot);
       } 

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

  15. #3870
    الصورة الرمزية turkm
    turkm غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Oct 2011
    المشاركات
    1,626

    افتراضي

    السلام عليكم أستاذنا الغالي أسامة وكل الأخوة الاكارم

    سؤالي هل يوجد أمر لتحويل الرقم العشري الى ثنائي في الـ mql وإذا لم يوجد فهل هناك دالة لعمل ذلك على حد علمك لأنني بحثت ولم أجد

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

  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