صفحة 341 من 687 الأولىالأولى ... 241291331335336337338339340341342343344345346347351391441 ... الأخيرةالأخيرة
النتائج 5,101 إلى 5,115 من 10293
  1. #5101
    الصورة الرمزية karim771
    karim771 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Dec 2013
    الإقامة
    مصر
    العمر
    34
    المشاركات
    46

    افتراضي

    يا ريت مساعده فى الاكسبيرت ده

    بيدخل صفقه واحده بس مع وجود فرص لكذا عمله

    ريسك لم تفعل وبرضو مش عارف ليه

    يا ريت مساعده


    كود:
    #property copyright "Karim Mosua Copyright 2014"
    #property link      "[email protected]"
    #property version   "1.00"
    #property strict
    
    extern double Lot=1.0;
    extern bool UseMM = true;
    extern int Risk = 50;
    extern int  TakeProfit=0;
    extern int StopLoss=100;
    extern int MagicNumber=778;
    int  NextOrderType ;
    
    double Buys,Buyt,Sells,Sellt;
    int P,digits;
    datetime tim;
    datetime time0;
    int t;
    //+------------------------------------------------------------------+
    //| Expert initialization function                                   |
    //+------------------------------------------------------------------+
    int OnInit()
      {
    //---
    t=1; if(Digits==5||Digits==3||Digits==2){t=10;}
    //---
       return(INIT_SUCCEEDED);
      }
    //+------------------------------------------------------------------+
    //| Expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    void OnDeinit(const int reason)
      {
    //---
      Comment("[email protected]" );
      }
    //+------------------------------------------------------------------+
    //| Expert tick function                                             |
    //+------------------------------------------------------------------+
    void OnTick()
      {
    //---
       
        double Buy_1=iMA(Symbol(),0,5,2,MODE_SMA,PRICE_TYPICAL,1);
      // double Sell_1=iMA(Symbol(),0,5,2,MODE_SMA,PRICE_TYPICAL,2);
       
     
       
       
       double Buy_3=iCustom(Symbol(),0,"Synergy_APB",3,1);
       double Sell_3=iCustom(Symbol(),0,"Synergy_APB",2,1);
       
       double Buy_4=iCustom(Symbol(),0,"TDI Red Green)",4,1);
       double Sell_4=iCustom(Symbol(),0,"TDI Red Green)",5,1);
       
         double Buy_42=iCustom(Symbol(),0,"TDI Red Green)",4,2);
       double Sell_42=iCustom(Symbol(),0,"TDI Red Green)",5,2);
     
       
        if(Close[1]>Buy_1 &&Buy_42<Sell_42 && Buy_4>Sell_4 && time0!=Time[0]  ){
           if(OrdersTotal()==0){
              if(StopLoss==0)Buys = 0;
                else Buys = Ask-(StopLoss*Point*t);
                   if(TakeProfit==0)Buyt = 0;
                     else Buyt = Ask+(TakeProfit*Point*t);
                     if(GlobalVariableGet("NextOrderType")!=1)
            {
          
       OrderSend(Symbol(),OP_BUY,Lot,Ask,3*t,Buys,Buyt,"Karim.Mosua",MagicNumber,0,clrBlue);
          GlobalVariableSet("NextOrderType",1);
          time0=Time[0];
    }
      }
     }  
     
        if(Close[1]<Buy_1 &&Buy_42>Sell_42 && Buy_4<Sell_4 && time0!=Time[0]){
         
         if(OrdersTotal()==0){
      if(StopLoss==0)Sells = 0;
       else Sells = Bid+(StopLoss*Point*t);
        if(TakeProfit==0)Sellt = 0;
         else Sellt = Bid-(TakeProfit*Point*t);
                           if(GlobalVariableGet("NextOrderType")!=-1)
            {
    
       OrderSend(Symbol(),OP_SELL,Lot,Bid,3*t,Sells,Sellt,"Karim.Mosua",MagicNumber,0,clrRed);
          GlobalVariableSet("NextOrderType",-1);
          time0=Time[0];
    }
        
       }
      }
     } 
      
      
    //+------------------------------------------------------------------+
    
    double lots()
    {
     double xLot=MathCeil(AccountFreeMargin()*Risk/1000)/100;
      if(xLot<MarketInfo(Symbol(),MODE_MINLOT))
       Lot=MarketInfo(Symbol(),MODE_MINLOT);
        if(xLot>MarketInfo(Symbol(),MODE_MAXLOT))
         Lot=MarketInfo(Symbol(),MODE_MAXLOT);
          if(UseMM==true)xLot=lots();
          return(xLot);
           }

  2. #5102
    الصورة الرمزية daod
    daod غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2013
    المشاركات
    246

    افتراضي

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


    هو ان يقوم الاكسبيرت بالمتاجره بمبلغ معين وأن يكرر هذ المبلغ مره اخرى بعد فتره زمنيه محدده

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

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

    افتراضي

    السلام عليكم ورحمة الله وبركاته
    أستاذي الكريم أرجو المساعدة وجزاكم الله خيرا
    فضلا أريد دالة تستخرج مجموع آخر عدد الصفقات الخاسرة على التوالي بالهيستوري
    مثلا لدينا حسب الترتيب الزمني تصاعديا
    صفقة رابحة رقم 1
    صفقة خاسرة رقم 2
    صفقة رابحة رقم 3
    صفقة خاسرة رقم 4
    صفقة خاسرة رقم 5
    صفقة خاسرة رقم 6

    نتيجة المجموع هي = 3 صفقات خاسرة على التوالي
    وفضلا وكرما أريد دالة تحسب مجموع عدد الصفقات الاجمالي (الهيستوري + المفعلة)، منذ بداية اليوم الجديد حتى آخر صفقة مفعلة، وكل يوم يبدأ الحساب من جديد
    تحية ود وتقدير
    آخر تعديل بواسطة kira-h ، 24-04-2014 الساعة 06:11 AM
    توقيع العضو
    متداول فوركس، ومبرمج mql

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

    افتراضي

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

    كود:
     
    //|                                   test multiplier + TopTrend.mq4 |
    //|                                       Copyright 2011  Cher Amine |
    //|                                                [email protected] |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2011  Cher Amine formed by MR.Dollar :D"
    #property link      "[email protected]"
     
     
     extern string S1=" Parabolic Sar Settings";
     extern int Sar1TF=0;
     extern double Sar1Step=0.02;
     extern double Sar1Maximum=0.2;
     extern int Sar2TF=0;
     extern double Sar2Step=0.02;
     extern double Sar2Maximum=0.2;
     extern int Sar3TF=0;
     extern double Sar3Step=0.02;
     extern double Sar3Maximum=0.2;
     
     
    extern string  MM_Parameters = "---------- Money Management";
    extern double  lots = 0.1;
    extern int StopLoss=10;
    extern int TakeProfit=20;
    extern string PMultiplier ="----------Multiplier Parametre";
    extern bool UseMultiplier=false;
    extern double  Lots = 0.1;
    extern string XMultiplier ="----------X_Multiplier Parametre";
    extern bool X_Multiplier=true;
    extern double Multiplier=2;
     
     
    extern string S5="---------------- Order Management";
    extern bool opposit_Signal_Close = True;
    extern bool  UseHourTrade = True; 
    extern int FromHourTrade=7;
    extern int ToHourTrade=23;
    extern string comment="---------------- EA Style ";
    extern int MaxOrders=1;
    extern int MagicNumber=2533;
     
     
    double newLot;
    double X_lots;
     int Q;
     double point;
     int digits;
     
     
    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    int init()
      {
    //----
        if(Digits==5||Digits==3)Q=10;
      else Q=1;
        if(Digits<4)
       {
          point=0.01;
          digits=2;
       }
       else
       {
          point=0.0001;
          digits=4;
       }
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit()
      {
    //----
       
    //----
       return(0);
      }
      
    //**************************************************** MAX ORDERS *****************************************************************************
     
     
     int orderscnt(int type){
     int cnt=0;
       for(int i =0;i<OrdersTotal();i++){
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(OrderSymbol()==Symbol()&&OrderType()==type && MagicNumber==OrderMagicNumber()){
             cnt++;
           }
         }
       }
        return(cnt);
      }   
      
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start()
      {
    //----
      double sar1=iSAR(NULL,Sar1TF,Sar1Step,Sar1Maximum,0);
      double sar2=iSAR(NULL,Sar2TF,Sar2Step,Sar2Maximum,0);
      double sar3=iSAR(NULL,Sar1TF,Sar1Step,Sar1Maximum,0);
      
        //******************************  Multiplier And X_Multiplier Parametre ******************************  
       
    string last; 
    for(int i=OrdersHistoryTotal();i>=0;i--) 
     {//--1
       OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);  
       if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
         
        {//--2
           //for buy order
           if(OrderType()==OP_BUY && OrderClosePrice()>=OrderOpenPrice()) last="profit";
           if(OrderType()==OP_BUY && OrderClosePrice()<=OrderOpenPrice()) last="loss";
           X_lots=OrderLots();
      
           //for SELL order
           if(OrderType()==OP_SELL && OrderClosePrice()<=OrderOpenPrice()) last="profit";
           if(OrderType()==OP_SELL && OrderClosePrice()>=OrderOpenPrice()) last="loss";
           X_lots=OrderLots();
           break;
        }//--3
      }
           if(X_Multiplier && last=="loss"){//--a4
           newLot=Multiplier*X_lots;
           }//--a4
           
           else
           
           if(UseMultiplier && last=="loss" ){//--b4
           newLot=X_lots+Lots;
           }//--b4
           
           else
           
           if(last!="loss")
           {//--c4
           newLot=lots;
           }//--c4
             
       double SL,TP; 
       
           //--------- *----------- ************************************** Work Time *************************************************************************************
        
       if (UseHourTrade){
           if(!((FromHourTrade < ToHourTrade && TimeHour(TimeCurrent()) >= FromHourTrade && TimeHour(TimeCurrent()) < ToHourTrade) || (FromHourTrade > ToHourTrade && 
           TimeHour(TimeCurrent()) >= FromHourTrade ||
                   TimeHour(TimeCurrent()) < ToHourTrade))){
               Comment("Non-Trading Hours!");
               return(0);
             }
           }   
        
        //************************************************************************* OPEN - CLOSE - ORDERS ***********************************************
       double xStopLoss=StopLoss*Q;
       double xTakeProfit=TakeProfit*Q;
       
             if(sar1<Open[1]&&sar1>Open[2] &&sar2<Open[1]&&sar2>Open[2]&&sar3<Open[1]&&sar3>Open[2]&& (orderscnt(OP_BUY)<MaxOrders)){//--1
           
             if(xStopLoss==0){SL=0;}else{SL=Ask-xStopLoss*Point;}
               if(xTakeProfit==0){TP=0;}else{TP=Ask+xTakeProfit*Point;}
               
                OrderSend(Symbol(),OP_BUY,newLot,Ask,3*Q,SL,TP,"Cher90 EA",MagicNumber,0,Green);
                 PlaySound("Alert.wav");
                 }//--1
                                
        //****************************************************************************
                     
                     if(sar1>Open[1]&&sar1<Open[2] &&sar2>Open[1]&&sar2<Open[2]&&sar3>Open[1]&&sar3<Open[2] && (orderscnt(OP_SELL)<MaxOrders)){//--1
           
             if(xStopLoss==0){SL=0;}else{SL=Bid+xStopLoss*Point;}
               if(xTakeProfit==0){TP=0;}else{TP=Bid-xTakeProfit*Point;}
               
                OrderSend(Symbol(),OP_SELL,newLot,Bid,3*Q,SL,TP,"Cher90 EA",MagicNumber,0,Red); 
                 PlaySound("Alert.wav");
                 
                 }//--1
       
    //****************************************** CLOSE ORDERS ***************************************************************
     
     
          for (int cnt = OrdersTotal() ; cnt >= 0 ; cnt--)
      {//--1
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {//--2
          if (OrderType()==OP_BUY && OrderMagicNumber()==MagicNumber && opposit_Signal_Close )
          {//--3
            OrderClose(OrderTicket(),OrderLots(),Bid,3*Q);
          }//--3
          
          if (OrderType()==OP_SELL && OrderMagicNumber()==MagicNumber && opposit_Signal_Close)
          {//--4
            OrderClose(OrderTicket(),OrderLots(),Ask,3*Q);
          }//--4
        }//--2
        
      }//--1
      
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+

    السؤال الثاني ماهو كود الشراء لمؤشر rsi عندما يقطع خط السبعين ويرجع الى خط الخمسين من الخمسين يكون الشراء

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

    افتراضي

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

    بيدخل صفقه واحده بس مع وجود فرص لكذا عمله

    ريسك لم تفعل وبرضو مش عارف ليه

    يا ريت مساعده


    كود:
    #property copyright "Karim Mosua Copyright 2014"
    #property link      "[email protected]"
    #property version   "1.00"
    #property strict
     
    extern double Lot=1.0;
    extern bool UseMM = true;
    extern int Risk = 50;
    extern int  TakeProfit=0;
    extern int StopLoss=100;
    extern int MagicNumber=778;
    int  NextOrderType ;
     
    double Buys,Buyt,Sells,Sellt;
    int P,digits;
    datetime tim;
    datetime time0;
    int t;
    //+------------------------------------------------------------------+
    //| Expert initialization function                                   |
    //+------------------------------------------------------------------+
    int OnInit()
      {
    //---
    t=1; if(Digits==5||Digits==3||Digits==2){t=10;}
    //---
       return(INIT_SUCCEEDED);
      }
    //+------------------------------------------------------------------+
    //| Expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    void OnDeinit(const int reason)
      {
    //---
      Comment("[email protected]" );
      }
    //+------------------------------------------------------------------+
    //| Expert tick function                                             |
    //+------------------------------------------------------------------+
    void OnTick()
      {
    //---
       
        double Buy_1=iMA(Symbol(),0,5,2,MODE_SMA,PRICE_TYPICAL,1);
      // double Sell_1=iMA(Symbol(),0,5,2,MODE_SMA,PRICE_TYPICAL,2);
       
     
       
       
       double Buy_3=iCustom(Symbol(),0,"Synergy_APB",3,1);
       double Sell_3=iCustom(Symbol(),0,"Synergy_APB",2,1);
       
       double Buy_4=iCustom(Symbol(),0,"TDI Red Green)",4,1);
       double Sell_4=iCustom(Symbol(),0,"TDI Red Green)",5,1);
       
         double Buy_42=iCustom(Symbol(),0,"TDI Red Green)",4,2);
       double Sell_42=iCustom(Symbol(),0,"TDI Red Green)",5,2);
     
       
        if(Close[1]>Buy_1 &&Buy_42<Sell_42 && Buy_4>Sell_4 && time0!=Time[0]  ){
           if(OrdersTotal()==0){
              if(StopLoss==0)Buys = 0;
                else Buys = Ask-(StopLoss*Point*t);
                   if(TakeProfit==0)Buyt = 0;
                     else Buyt = Ask+(TakeProfit*Point*t);
                     if(GlobalVariableGet("NextOrderType")!=1)
            {
          
       OrderSend(Symbol(),OP_BUY,Lot,Ask,3*t,Buys,Buyt,"Karim.Mosua",MagicNumber,0,clrBlue);
          GlobalVariableSet("NextOrderType",1);
          time0=Time[0];
    }
      }
     }  
     
        if(Close[1]<Buy_1 &&Buy_42>Sell_42 && Buy_4<Sell_4 && time0!=Time[0]){
         
         if(OrdersTotal()==0){
      if(StopLoss==0)Sells = 0;
       else Sells = Bid+(StopLoss*Point*t);
        if(TakeProfit==0)Sellt = 0;
         else Sellt = Bid-(TakeProfit*Point*t);
                           if(GlobalVariableGet("NextOrderType")!=-1)
            {
     
       OrderSend(Symbol(),OP_SELL,Lot,Bid,3*t,Sells,Sellt,"Karim.Mosua",MagicNumber,0,clrRed);
          GlobalVariableSet("NextOrderType",-1);
          time0=Time[0];
    }
        
       }
      }
     } 
      
      
    //+------------------------------------------------------------------+
     
    double lots()
    {
     double xLot=MathCeil(AccountFreeMargin()*Risk/1000)/100;
      if(xLot<MarketInfo(Symbol(),MODE_MINLOT))
       Lot=MarketInfo(Symbol(),MODE_MINLOT);
        if(xLot>MarketInfo(Symbol(),MODE_MAXLOT))
         Lot=MarketInfo(Symbol(),MODE_MAXLOT);
          if(UseMM==true)xLot=lots();
          return(xLot);
           }
    انت كاتب هذا الشرط
    كود PHP:
    if(OrdersTotal()==0
    وبالتالي لن يسمح بوجود اكثر من صفقة حتى تغلق بأستوب أو بربح ثم يفتح صفقة أخرى
    توقيع العضو
    اعتذر لمن لن أتمكن من تنفيذ طلبه بسبب عدم قناعتي بالفكرة

  6. #5106
    الصورة الرمزية daod
    daod غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2013
    المشاركات
    246

    افتراضي

    اخ جميل لو تعرف اجابه لسؤالي اجب حتى نخفف على الاخ اسامه

  7. #5107
    الصورة الرمزية mohamedhoussen
    mohamedhoussen غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2011
    الإقامة
    الــقــاهرة
    المشاركات
    530

    افتراضي

    السلام عليكم

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

  8. #5108
    الصورة الرمزية daod
    daod غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2013
    المشاركات
    246

    افتراضي

    مافائده debugging في لغه meta editor الجديده وهل يمكن الاستغناء عنها؟

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

    افتراضي

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


    هو ان يقوم الاكسبيرت بالمتاجره بمبلغ معين وأن يكرر هذ المبلغ مره اخرى بعد فتره زمنيه محدده

    مثال على ذلك لتوضيح الفكره
    لنفترض ان المبلغ المعين او رأس المال هو 1000 دولار فالاكسبيرت سوف يبدا بهذا المبلغ عند الباك تيست لمده اسبوع ففي هذه الحاله قد يزيد مبلغ رأس المال في حاله الربح وقد ينقص مبلغ راس المال في حاله الخساره.
    مع بدايه الاسبوع الثاني يدخل من جديد بنفس المبلغ المعين وهو 1000 دولار وليس بالمبلغ الناتج من الاسبوع الاول او السابق.
    لايمكن تغيير الرصيد الأيتدائي initial Deposit من داخل الكود اثناء الباك تست .
    توقيع العضو
    اعتذر لمن لن أتمكن من تنفيذ طلبه بسبب عدم قناعتي بالفكرة

  10. #5110
    الصورة الرمزية maxjan
    maxjan غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2010
    الإقامة
    القاهرة
    المشاركات
    203

    افتراضي

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

  11. #5111
    الصورة الرمزية daod
    daod غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2013
    المشاركات
    246

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة Jmeel مشاهدة المشاركة
    لايمكن تغيير الرصيد الأيتدائي initial Deposit من داخل الكود اثناء الباك تست .
    ماهو الحل لمثل هذه المشكله؟؟؟؟اتمنى ان يكون لها حل وارجوا في هذه الحاله تدخل المستر دولار اخي اسامه

    اذا كانت صعبه وليس لها حل ابدا يمكن اعدل على الفكره

    هو انه عند الربح يجب ان يتاجر ا لاكسبيرت فقط بالراس المال ولا يمس المبلغ الذي ربحناه

    اما في حاله الخساره فيتاجر الاكسبيرت بما تبقى من راس المال.

    مثال كان راس المال عند الباك تست 10000 دولار فمبجرد ان يربح الاكسبيرت مثلا 1000دولار يترك الربح الذي هو 1000دولار على جنب ولا يمسه ويتاجر فقط براس المال 10000دولار

    اما في حاله الخساره فلا مشكله يضل يتاجر بماتبقى من راس مال يعني خسر 2000دولار يضل بتاجر بالباقي 8000دولار

    ان شاء الله تكون سهله ولها حل.
    آخر تعديل بواسطة daod ، 25-04-2014 الساعة 01:07 AM

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

    افتراضي

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

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

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

    افتراضي

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

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة daod مشاهدة المشاركة
    مافائده debugging في لغه meta editor الجديده وهل يمكن الاستغناء عنها؟
    الفائدة الأكبر لها هو تتبع الكود جزء جزء لإكتشاف الأخطاء نعم يمكنك عدم إستخدام ويكفي عمل كومبايل

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

    افتراضي

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

    كود:
     
    //|                                   test multiplier + TopTrend.mq4 |
    //|                                       Copyright 2011  Cher Amine |
    //|                                                [email protected] |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2011  Cher Amine formed by MR.Dollar :D"
    #property link      "[email protected]"
     
     
     extern string S1=" Parabolic Sar Settings";
     extern int Sar1TF=0;
     extern double Sar1Step=0.02;
     extern double Sar1Maximum=0.2;
     extern int Sar2TF=0;
     extern double Sar2Step=0.02;
     extern double Sar2Maximum=0.2;
     extern int Sar3TF=0;
     extern double Sar3Step=0.02;
     extern double Sar3Maximum=0.2;
     
     
    extern string  MM_Parameters = "---------- Money Management";
    extern double  lots = 0.1;
    extern int StopLoss=10;
    extern int TakeProfit=20;
    extern string PMultiplier ="----------Multiplier Parametre";
    extern bool UseMultiplier=false;
    extern double  Lots = 0.1;
    extern string XMultiplier ="----------X_Multiplier Parametre";
    extern bool X_Multiplier=true;
    extern double Multiplier=2;
     
     
    extern string S5="---------------- Order Management";
    extern bool opposit_Signal_Close = True;
    extern bool  UseHourTrade = True; 
    extern int FromHourTrade=7;
    extern int ToHourTrade=23;
    extern string comment="---------------- EA Style ";
    extern int MaxOrders=1;
    extern int MagicNumber=2533;
     
     
    double newLot;
    double X_lots;
     int Q;
     double point;
     int digits;
     
     
    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    int init()
      {
    //----
        if(Digits==5||Digits==3)Q=10;
      else Q=1;
        if(Digits<4)
       {
          point=0.01;
          digits=2;
       }
       else
       {
          point=0.0001;
          digits=4;
       }
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit()
      {
    //----
       
    //----
       return(0);
      }
      
    //**************************************************** MAX ORDERS *****************************************************************************
     
     
     int orderscnt(int type){
     int cnt=0;
       for(int i =0;i<OrdersTotal();i++){
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(OrderSymbol()==Symbol()&&OrderType()==type && MagicNumber==OrderMagicNumber()){
             cnt++;
           }
         }
       }
        return(cnt);
      }   
      
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start()
      {
    //----
      double sar1=iSAR(NULL,Sar1TF,Sar1Step,Sar1Maximum,0);
      double sar2=iSAR(NULL,Sar2TF,Sar2Step,Sar2Maximum,0);
      double sar3=iSAR(NULL,Sar1TF,Sar1Step,Sar1Maximum,0);
      
        //******************************  Multiplier And X_Multiplier Parametre ******************************  
       
    string last; 
    for(int i=OrdersHistoryTotal();i>=0;i--) 
     {//--1
       OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);  
       if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
         
        {//--2
           //for buy order
           if(OrderType()==OP_BUY && OrderClosePrice()>=OrderOpenPrice()) last="profit";
           if(OrderType()==OP_BUY && OrderClosePrice()<=OrderOpenPrice()) last="loss";
           X_lots=OrderLots();
      
           //for SELL order
           if(OrderType()==OP_SELL && OrderClosePrice()<=OrderOpenPrice()) last="profit";
           if(OrderType()==OP_SELL && OrderClosePrice()>=OrderOpenPrice()) last="loss";
           X_lots=OrderLots();
           break;
        }//--3
      }
           if(X_Multiplier && last=="loss"){//--a4
           newLot=Multiplier*X_lots;
           }//--a4
           
           else
           
           if(UseMultiplier && last=="loss" ){//--b4
           newLot=X_lots+Lots;
           }//--b4
           
           else
           
           if(last!="loss")
           {//--c4
           newLot=lots;
           }//--c4
             
       double SL,TP; 
       
           //--------- *----------- ************************************** Work Time *************************************************************************************
        
       if (UseHourTrade){
           if(!((FromHourTrade < ToHourTrade && TimeHour(TimeCurrent()) >= FromHourTrade && TimeHour(TimeCurrent()) < ToHourTrade) || (FromHourTrade > ToHourTrade && 
           TimeHour(TimeCurrent()) >= FromHourTrade ||
                   TimeHour(TimeCurrent()) < ToHourTrade))){
               Comment("Non-Trading Hours!");
               return(0);
             }
           }   
        
        //************************************************************************* OPEN - CLOSE - ORDERS ***********************************************
       double xStopLoss=StopLoss*Q;
       double xTakeProfit=TakeProfit*Q;
       
             if(sar1<Open[1]&&sar1>Open[2] &&sar2<Open[1]&&sar2>Open[2]&&sar3<Open[1]&&sar3>Open[2]&& (orderscnt(OP_BUY)<MaxOrders)){//--1
           
             if(xStopLoss==0){SL=0;}else{SL=Ask-xStopLoss*Point;}
               if(xTakeProfit==0){TP=0;}else{TP=Ask+xTakeProfit*Point;}
               
                OrderSend(Symbol(),OP_BUY,newLot,Ask,3*Q,SL,TP,"Cher90 EA",MagicNumber,0,Green);
                 PlaySound("Alert.wav");
                 }//--1
                                
        //****************************************************************************
                     
                     if(sar1>Open[1]&&sar1<Open[2] &&sar2>Open[1]&&sar2<Open[2]&&sar3>Open[1]&&sar3<Open[2] && (orderscnt(OP_SELL)<MaxOrders)){//--1
           
             if(xStopLoss==0){SL=0;}else{SL=Bid+xStopLoss*Point;}
               if(xTakeProfit==0){TP=0;}else{TP=Bid-xTakeProfit*Point;}
               
                OrderSend(Symbol(),OP_SELL,newLot,Bid,3*Q,SL,TP,"Cher90 EA",MagicNumber,0,Red); 
                 PlaySound("Alert.wav");
                 
                 }//--1
       
    //****************************************** CLOSE ORDERS ***************************************************************
     
     
          for (int cnt = OrdersTotal() ; cnt >= 0 ; cnt--)
      {//--1
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {//--2
          if (OrderType()==OP_BUY && OrderMagicNumber()==MagicNumber && opposit_Signal_Close )
          {//--3
            OrderClose(OrderTicket(),OrderLots(),Bid,3*Q);
          }//--3
          
          if (OrderType()==OP_SELL && OrderMagicNumber()==MagicNumber && opposit_Signal_Close)
          {//--4
            OrderClose(OrderTicket(),OrderLots(),Ask,3*Q);
          }//--4
        }//--2
        
      }//--1
      
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+

    السؤال الثاني ماهو كود الشراء لمؤشر rsi عندما يقطع خط السبعين ويرجع الى خط الخمسين من الخمسين يكون الشراء
    وعليكم السلام ورحمة الله وبركاته
    لا توجد أخطاء في الإكسبرت لكن هي فقط تحذيرات
    بالنسبه للتحذير الذي يظهر لديك فهو خاص بفلتر التوقيت
    كود PHP:
     if (UseHourTrade){
           if(!((
    FromHourTrade ToHourTrade && TimeHour(TimeCurrent()) >= FromHourTrade && TimeHour(TimeCurrent()) < ToHourTrade) || (FromHourTrade ToHourTrade && 
           
    TimeHour(TimeCurrent()) >= FromHourTrade ||
                   
    TimeHour(TimeCurrent()) < ToHourTrade))){
               
    Comment("Non-Trading Hours!");
               return(
    0);
             }
           } 
    دائما عندما يكون لديك شروط تجمع بين && و || إستخدم الأقواس
    مثال
    كود PHP:
     if(SAR>Close[0]&&macd>0||rsi>50
    في الكود السابق سوف يظهر لك تحذير
    حتى تتأكد من أن الكود يعمل بشكل صحيح إجعله
    كود PHP:
     if(SAR>Close[0]&&(macd>0||rsi>50)) 
    بنفس الفكره ستقوم بعمل التعديل في الكود الخاص بك

    بالنسبه للسؤال الثاني
    مثال
    كود PHP:
     static bool Crossed_70=false;
      
      
    double rsi=iRSI(Symbol(),0,14,PRICE_CLOSE,1);
      
      if(
    rsi>=70)Crossed_70=true;
      
      if(
    rsi<=50)
      {
       
    // open sell 
       
    Crossed_70=false;
      } 

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

  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