صفحة 273 من 686 الأولىالأولى ... 173223263267268269270271272273274275276277278279283323373 ... الأخيرةالأخيرة
النتائج 4,081 إلى 4,095 من 10278
  1. #4081
    الصورة الرمزية Jmeel
    Jmeel غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Sep 2008
    الإقامة
    في أرض الله
    المشاركات
    7,610

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

    [QUOTE=zzeyani;2675552]مرحبا أيها الاصدقاء أحتج مساعدتكم على تعديل هدا السكريبت .
    هو سكريبت موفينغ 5 close و open و قف الخصارة على 40 .
    المشكلة هي أريده أن "لا يغلق أي الصفقات الرابحة أقل من 40 نقطة ."
    هدا هو السكريبت وشرا لكم جميعا.

    كود PHP:
    //+------------------------------------------------------------------+ 
    //| This MQL is generated by Expert Advisor Builder                  | 
    //|                http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/ | 
    //|                                                                  | 
    //|  In no event will author be liable for any damages whatsoever.   | 
    //|                      Use at your own risk.                       | 
    //|                                                                  | 
    //+------------------- DO NOT REMOVE THIS HEADER --------------------+ 

    #define SIGNAL_NONE 0 
    #define SIGNAL_BUY   1 
    #define SIGNAL_SELL  2 
    #define SIGNAL_CLOSEBUY 3 
    #define SIGNAL_CLOSESELL 4 

    #property copyright "Expert Advisor Builder" 
    #property link      "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/" 

    extern int MagicNumber 0
    extern bool SignalMail False
    extern bool EachTickMode True
    extern double Lots 1.0
    extern int Slippage 3
    extern bool UseStopLoss True
    extern int StopLoss 40
    extern bool UseTakeProfit False
    extern int TakeProfit 60
    extern bool UseTrailingStop False
    extern int TrailingStop 30

    int BarCount
    int Current
    bool TickCheck False
    //+------------------------------------------------------------------+ 
    //| expert initialization function                                   | 
    //+------------------------------------------------------------------+ 
    int init() { 
       
    BarCount Bars

       if (
    EachTickModeCurrent 0; else Current 1

       return(
    0); 

    //+------------------------------------------------------------------+ 
    //| expert deinitialization function                                 | 
    //+------------------------------------------------------------------+ 
    int deinit() { 
       return(
    0); 

    //+------------------------------------------------------------------+ 
    //| expert start function                                            | 
    //+------------------------------------------------------------------+ 
    int start() { 
       
    int Order SIGNAL_NONE
       
    int TotalTicket
       
    double StopLossLevelTakeProfitLevel



       if (
    EachTickMode && Bars != BarCountTickCheck False
       
    Total OrdersTotal(); 
       
    Order SIGNAL_NONE

       
    //+------------------------------------------------------------------+ 
       //| Variable Begin                                                   | 
       //+------------------------------------------------------------------+ 


    double Buy1_1 iMA(NULL050MODE_SMAPRICE_CLOSECurrent 1); 
    double Buy1_2 iMA(NULL050MODE_SMAPRICE_OPENCurrent 1); 
    double Buy2_1 iMA(NULL050MODE_SMAPRICE_CLOSECurrent 2); 
    double Buy2_2 iMA(NULL050MODE_SMAPRICE_OPENCurrent 2); 

    double Sell1_1 iMA(NULL050MODE_SMAPRICE_CLOSECurrent 1); 
    double Sell1_2 iMA(NULL050MODE_SMAPRICE_OPENCurrent 1); 
    double Sell2_1 iMA(NULL050MODE_SMAPRICE_CLOSECurrent 2); 
    double Sell2_2 iMA(NULL050MODE_SMAPRICE_OPENCurrent 2); 

    double CloseBuy1_1 iMA(NULL050MODE_SMAPRICE_CLOSECurrent 1); 
    double CloseBuy1_2 iMA(NULL050MODE_SMAPRICE_OPENCurrent 1); 

    double CloseSell1_1 iMA(NULL050MODE_SMAPRICE_CLOSECurrent 1); 
    double CloseSell1_2 iMA(NULL050MODE_SMAPRICE_OPENCurrent 1); 

        
       
    //+------------------------------------------------------------------+ 
       //| Variable End                                                     | 
       //+------------------------------------------------------------------+ 

       //Check position 
       
    bool IsTrade False

       for (
    int i 0Total++) { 
          
    OrderSelect(iSELECT_BY_POSMODE_TRADES); 
          if(
    OrderType() <= OP_SELL &&  OrderSymbol() == Symbol()) { 
             
    IsTrade True
             if(
    OrderType() == OP_BUY) { 
                
    //Close 

                //+------------------------------------------------------------------+ 
                //| Signal Begin(Exit Buy)                                           | 
                //+------------------------------------------------------------------+ 

                        
    if (CloseBuy1_1 CloseBuy1_2Order SIGNAL_CLOSEBUY


                
    //+------------------------------------------------------------------+ 
                //| Signal End(Exit Buy)                                             | 
                //+------------------------------------------------------------------+ 

                
    if (Order == SIGNAL_CLOSEBUY&&(OrderProfit()<0||OrderProfit()>=TakeProfit)&&(
                (
    EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { 
                   
    OrderClose(OrderTicket(), OrderLots(), BidSlippageMediumSeaGreen); 
                   if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(BidDigits) + " Close Buy"); 
                   if (!
    EachTickModeBarCount Bars
                   
    IsTrade False
                   continue; 
                } 
                
    //Trailing stop 
                
    if(UseTrailingStop && TrailingStop 0) {                  
                   if(
    Bid OrderOpenPrice() > Point TrailingStop) { 
                      if(
    OrderStopLoss() < Bid Point TrailingStop) { 
                         
    OrderModify(OrderTicket(), OrderOpenPrice(), Bid Point TrailingStopOrderTakeProfit(), 0MediumSeaGreen); 
                         if (!
    EachTickModeBarCount Bars
                         continue; 
                      } 
                   } 
                } 
             } else { 
                
    //Close 

                //+------------------------------------------------------------------+ 
                //| Signal Begin(Exit Sell)                                          | 
                //+------------------------------------------------------------------+ 

                         
    if (CloseSell1_1 CloseSell1_2Order SIGNAL_CLOSESELL


                
    //+------------------------------------------------------------------+ 
                //| Signal End(Exit Sell)                                            | 
                //+------------------------------------------------------------------+ 

                
    if (Order == SIGNAL_CLOSESELL&&(OrderProfit()<0||OrderProfit()>=TakeProfit)&&
                ((
    EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { 
                   
    OrderClose(OrderTicket(), OrderLots(), AskSlippageDarkOrange); 
                   if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(AskDigits) + " Close Sell"); 
                   if (!
    EachTickModeBarCount Bars
                   
    IsTrade False
                   continue; 
                } 
                
    //Trailing stop 
                
    if(UseTrailingStop && TrailingStop 0) {                  
                   if((
    OrderOpenPrice() - Ask) > (Point TrailingStop)) { 
                      if((
    OrderStopLoss() > (Ask Point TrailingStop)) || (OrderStopLoss() == 0)) { 
                         
    OrderModify(OrderTicket(), OrderOpenPrice(), Ask Point TrailingStopOrderTakeProfit(), 0DarkOrange); 
                         if (!
    EachTickModeBarCount Bars
                         continue; 
                      } 
                   } 
                } 
             } 
          } 
       } 

       
    //+------------------------------------------------------------------+ 
       //| Signal Begin(Entry)                                              | 
       //+------------------------------------------------------------------+ 

       
    if (Buy1_1 Buy1_2 && Buy2_1 <= Buy2_2Order SIGNAL_BUY

       if (
    Sell1_1 Sell1_2 && Sell2_1 >= Sell2_2Order SIGNAL_SELL


       
    //+------------------------------------------------------------------+ 
       //| Signal End                                                       | 
       //+------------------------------------------------------------------+ 

       //Buy 
       
    if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { 
          if(!
    IsTrade) { 
             
    //Check free margin 
             
    if (AccountFreeMargin() < (1000 Lots)) { 
                Print(
    "We have no money. Free Margin = "AccountFreeMargin()); 
                return(
    0); 
             } 

             if (
    UseStopLossStopLossLevel Ask StopLoss Point; else StopLossLevel 0.0
             if (
    UseTakeProfitTakeProfitLevel Ask TakeProfit Point; else TakeProfitLevel 0.0

             
    Ticket OrderSend(Symbol(), OP_BUYLotsAskSlippageStopLossLevelTakeProfitLevel"Buy(#" MagicNumber ")"MagicNumber0DodgerBlue); 
             if(
    Ticket 0) { 
                if (
    OrderSelect(TicketSELECT_BY_TICKETMODE_TRADES)) { 
                    Print(
    "BUY order opened : "OrderOpenPrice()); 
                    if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(AskDigits) + " Open Buy"); 
                } else { 
                    Print(
    "Error opening BUY order : "GetLastError()); 
                } 
             } 
             if (
    EachTickModeTickCheck True
             if (!
    EachTickModeBarCount Bars
             return(
    0); 
          } 
       } 

       
    //Sell 
       
    if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { 
          if(!
    IsTrade) { 
             
    //Check free margin 
             
    if (AccountFreeMargin() < (1000 Lots)) { 
                Print(
    "We have no money. Free Margin = "AccountFreeMargin()); 
                return(
    0); 
             } 

             if (
    UseStopLossStopLossLevel Bid StopLoss Point; else StopLossLevel 0.0
             if (
    UseTakeProfitTakeProfitLevel Bid TakeProfit Point; else TakeProfitLevel 0.0

             
    Ticket OrderSend(Symbol(), OP_SELLLotsBidSlippageStopLossLevelTakeProfitLevel"Sell(#" MagicNumber ")"MagicNumber0DeepPink); 
             if(
    Ticket 0) { 
                if (
    OrderSelect(TicketSELECT_BY_TICKETMODE_TRADES)) { 
                    Print(
    "SELL order opened : "OrderOpenPrice()); 
                    if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(BidDigits) + " Open Sell"); 
                } else { 
                    Print(
    "Error opening SELL order : "GetLastError()); 
                } 
             } 
             if (
    EachTickModeTickCheck True
             if (!
    EachTickModeBarCount Bars
             return(
    0); 
          } 
       } 

       if (!
    EachTickModeBarCount Bars

       return(
    0); 

    //+------------------------------------------------------------------+ 
    تفضل تم التعديل ولن يغلق على اقل من الرقم الذي ستضعه في التارجت حتى وإن كان التارجت فالس .
    توقيع العضو
    اعتذر لمن لن أتمكن من تنفيذ طلبه بسبب عدم قناعتي بالفكرة

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

    افتراضي

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


    أشكرك جدا أخي الكريم abou fares بارك الله فيك
    يبدو أن هذا المنتدى مليء بالكنوز والتي ليس لها إلا عنوان واحد
    Made By MR.dollar
    قمت بتنزل أخر نسخة من الاكسبرت وللاسف لا يعمل معي ويظهر في الجورنال ان الاكسبرت تم ازالتة removed ولا أدري ما السبب ولا يعمل إطلاقا
    مرفق النسخة الأخيرة من الاكسبرت
    استاذ وليد لا الاكسبيرت يعمل ولكن حاول بتغير حجم اللوت او الماجيك نمبر او غير البروكر

  3. #4083
    الصورة الرمزية kira-h
    kira-h غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Oct 2011
    الإقامة
    المغرب
    المشاركات
    1,334

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

    السلام عليكم ورحمة الله وبركاته
    تحية طيبة للجميع على رأسهم الأستاذ الكريم مستر دولار

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


    بالمرفقات اكسبيرت الأوامر المعلقة MR.dollar_Pending Orders EA V4.6
    قمت ببعض التعديلات الطفيفة لتتناسب مع فكرتي ولم يتبقى إلا جزئية الكلوز باي
    كود PHP:
    int GetTicketNumber(int type)
    {
     for(
    int i=0;i<OrdersTotal();i++)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
      {
       return(
    OrderTicket());
      }
    }
    return(-
    1);
    }  

    void Closeby() 

    if(
    orderscnt(OP_BUY)>0&&orderscnt(OP_SELL)>0)
       { 
        
    int ticket1=GetTicketNumber(OP_BUY); 
        
    int ticket2=GetTicketNumber(OP_SELL); 
        
    OrderCloseBy(ticket1,ticket2,Red); 
       } 
    }  

    void CheckOpenOrdersBuy1()
    {
        
    double profit 0;
        for (
    int i=OrdersTotal()-1>= 0i--)
        {
            if (
    OrderSelect(iSELECT_BY_POSMODE_TRADES))
            {
                if (
    true || OrderSymbol() == Symbol()&& OrderMagicNumber() == MagicNumber&&OrderType() == OP_BUY)
                {
                    
    profit += OrderProfit();
                }
            }
        }
        
        if (
    profit BuyProfit1)
        {
         
    CheckOpenOrdersSell1();       
        }


    void CheckOpenOrdersSell1()
    {
        
    double profit 0;
        for (
    int i=OrdersTotal()-1>= 0i--)
        {
            if (
    OrderSelect(iSELECT_BY_POSMODE_TRADES))
            {
                if (
    true || OrderSymbol() == Symbol()&& OrderMagicNumber() == MagicNumber&&OrderType() == OP_SELL)
                {
                    
    profit += OrderProfit();
                }
            }
        }
        
        if (
    profit SellProfit1)
        {
         
    Closeby();       
        }
    }                 
     
    void CheckOpenOrdersBuy2()
    {
        
    double profit 0;
        for (
    int i=OrdersTotal()-1>= 0i--)
        {
            if (
    OrderSelect(iSELECT_BY_POSMODE_TRADES))
            {
                if (
    true || OrderSymbol() == Symbol()&& OrderMagicNumber() == MagicNumber&&OrderType() == OP_BUY)
                {
                    
    profit += OrderProfit();
                }
            }
        }
        
        if (
    profit BuyProfit1)
        {
         
    CheckOpenOrdersSell2();       
        }


    void CheckOpenOrdersSell2()
    {
        
    double profit 0;
        for (
    int i=OrdersTotal()-1>= 0i--)
        {
            if (
    OrderSelect(iSELECT_BY_POSMODE_TRADES))
            {
                if (
    true || OrderSymbol() == Symbol()&& OrderMagicNumber() == MagicNumber&&OrderType() == OP_SELL)
                {
                    
    profit += OrderProfit();
                }
            }
        }
        
        if (
    profit SellProfit2)
        {
         
    Closeby();       
        }

    بانتظار التصحيح وجزاكم الله خيرا
    آخر تعديل بواسطة kira-h ، 29-06-2013 الساعة 12:05 AM
    توقيع العضو
    متداول فوركس، ومبرمج mql

  4. #4084
    الصورة الرمزية zzeyani
    zzeyani غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2012
    الإقامة
    المغرب
    المشاركات
    67

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

    [QUOTE=Jmeel;2675635]
    اقتباس المشاركة الأصلية كتبت بواسطة zzeyani مشاهدة المشاركة
    مرحبا أيها الاصدقاء أحتج مساعدتكم على تعديل هدا السكريبت .
    هو سكريبت موفينغ 5 close و open و قف الخصارة على 40 .
    المشكلة هي أريده أن "لا يغلق أي الصفقات الرابحة أقل من 40 نقطة ."
    هدا هو السكريبت وشرا لكم جميعا.

    كود PHP:
    //+------------------------------------------------------------------+ 
    //| This MQL is generated by Expert Advisor Builder                  | 
    //|                http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/ | 
    //|                                                                  | 
    //|  In no event will author be liable for any damages whatsoever.   | 
    //|                      Use at your own risk.                       | 
    //|                                                                  | 
    //+------------------- DO NOT REMOVE THIS HEADER --------------------+ 

    #define SIGNAL_NONE 0 
    #define SIGNAL_BUY   1 
    #define SIGNAL_SELL  2 
    #define SIGNAL_CLOSEBUY 3 
    #define SIGNAL_CLOSESELL 4 

    #property copyright "Expert Advisor Builder" 
    #property link      "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/" 

    extern int MagicNumber 0
    extern bool SignalMail False
    extern bool EachTickMode True
    extern double Lots 1.0
    extern int Slippage 3
    extern bool UseStopLoss True
    extern int StopLoss 40
    extern bool UseTakeProfit False
    extern int TakeProfit 60
    extern bool UseTrailingStop False
    extern int TrailingStop 30

    int BarCount
    int Current
    bool TickCheck False
    //+------------------------------------------------------------------+ 
    //| expert initialization function                                   | 
    //+------------------------------------------------------------------+ 
    int init() { 
       
    BarCount Bars

       if (
    EachTickModeCurrent 0; else Current 1

       return(
    0); 

    //+------------------------------------------------------------------+ 
    //| expert deinitialization function                                 | 
    //+------------------------------------------------------------------+ 
    int deinit() { 
       return(
    0); 

    //+------------------------------------------------------------------+ 
    //| expert start function                                            | 
    //+------------------------------------------------------------------+ 
    int start() { 
       
    int Order SIGNAL_NONE
       
    int TotalTicket
       
    double StopLossLevelTakeProfitLevel



       if (
    EachTickMode && Bars != BarCountTickCheck False
       
    Total OrdersTotal(); 
       
    Order SIGNAL_NONE

       
    //+------------------------------------------------------------------+ 
       //| Variable Begin                                                   | 
       //+------------------------------------------------------------------+ 


    double Buy1_1 iMA(NULL050MODE_SMAPRICE_CLOSECurrent 1); 
    double Buy1_2 iMA(NULL050MODE_SMAPRICE_OPENCurrent 1); 
    double Buy2_1 iMA(NULL050MODE_SMAPRICE_CLOSECurrent 2); 
    double Buy2_2 iMA(NULL050MODE_SMAPRICE_OPENCurrent 2); 

    double Sell1_1 iMA(NULL050MODE_SMAPRICE_CLOSECurrent 1); 
    double Sell1_2 iMA(NULL050MODE_SMAPRICE_OPENCurrent 1); 
    double Sell2_1 iMA(NULL050MODE_SMAPRICE_CLOSECurrent 2); 
    double Sell2_2 iMA(NULL050MODE_SMAPRICE_OPENCurrent 2); 

    double CloseBuy1_1 iMA(NULL050MODE_SMAPRICE_CLOSECurrent 1); 
    double CloseBuy1_2 iMA(NULL050MODE_SMAPRICE_OPENCurrent 1); 

    double CloseSell1_1 iMA(NULL050MODE_SMAPRICE_CLOSECurrent 1); 
    double CloseSell1_2 iMA(NULL050MODE_SMAPRICE_OPENCurrent 1); 

        
       
    //+------------------------------------------------------------------+ 
       //| Variable End                                                     | 
       //+------------------------------------------------------------------+ 

       //Check position 
       
    bool IsTrade False

       for (
    int i 0Total++) { 
          
    OrderSelect(iSELECT_BY_POSMODE_TRADES); 
          if(
    OrderType() <= OP_SELL &&  OrderSymbol() == Symbol()) { 
             
    IsTrade True
             if(
    OrderType() == OP_BUY) { 
                
    //Close 

                //+------------------------------------------------------------------+ 
                //| Signal Begin(Exit Buy)                                           | 
                //+------------------------------------------------------------------+ 

                        
    if (CloseBuy1_1 CloseBuy1_2Order SIGNAL_CLOSEBUY


                
    //+------------------------------------------------------------------+ 
                //| Signal End(Exit Buy)                                             | 
                //+------------------------------------------------------------------+ 

                
    if (Order == SIGNAL_CLOSEBUY&&(OrderProfit()<0||OrderProfit()>=TakeProfit)&&(
                (
    EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { 
                   
    OrderClose(OrderTicket(), OrderLots(), BidSlippageMediumSeaGreen); 
                   if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(BidDigits) + " Close Buy"); 
                   if (!
    EachTickModeBarCount Bars
                   
    IsTrade False
                   continue; 
                } 
                
    //Trailing stop 
                
    if(UseTrailingStop && TrailingStop 0) {                  
                   if(
    Bid OrderOpenPrice() > Point TrailingStop) { 
                      if(
    OrderStopLoss() < Bid Point TrailingStop) { 
                         
    OrderModify(OrderTicket(), OrderOpenPrice(), Bid Point TrailingStopOrderTakeProfit(), 0MediumSeaGreen); 
                         if (!
    EachTickModeBarCount Bars
                         continue; 
                      } 
                   } 
                } 
             } else { 
                
    //Close 

                //+------------------------------------------------------------------+ 
                //| Signal Begin(Exit Sell)                                          | 
                //+------------------------------------------------------------------+ 

                         
    if (CloseSell1_1 CloseSell1_2Order SIGNAL_CLOSESELL


                
    //+------------------------------------------------------------------+ 
                //| Signal End(Exit Sell)                                            | 
                //+------------------------------------------------------------------+ 

                
    if (Order == SIGNAL_CLOSESELL&&(OrderProfit()<0||OrderProfit()>=TakeProfit)&&
                ((
    EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { 
                   
    OrderClose(OrderTicket(), OrderLots(), AskSlippageDarkOrange); 
                   if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(AskDigits) + " Close Sell"); 
                   if (!
    EachTickModeBarCount Bars
                   
    IsTrade False
                   continue; 
                } 
                
    //Trailing stop 
                
    if(UseTrailingStop && TrailingStop 0) {                  
                   if((
    OrderOpenPrice() - Ask) > (Point TrailingStop)) { 
                      if((
    OrderStopLoss() > (Ask Point TrailingStop)) || (OrderStopLoss() == 0)) { 
                         
    OrderModify(OrderTicket(), OrderOpenPrice(), Ask Point TrailingStopOrderTakeProfit(), 0DarkOrange); 
                         if (!
    EachTickModeBarCount Bars
                         continue; 
                      } 
                   } 
                } 
             } 
          } 
       } 

       
    //+------------------------------------------------------------------+ 
       //| Signal Begin(Entry)                                              | 
       //+------------------------------------------------------------------+ 

       
    if (Buy1_1 Buy1_2 && Buy2_1 <= Buy2_2Order SIGNAL_BUY

       if (
    Sell1_1 Sell1_2 && Sell2_1 >= Sell2_2Order SIGNAL_SELL


       
    //+------------------------------------------------------------------+ 
       //| Signal End                                                       | 
       //+------------------------------------------------------------------+ 

       //Buy 
       
    if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { 
          if(!
    IsTrade) { 
             
    //Check free margin 
             
    if (AccountFreeMargin() < (1000 Lots)) { 
                Print(
    "We have no money. Free Margin = "AccountFreeMargin()); 
                return(
    0); 
             } 

             if (
    UseStopLossStopLossLevel Ask StopLoss Point; else StopLossLevel 0.0
             if (
    UseTakeProfitTakeProfitLevel Ask TakeProfit Point; else TakeProfitLevel 0.0

             
    Ticket OrderSend(Symbol(), OP_BUYLotsAskSlippageStopLossLevelTakeProfitLevel"Buy(#" MagicNumber ")"MagicNumber0DodgerBlue); 
             if(
    Ticket 0) { 
                if (
    OrderSelect(TicketSELECT_BY_TICKETMODE_TRADES)) { 
                    Print(
    "BUY order opened : "OrderOpenPrice()); 
                    if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(AskDigits) + " Open Buy"); 
                } else { 
                    Print(
    "Error opening BUY order : "GetLastError()); 
                } 
             } 
             if (
    EachTickModeTickCheck True
             if (!
    EachTickModeBarCount Bars
             return(
    0); 
          } 
       } 

       
    //Sell 
       
    if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { 
          if(!
    IsTrade) { 
             
    //Check free margin 
             
    if (AccountFreeMargin() < (1000 Lots)) { 
                Print(
    "We have no money. Free Margin = "AccountFreeMargin()); 
                return(
    0); 
             } 

             if (
    UseStopLossStopLossLevel Bid StopLoss Point; else StopLossLevel 0.0
             if (
    UseTakeProfitTakeProfitLevel Bid TakeProfit Point; else TakeProfitLevel 0.0

             
    Ticket OrderSend(Symbol(), OP_SELLLotsBidSlippageStopLossLevelTakeProfitLevel"Sell(#" MagicNumber ")"MagicNumber0DeepPink); 
             if(
    Ticket 0) { 
                if (
    OrderSelect(TicketSELECT_BY_TICKETMODE_TRADES)) { 
                    Print(
    "SELL order opened : "OrderOpenPrice()); 
                    if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(BidDigits) + " Open Sell"); 
                } else { 
                    Print(
    "Error opening SELL order : "GetLastError()); 
                } 
             } 
             if (
    EachTickModeTickCheck True
             if (!
    EachTickModeBarCount Bars
             return(
    0); 
          } 
       } 

       if (!
    EachTickModeBarCount Bars

       return(
    0); 

    //+------------------------------------------------------------------+ 
    تفضل تم التعديل ولن يغلق على اقل من الرقم الذي ستضعه في التارجت حتى وإن كان التارجت فالس .
    عفوا أخي لاكني لم ألاحض تغيرا علي السكريبت

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

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

    [COLOR="Blue"][SIZE="3"][I][QUOTE=zzeyani;2675746]
    اقتباس المشاركة الأصلية كتبت بواسطة Jmeel مشاهدة المشاركة


    عفوا أخي لاكني لم ألاحض تغيرا علي السكريبت


    تفضل الأكسبيرت اعمل باك تست ستجد ان الأوامر التي تغلق على ربح لن تكون اقل من 40 . اما الأوامر الخاسرة فستغلق على خسارة كما هي ، اليس هذا طلبك ؟؟
    الملفات المرفقة الملفات المرفقة
    توقيع العضو
    اعتذر لمن لن أتمكن من تنفيذ طلبه بسبب عدم قناعتي بالفكرة

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة kira-h مشاهدة المشاركة
    السلام عليكم ورحمة الله وبركاته
    تحية طيبة للجميع على رأسهم الأستاذ الكريم مستر دولار

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


    بالمرفقات اكسبيرت الأوامر المعلقة MR.dollar_Pending Orders EA V4.6
    قمت ببعض التعديلات الطفيفة لتتناسب مع فكرتي ولم يتبقى إلا جزئية الكلوز باي
    كود PHP:
    int GetTicketNumber(int type)
    {
     for(
    int i=0;i<OrdersTotal();i++)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
      {
       return(
    OrderTicket());
      }
    }
    return(-
    1);
    }  

    void Closeby() 

    if(
    orderscnt(OP_BUY)>0&&orderscnt(OP_SELL)>0)
       { 
        
    int ticket1=GetTicketNumber(OP_BUY); 
        
    int ticket2=GetTicketNumber(OP_SELL); 
        
    OrderCloseBy(ticket1,ticket2,Red); 
       } 
    }  

    void CheckOpenOrdersBuy1()
    {
        
    double profit 0;
        for (
    int i=OrdersTotal()-1>= 0i--)
        {
            if (
    OrderSelect(iSELECT_BY_POSMODE_TRADES))
            {
                if (
    true || OrderSymbol() == Symbol()&& OrderMagicNumber() == MagicNumber&&OrderType() == OP_BUY)
                {
                    
    profit += OrderProfit();
                }
            }
        }
        
        if (
    profit BuyProfit1)
        {
         
    CheckOpenOrdersSell1();       
        }


    void CheckOpenOrdersSell1()
    {
        
    double profit 0;
        for (
    int i=OrdersTotal()-1>= 0i--)
        {
            if (
    OrderSelect(iSELECT_BY_POSMODE_TRADES))
            {
                if (
    true || OrderSymbol() == Symbol()&& OrderMagicNumber() == MagicNumber&&OrderType() == OP_SELL)
                {
                    
    profit += OrderProfit();
                }
            }
        }
        
        if (
    profit SellProfit1)
        {
         
    Closeby();       
        }
    }                 
     
    void CheckOpenOrdersBuy2()
    {
        
    double profit 0;
        for (
    int i=OrdersTotal()-1>= 0i--)
        {
            if (
    OrderSelect(iSELECT_BY_POSMODE_TRADES))
            {
                if (
    true || OrderSymbol() == Symbol()&& OrderMagicNumber() == MagicNumber&&OrderType() == OP_BUY)
                {
                    
    profit += OrderProfit();
                }
            }
        }
        
        if (
    profit BuyProfit1)
        {
         
    CheckOpenOrdersSell2();       
        }


    void CheckOpenOrdersSell2()
    {
        
    double profit 0;
        for (
    int i=OrdersTotal()-1>= 0i--)
        {
            if (
    OrderSelect(iSELECT_BY_POSMODE_TRADES))
            {
                if (
    true || OrderSymbol() == Symbol()&& OrderMagicNumber() == MagicNumber&&OrderType() == OP_SELL)
                {
                    
    profit += OrderProfit();
                }
            }
        }
        
        if (
    profit SellProfit2)
        {
         
    Closeby();       
        }

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

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

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

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

    توضيح اخر
    الصفقة الاولى بيع 1 لوت يفتح شراء ستوب على بعد Step بـ 3 لوت ثم بيع ستوب بـ 6 لوت ثم شراء ستوب بـ 12 لوت الخ
    اما اذا كانت الصفقة الأولى شراء 1 لوت يفتح بيع ستوب بـ 3 لوت ثم شراء ستوب بـ 6 لوت ثم بيع ستوب بـ 12 لوت وهكذا

    اخي وليد ببساطة بنهاية دالة البيع ستضيف اورد تعليق باي ستوب واللوت ستجعله نفس اللوت في هذه الدالة مضروب في 3 . ستجد الأمر اسهل من البحث في الدوال .
    توقيع العضو
    اعتذر لمن لن أتمكن من تنفيذ طلبه بسبب عدم قناعتي بالفكرة

  8. #4088
    الصورة الرمزية zzeyani
    zzeyani غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2012
    الإقامة
    المغرب
    المشاركات
    67

    افتراضي

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

  9. #4089
    الصورة الرمزية zzeyani
    zzeyani غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2012
    الإقامة
    المغرب
    المشاركات
    67

    افتراضي

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

  10. #4090
    الصورة الرمزية zzeyani
    zzeyani غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2012
    الإقامة
    المغرب
    المشاركات
    67

    افتراضي

    [QUOTE=Jmeel;2675759]
    اقتباس المشاركة الأصلية كتبت بواسطة zzeyani مشاهدة المشاركة

    تفضل الأكسبيرت اعمل باك تست ستجد ان الأوامر التي تغلق على ربح لن تكون اقل من 40 . اما الأوامر الخاسرة فستغلق على خسارة كما هي ، اليس هذا طلبك ؟؟
    لم تفهمني يا أخي .
    الصفقات الخسرة تغلق على 40 نقطة خاسرة.
    أما الصفقات الرابحة تغلق على تقاطع الموفينغ و تغلق على أكتر من 40 نقطة رابحة.
    الون الاحمر هو المراد بروجته

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

    افتراضي

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

  12. #4092
    الصورة الرمزية kira-h
    kira-h غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Oct 2011
    الإقامة
    المغرب
    المشاركات
    1,334

    افتراضي

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


    وعليكم السلام ورحمة الله ، أخي حسن بالتأكيد عندك دالة اغلاق البيع ودالة اغلاق الشراء ، وكل الذي ستضيفه انه بنهاية دالة الشراء وقبل نهايتها ستنادي دالة اغلاق البيع وبالتالي مع كل عملية شراء ستغلق البيع الذي سبقتها .
    جزاك الله خيرا أ. جميل
    لكن هذه الطريقة خارجة عن الفكرة ! ماذا عن السوق الصاعد حيث البيع يغلق الشراء؟ ماذا عن الاغلاق كلوزباي على ربح؟ يعني سواء السوق صاعد أو هابط لابد من إغلاق مثلا شراء رابح ربحه أكبر من خسارة البيع أو بيع ربحه أكبر من خسارة الشراء! ودائما الاجمالي عند الاغلاق ربح
    نفرض مثلا حسب الصورة أسفلة
    السعر وصل لمستوى البيع التاني والنتائج كالتالي :
    صفقة الشراء1 محققة خسارة 100- نقطة
    صفقة البيع 1 محقق محقق ربح +70 نقطة
    صفقة الشراء 2 محقق خسارة -30 نقطة

    وبمجرد تفعيل صفقة البيع2 يتم إغلاق البيع 1 مع الشراء2 بالكلوزباي

    إجمالي الربح :
    70-30=+40
    ونخصم منها سبريد صفقة واحدة (-2) لأن الاغلاق تم بالـ closeby وبالتالي الربح الاجمالي بهذا الاغلاق +38 نقطة
    إذن في كل الاغلاقات سواء صاعد أو هابط دائما نخرج بربح +38 نقطة




    أرجو أن تكون الفكرة وضحت
    آخر تعديل بواسطة kira-h ، 29-06-2013 الساعة 01:01 PM
    توقيع العضو
    متداول فوركس، ومبرمج mql

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

    افتراضي

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

    السؤال ماذا عن الشراء الأول هل ستتركه بدون اغلاق ؟؟؟
    توقيع العضو
    اعتذر لمن لن أتمكن من تنفيذ طلبه بسبب عدم قناعتي بالفكرة

  14. #4094
    الصورة الرمزية kira-h
    kira-h غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Oct 2011
    الإقامة
    المغرب
    المشاركات
    1,334

    افتراضي

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

    السؤال ماذا عن الشراء الأول هل ستتركه بدون اغلاق ؟؟؟
    رائع أستاذ جميل بارك الله فيك
    ياريت مساعدة بدالة في حالة الهبوط
    بالنسبة لسؤالك نعم سيبقى الشراء الأول مفتوح ويتم حماية المارجن بالبيع التاني وهكذا إلى أن يعود السعر إلى نقطة الشراء الأول
    افتح شارت الويكلي وهتفهم قصدي
    محاصرة السعر من الاتجاهين مع إدارة صارمة للمال
    آخر تعديل بواسطة kira-h ، 30-06-2013 الساعة 02:51 AM
    توقيع العضو
    متداول فوركس، ومبرمج mql

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

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

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


    أشكرك جدا أخي الكريم abou fares بارك الله فيك
    يبدو أن هذا المنتدى مليء بالكنوز والتي ليس لها إلا عنوان واحد
    Made By MR.dollar
    قمت بتنزل أخر نسخة من الاكسبرت وللاسف لا يعمل معي ويظهر في الجورنال ان الاكسبرت تم ازالتة removed ولا أدري ما السبب ولا يعمل إطلاقا
    مرفق النسخة الأخيرة من الاكسبرت
    تفضل هذه آخر نسخه مرفقه
    ليس المهم أن تجرب الإكسبرت لكن راجع كود الإكسبرت حتى ترى مبدأ عمل الإكسبرت
    أيضا يوجد إكسبرت سوبلكس للمهندس وضاح تقريبا نفس مبدأ المضاعفات وفتح الصفقات
    الملفات المرفقة الملفات المرفقة
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

  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