شروط تلبية طلبات الإكسبيرتات أوالمؤشرات

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • المشاركة الأصلية بواسطة zooz1o مشاهدة المشاركة

    طيب ممكن حضرتك تقولي لو هخلي الاكسبيرت يشتغل على اليورو دولار بدلا من :
    iClose(_Symbol, PERIOD_H1,1)
    هستبدل _Symbol باسم الزوج في المنصة؟
    يعني هيبقى كدة؟
    iClose(ُEURUSD, PERIOD_H1,1)

    ولا المفروض بعرف الاول دالة واكتب فيها كل الازواج اللي عاوز الاكسبيرت يفتحها زي كدة:
    extern string Symbol1="EURUSD";
    extern int Type1=0;
    extern string Symbol2="USDCHF";
    extern int Type2=0;
    extern string Symbol3="GBPUSD";
    extern int Type3=0;
    extern string Symbol4="USDCAD";
    extern int Type4=0;
    extern string Symbol5="NZDUSD";
    extern int Type5=0;
    extern string Symbol6="USDJPY";
    extern int Type6=0;
    extern string Symbol7="AUDUSD";
    extern int Type7=0;
    extern string Symbol8="EURJPY";
    extern int Type8=0;
    extern string Symbol9="GBPJPY";
    extern int Type9=0;
    extern string Symbol10="EURCHF";
    extern int Type10=0;​

    مرفق اكسبيرت
    نعم يمكن هذه الطريقة

    تعليق


    • السلام عليكم اخي العزيز Turkm

      اريد تنفيذ شرط الخروج من الصفقة عند اغلاق الشمعة
      مثلاً يتم فتح الصفقة في الشمعة الحالية والخروج منها بعد اكتمال اغلاق الشمعة الحالية
      ماذا اكتب في شرط الخروج if؟

      تعليق


      • المشاركة الأصلية بواسطة zooz1o مشاهدة المشاركة
        السلام عليكم اخي العزيز Turkm

        اريد تنفيذ شرط الخروج من الصفقة عند اغلاق الشمعة
        مثلاً يتم فتح الصفقة في الشمعة الحالية والخروج منها بعد اكتمال اغلاق الشمعة الحالية
        ماذا اكتب في شرط الخروج if؟
        وعليكم السلام ورحمة الله وبركاته

        انت تريد الكود الذي سيتنفذ تماما بعد اغلاق الشمعة الحالية وفتح واحدة جديدة .صح؟

        تعليق


        • المشاركة الأصلية بواسطة Turkm مشاهدة المشاركة

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

          انت تريد الكود الذي سيتنفذ تماما بعد اغلاق الشمعة الحالية وفتح واحدة جديدة .صح؟
          نعم صحيح صحيح

          تعليق


          • المشاركة الأصلية بواسطة zooz1o مشاهدة المشاركة

            نعم صحيح صحيح
            تمام

            استخدم نفس هاد الكود يلي استخدمناه في السابق

            كود:
            if(lastTime != iTime(Symbol(), 0, 1))
            {
            lastTime = iTime(Symbol(), 0, 1);
            }
            else
            {
            return;
            }​

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

            تعليق


            • المشاركة الأصلية بواسطة Turkm مشاهدة المشاركة

              تمام

              استخدم نفس هاد الكود يلي استخدمناه في السابق

              كود:
              if(lastTime != iTime(Symbol(), 0, 1))
              {
              lastTime = iTime(Symbol(), 0, 1);
              }
              else
              {
              return;
              }​

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

              تعليق


              • المشاركة الأصلية بواسطة Turkm مشاهدة المشاركة

                تمام

                استخدم نفس هاد الكود يلي استخدمناه في السابق

                كود:
                if(lastTime != iTime(Symbol(), 0, 1))
                {
                lastTime = iTime(Symbol(), 0, 1);
                }
                else
                {
                return;
                }​

                ضع بداخله شرط الخروج لان هذا الكود ينفذ مابداخله عند اغلاق شمعة وافتتاح شمعة جديدة فقط
                كود HTML:
                input int MagicNumber=10001;
                input double Lots =0.1;
                input double StopLoss=0;
                input double TakeProfit=0;
                input int TrailingStop=0;
                bool CloseOpposite;
                datetime lastTime = 0;
                datetime lastTime2 = 0;
                //+------------------------------------------------------------------+
                //    expert start function
                //+------------------------------------------------------------------+
                
                 ENUM_MA_METHOD MethodMigrate(int method)
                  {
                   switch(method)
                     {
                      case 0: return(MODE_SMA);
                      case 1: return(MODE_EMA);
                      case 2: return(MODE_SMMA);
                      case 3: return(MODE_LWMA);
                      default: return(MODE_SMA);
                     }
                  }
                  
                ENUM_STO_PRICE StoFieldMigrate(int field)
                  {
                   switch(field)
                     {
                      case 0: return(STO_LOWHIGH);
                      case 1: return(STO_CLOSECLOSE);
                      default: return(STO_LOWHIGH);
                     }
                  }
                ENUM_APPLIED_PRICE PriceMigrate(int price)
                  {
                   switch(price)
                     {
                      case 1: return(PRICE_CLOSE);
                      case 2: return(PRICE_OPEN);
                      case 3: return(PRICE_HIGH);
                      case 4: return(PRICE_LOW);
                      case 5: return(PRICE_MEDIAN);
                      case 6: return(PRICE_TYPICAL);
                      case 7: return(PRICE_WEIGHTED);
                      default: return(PRICE_CLOSE);
                     }
                  }
                
                ENUM_TIMEFRAMES TFMigrate(int tf)
                  {
                   switch(tf)
                     {
                      case 0: return(PERIOD_CURRENT);
                      case 1: return(PERIOD_M1);
                      case 5: return(PERIOD_M5);
                      case 15: return(PERIOD_M15);
                      case 30: return(PERIOD_M30);
                      case 60: return(PERIOD_H1);
                      case 240: return(PERIOD_H4);
                      case 1440: return(PERIOD_D1);
                      case 10080: return(PERIOD_W1);
                      case 43200: return(PERIOD_MN1);
                      
                      case 2: return(PERIOD_M2);
                      case 3: return(PERIOD_M3);
                      case 4: return(PERIOD_M4);      
                      case 6: return(PERIOD_M6);
                      case 10: return(PERIOD_M10);
                      case 12: return(PERIOD_M12);
                      case 16385: return(PERIOD_H1);
                      case 16386: return(PERIOD_H2);
                      case 16387: return(PERIOD_H3);
                      case 16388: return(PERIOD_H4);
                      case 16390: return(PERIOD_H6);
                      case 16392: return(PERIOD_H8);
                      case 16396: return(PERIOD_H12);
                      case 16408: return(PERIOD_D1);
                      case 32769: return(PERIOD_W1);
                      case 49153: return(PERIOD_MN1);      
                      default: return(PERIOD_CURRENT);
                     }
                  }
                  
                #define MODE_MAIN 0  
                #define MODE_SIGNAL 1
                #define MODE_PLUSDI 1
                #define MODE_MINUSDI 2
                #define MODE_OPEN 0
                #define MODE_LOW 1
                #define MODE_HIGH 2
                #define MODE_CLOSE 3
                #define MODE_VOLUME 4
                #define MODE_REAL_VOLUME 5
                
                
                #define OP_BUY 0           //Buy
                #define OP_SELL 1          //Sell
                #define OP_BUYLIMIT 2      //Pending order of BUY LIMIT type
                #define OP_SELLLIMIT 3     //Pending order of SELL LIMIT type
                #define OP_BUYSTOP 4       //Pending order of BUY STOP type
                #define OP_SELLSTOP 5      //Pending order of SELL STOP type
                //---
                #define MODE_TRADES 0
                #define MODE_HISTORY 1
                #define SELECT_BY_POS 0
                #define SELECT_BY_TICKET 1
                //---
                #define DOUBLE_VALUE 0
                #define FLOAT_VALUE 1
                #define LONG_VALUE INT_VALUE
                //---
                #define CHART_BAR 0
                #define CHART_CANDLE 1
                //---
                #define MODE_ASCEND 0
                #define MODE_DESCEND 1
                //---
                
                #define MODE_TIME 5
                #define MODE_BID 9
                #define MODE_ASK 10
                #define MODE_POINT 11
                #define MODE_DIGITS 12
                #define MODE_SPREAD 13
                #define MODE_STOPLEVEL 14
                #define MODE_LOTSIZE 15
                #define MODE_TICKVALUE 16
                #define MODE_TICKSIZE 17
                #define MODE_SWAPLONG 18
                #define MODE_SWAPSHORT 19
                #define MODE_STARTING 20
                #define MODE_EXPIRATION 21
                #define MODE_TRADEALLOWED 22
                #define MODE_MINLOT 23
                #define MODE_LOTSTEP 24
                #define MODE_MAXLOT 25
                #define MODE_SWAPTYPE 26
                #define MODE_PROFITCALCMODE 27
                #define MODE_MARGINCALCMODE 28
                #define MODE_MARGININIT 29
                #define MODE_MARGINMAINTENANCE 30
                #define MODE_MARGINHEDGED 31
                #define MODE_MARGINREQUIRED 32
                #define MODE_FREEZELEVEL 33
                //---
                #define EMPTY -1
                #include <Trade\Trade.mqh>
                CTrade    *Trade;
                int OnInit() {
                
                
                //    Create a pointer to a ctrade object
                Trade=new CTrade();
                Trade.SetExpertMagicNumber(MagicNumber);
                return (0);}
                void OnTick()
                {
                {
                  
                 }
                
                
                
                double Ask=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
                double Bid=SymbolInfoDouble(_Symbol,SYMBOL_BID);
                
                double MyPoint=_Point;
                if(_Digits==2 || _Digits==5) MyPoint=_Point*10;
                double TheStopLoss=0;
                double TheTakeProfit=0;
                
                {
                
                if(iOpen(_Symbol, PERIOD_CURRENT,1)==iOpen(_Symbol, PERIOD_CURRENT,1)
                )
                {
                if(lastTime != iTime(Symbol(), 0, 1))
                {
                lastTime = iTime(Symbol(), 0, 1);
                }
                else
                {
                return;
                }
                        if(StopLoss>0) TheStopLoss=SymbolInfoDouble(_Symbol,SYMBOL_ASK)-StopLoss*MyPoint;
                        if(TakeProfit>0) TheTakeProfit=SymbolInfoDouble(_Symbol,SYMBOL_ASK)+TakeProfit*MyPoint;
                        Trade.PositionOpen(_Symbol,ORDER_TYPE_BUY,Lots,SymbolInfoDouble(_Symbol,SYMBOL_ASK),TheStopLoss,TheTakeProfit);
                        return;
                }
                if(iOpen(_Symbol, PERIOD_CURRENT,1)==iOpen(_Symbol, PERIOD_CURRENT,1)
                )      
                {
                if(lastTime2 != iTime(Symbol(), 0, 1))
                {
                lastTime2 = iTime(Symbol(), 0, 1);
                }
                else
                {
                return;
                }
                        if(StopLoss>0) TheStopLoss=SymbolInfoDouble(_Symbol,SYMBOL_BID)+StopLoss*MyPoint;
                        if(TakeProfit>0) TheTakeProfit=SymbolInfoDouble(_Symbol,SYMBOL_BID)-TakeProfit*MyPoint;
                        Trade.PositionOpen(_Symbol,ORDER_TYPE_SELL,Lots,SymbolInfoDouble(_Symbol,SYMBOL_BID),TheStopLoss,TheTakeProfit);
                        return;
                }
                 }
                   int posTotal=PositionsTotal();
                   for(int posIndex=posTotal-1;posIndex>=0;posIndex--)
                     {
                      ulong ticket=PositionGetTicket(posIndex);
                      if(PositionSelectByTicket(ticket) && PositionGetInteger(POSITION_MAGIC)==MagicNumber)
                      {
                     if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
                        {
                              if(iOpen(_Symbol, PERIOD_CURRENT,0)==iOpen(_Symbol, PERIOD_CURRENT,0)
                              )    //here is your close buy rule
                         {
                         Trade.PositionClose(ticket);
                         break;
                         }
                      
                         if(TrailingStop>0)  
                              {                
                               if(SymbolInfoDouble(_Symbol,SYMBOL_BID)-PositionGetDouble(POSITION_PRICE_OPEN)>MyPoint*TrailingStop)
                                 {
                                  if(PositionGetDouble(POSITION_SL)<SymbolInfoDouble(_Symbol,SYMBOL_BID)-MyPoint*TrailingStop)
                                    {
                                    Trade.PositionModify(ticket,SymbolInfoDouble(_Symbol,SYMBOL_BID)-MyPoint*TrailingStop,PositionGetDouble(POSITION_TP));
                                     return;
                                    }
                                 }
                              }
                        }
                      
                       if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
                        {
                              if(iOpen(_Symbol, PERIOD_CURRENT,0)==iOpen(_Symbol, PERIOD_CURRENT,0)
                              )    // here is your close sell rule
                         {
                         Trade.PositionClose(ticket);
                         break;
                         }
                          if(TrailingStop>0)  
                              {                
                               if(PositionGetDouble(POSITION_PRICE_OPEN)-SymbolInfoDouble(_Symbol,SYMBOL_ASK)>MyPoint*TrailingStop)
                                 {
                                  if(PositionGetDouble(POSITION_SL)>SymbolInfoDouble(_Symbol,SYMBOL_ASK)+MyPoint*TrailingStop)
                                    {
                                    Trade.PositionModify(ticket,SymbolInfoDouble(_Symbol,SYMBOL_ASK)+MyPoint*TrailingStop,PositionGetDouble(POSITION_TP));
                                     return;
                                    }
                                 }
                              }
                        }
                      }
                     }  
                    return;
                }
                
                //+------------------------------------------------------------------+
                //|                                                                  |
                //+------------------------------------------------------------------+
                
                void    CloseAll(ENUM_POSITION_TYPE positionType) {
                
                    int    cnt    =    PositionsTotal();
                    for (int i = cnt-1; i>=0; i--) {
                        ulong    ticket    =    PositionGetTicket(i);
                        if (ticket>0) {
                            if (PositionGetString(POSITION_SYMBOL)==Symbol() && PositionGetInteger(POSITION_MAGIC)==MagicNumber && PositionGetInteger(POSITION_TYPE)==positionType) {
                                Trade.PositionClose(ticket);
                            }
                        }
                    }
                    }
                
                int Hour()
                {
                   MqlDateTime tm;
                   TimeCurrent(tm);
                   return(tm.hour);
                }
                int Minute()
                {
                   MqlDateTime tm;
                   TimeCurrent(tm);
                   return(tm.min);
                }
                
                double CopyBufferMQL4(int handle,int index,int shift)
                  {
                   double buf[];
                   switch(index)
                     {
                      case 0: if(CopyBuffer(handle,0,shift,1,buf)>0)
                         return(buf[0]); break;
                      case 1: if(CopyBuffer(handle,1,shift,1,buf)>0)
                         return(buf[0]); break;
                      case 2: if(CopyBuffer(handle,2,shift,1,buf)>0)
                         return(buf[0]); break;
                      case 3: if(CopyBuffer(handle,3,shift,1,buf)>0)
                         return(buf[0]); break;
                      case 4: if(CopyBuffer(handle,4,shift,1,buf)>0)
                         return(buf[0]); break;
                      default: break;
                     }
                   return(EMPTY_VALUE);
                  }
                  
                  
                double iACMQL4(string symbol,
                               int tf,
                               int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   int handle=iAC(symbol,timeframe);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,0,shift));
                  }
                  
                  
                  double iADMQL4(string symbol,
                               int tf,
                               int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   int handle=(int)iAD(symbol,timeframe,VOLUME_TICK);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,0,shift));
                  }  
                  
                  double iAlligatorMQL4(string symbol,
                                      int tf,
                                      int jaw_period,
                                      int jaw_shift,
                                      int teeth_period,
                                      int teeth_shift,
                                      int lips_period,
                                      int lips_shift,
                                      int method,
                                      int price,
                                      int mode,
                                      int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   ENUM_MA_METHOD ma_method=MethodMigrate(method);
                   ENUM_APPLIED_PRICE applied_price=PriceMigrate(price);
                   int handle=iAlligator(symbol,timeframe,jaw_period,jaw_shift,
                                         teeth_period,teeth_shift,
                                         lips_period,lips_shift,
                                         ma_method,applied_price);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,mode-1,shift));
                  }
                  
                double iADXMQL4(string symbol,
                                int tf,
                                int period,
                                int price,
                                int mode,
                                int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   ENUM_APPLIED_PRICE applied_price=PriceMigrate(price);
                   int handle=iADX(symbol,timeframe,period);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,mode,shift));
                  }
                
                double iAOMQL4(string symbol,
                               int tf,
                               int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   int handle=iAO(symbol,timeframe);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,0,shift));
                  }
                  double iATRMQL4(string symbol,
                                int tf,
                                int period,
                                int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   int handle=iATR(symbol,timeframe,period);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,0,shift));
                  }
                  
                 double iBearsPowerMQL4(string symbol,
                                       int tf,
                                       int period,
                                       int price,
                                       int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   int handle=iBearsPower(symbol,timeframe,period);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,0,shift));
                  }
                  
                 double iBullsPowerMQL4(string symbol,
                                       int tf,
                                       int period,
                                       int price,
                                       int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   int handle=iBullsPower(symbol,timeframe,period);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,0,shift));
                  }
                  
                  double iBandsMQL4(string symbol,
                                  int tf,
                                  int period,
                                  double deviation,
                                  int bands_shift,
                                  int method,
                                  int mode,
                                  int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   ENUM_MA_METHOD ma_method=MethodMigrate(method);
                   int handle=iBands(symbol,timeframe,period,
                                     bands_shift,deviation,ma_method);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,mode,shift));
                  }
                  double iCCIMQL4(string symbol,
                                int tf,
                                int period,
                                int price,
                                int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   ENUM_APPLIED_PRICE applied_price=PriceMigrate(price);
                   int handle=iCCI(symbol,timeframe,period,price);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,0,shift));
                  }
                  
                
                double iDeMarkerMQL4(string symbol,
                                     int tf,
                                     int period,
                                     int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   int handle=iDeMarker(symbol,timeframe,period);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,0,shift));
                  }
                  double EnvelopesMQL4(string symbol,
                                     int tf,
                                     int ma_period,
                                     int method,
                                     int ma_shift,
                                     int price,
                                     double deviation,
                                     int mode,
                                     int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   ENUM_MA_METHOD ma_method=MethodMigrate(method);
                   ENUM_APPLIED_PRICE applied_price=PriceMigrate(price);
                   int handle=iEnvelopes(symbol,timeframe,
                                         ma_period,ma_shift,ma_method,
                                         applied_price,deviation);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,mode-1,shift));
                  }
                  
                  double iForceMQL4(string symbol,
                                  int tf,
                                  int period,
                                  int method,
                                  int price,
                                  int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   ENUM_MA_METHOD ma_method=MethodMigrate(method);
                   int handle=iForce(symbol,timeframe,period,ma_method,VOLUME_TICK);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,0,shift));
                  }
                  
                  double iFractalsMQL4(string symbol,
                                     int tf,
                                     int mode,
                                     int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   int handle=iFractals(symbol,timeframe);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,mode-1,shift));
                  }
                
                
                double iBWMFIMQL4(string symbol,
                                  int tf,
                                  int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   int handle=(int)iBWMFI(symbol,timeframe,VOLUME_TICK);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,0,shift));
                  }
                
                
                double iMomentumMQL4(string symbol,
                                     int tf,
                                     int period,
                                     int price,
                                     int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   ENUM_APPLIED_PRICE applied_price=PriceMigrate(price);
                   int handle=iMomentum(symbol,timeframe,period,applied_price);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,0,shift));
                  }
                  double iMFIMQL4(string symbol,
                                int tf,
                                int period,
                                int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   int handle=(int)iMFI(symbol,timeframe,period,VOLUME_TICK);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,0,shift));
                  }
                  double iMAMQL4(string symbol,
                               int tf,
                               int period,
                               int ma_shift,
                               int method,
                               int price,
                               int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   ENUM_MA_METHOD ma_method=MethodMigrate(method);
                   ENUM_APPLIED_PRICE applied_price=PriceMigrate(price);
                   int handle=iMA(symbol,timeframe,period,ma_shift,
                                  ma_method,applied_price);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,0,shift));
                  }
                  double iMACDMQL4(string symbol,
                                 int tf,
                                 int fast_ema_period,
                                 int slow_ema_period,
                                 int signal_period,
                                 int price,
                                 int mode,
                                 int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   ENUM_APPLIED_PRICE applied_price=PriceMigrate(price);
                   int handle=iMACD(symbol,timeframe,
                                    fast_ema_period,slow_ema_period,
                                    signal_period,applied_price);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,mode,shift));
                  }
                  
                  double iOBVMQL4(string symbol,
                                int tf,
                                int price,
                                int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   int handle=iOBV(symbol,timeframe,VOLUME_TICK);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,0,shift));
                  }
                  double iSARMQL4(string symbol,
                                int tf,
                                double step,
                                double maximum,
                                int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   int handle=iSAR(symbol,timeframe,step,maximum);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,0,shift));
                  }
                  double iRSIMQL4(string symbol,
                                int tf,
                                int period,
                                int price,
                                int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   ENUM_APPLIED_PRICE applied_price=PriceMigrate(price);
                   int handle=iRSI(symbol,timeframe,period,applied_price);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,0,shift));
                  }
                  
                  double iStdDevMQL4(string symbol,
                                   int tf,
                                   int ma_period,
                                   int ma_shift,
                                   int method,
                                   int price,
                                   int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   ENUM_MA_METHOD ma_method=MethodMigrate(method);
                   ENUM_APPLIED_PRICE applied_price=PriceMigrate(price);
                   int handle=iStdDev(symbol,timeframe,ma_period,ma_shift,
                                      ma_method,applied_price);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,0,shift));
                  }
                  double iStochasticMQL4(string symbol,
                                       int tf,
                                       int Kperiod,
                                       int Dperiod,
                                       int slowing,
                                       int method,
                                       int field,
                                       int mode,
                                       int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   ENUM_MA_METHOD ma_method=MethodMigrate(method);
                   ENUM_STO_PRICE price_field=StoFieldMigrate(field);
                   int handle=iStochastic(symbol,timeframe,Kperiod,Dperiod,
                                          slowing,ma_method,price_field);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,mode,shift));
                  }
                  double iWPRMQL4(string symbol,
                                int tf,
                                int period,
                                int shift)
                  {
                   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
                   int handle=iWPR(symbol,timeframe,period);
                   if(handle<0)
                     {
                      return(-1);
                     }
                   else
                      return(CopyBufferMQL4(handle,0,shift));
                  }
                ​

                تعليق


                • السلام عليكم اخي

                  هذا الكود لا يسمح بدخول اكثر من صفقة واحدة فقط:
                  كود HTML:
                  int TotalOrdersCount()
                  {
                    int result=0;
                    int posTotal=PositionsTotal();
                     for(int posIndex=posTotal-1;posIndex>=0;posIndex--)
                       {
                        ulong ticket=PositionGetTicket(posIndex);
                        if(PositionSelectByTicket(ticket) && PositionGetInteger(POSITION_MAGIC)==MagicNumber) result++;
                       }  
                    return (result);
                  }​
                  كيف اجعله يسمع بوجود اكثر من صفقة مفعلة؟

                  تعليق


                  • المشاركة الأصلية بواسطة zooz1o مشاهدة المشاركة
                    السلام عليكم اخي

                    هذا الكود لا يسمح بدخول اكثر من صفقة واحدة فقط:
                    كود HTML:
                    int TotalOrdersCount()
                    {
                    int result=0;
                    int posTotal=PositionsTotal();
                    for(int posIndex=posTotal-1;posIndex>=0;posIndex--)
                    {
                    ulong ticket=PositionGetTicket(posIndex);
                    if(PositionSelectByTicket(ticket) && PositionGetInteger(POSITION_MAGIC)==MagicNumber) result++;
                    }
                    return (result);
                    }​
                    كيف اجعله يسمع بوجود اكثر من صفقة مفعلة؟
                    مسحته فتم حل المشكلة, شكرا اخي

                    تعليق


                    • المشاركة الأصلية بواسطة zooz1o مشاهدة المشاركة

                      مسحته فتم حل المشكلة, شكرا اخي
                      تمام

                      لازم ترتكب اخطاء كثيرة اثناء التعلم

                      تعليق


                      • المشاركة الأصلية بواسطة Turkm مشاهدة المشاركة

                        تمام

                        لازم ترتكب اخطاء كثيرة اثناء التعلم
                        نعم اخي والله جزاك الله 1000 خير لأني استفادت منك ومن خبراتك كثيراً
                        ربنا يجعله في ميزان حسانتك ويوسع في رزقك

                        تعليق


                        • عندما اصنع اكسبيرت بلغة mql5
                          اضع هذا الكود للتعبير عن سعر الاغلاق للشمعة 1:
                          كود HTML:
                          iClose(_Symbol,PERIOD_CURRENT,1)
                          لكن اريد اختصار هذا الكود ليصبح:
                          Close[1+i]

                          فهل يمكن تنفيذ هذا الاختصار بسهولة؟

                          تعليق


                          • المشاركة الأصلية بواسطة zooz1o مشاهدة المشاركة

                            نعم اخي والله جزاك الله 1000 خير لأني استفادت منك ومن خبراتك كثيراً
                            ربنا يجعله في ميزان حسانتك ويوسع في رزقك
                            على الرحب والسعة اخي الكريم

                            تعليق


                            • المشاركة الأصلية بواسطة zooz1o مشاهدة المشاركة
                              عندما اصنع اكسبيرت بلغة mql5
                              اضع هذا الكود للتعبير عن سعر الاغلاق للشمعة 1:
                              كود HTML:
                              iClose(_Symbol,PERIOD_CURRENT,1)
                              لكن اريد اختصار هذا الكود ليصبح:
                              Close[1+i]

                              فهل يمكن تنفيذ هذا الاختصار بسهولة؟
                              هوا فعليا لايمكن الا اذا حضرتك عملتو على اساس Function

                              تعليق


                              • السلام عليكم
                                عند اجراء compile يعطيني رسالة تنبيه
                                declaration of 'B_Lots' hides local variable Test Expert.mq5
                                ما معناها؟ وكيف اصلحها؟

                                تعليق

                                يعمل...
                                X