صفحة 404 من 686 الأولىالأولى ... 304354394398399400401402403404405406407408409410414454504 ... الأخيرةالأخيرة
النتائج 6,046 إلى 6,060 من 10285
  1. #6046
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,851

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة goldfile مشاهدة المشاركة
    مع كل الاحترام والتقدير استادي الفاضل
    لديك خطأ في دالة تحديد سعر البيع و الشراء
    كود PHP:
    double GetpriceBuyLimit() {     return(Ask-(DistPair*point)); } 
    double GetpriceSellStop() {     return(Bid-(DistPair*point)); } 
    المفروض أنك تستخدم سعر البيع و الشراء للعمله التي ستفتح عليها الصفقه وليس سعر البيع و الشراء للعمله التي ستضع الإكسبرت على الشارت الخاص بها
    مثال
    كود PHP:
    double GetpriceBuyLimit() {     return(MarketInfo(Pair1,MODE_ASK)-(DistPair*point)); } 
    double GetpriceSellStop() {     return(MarketInfo(Pair1,MODE_BID)-(DistPair*point)); } 
    ونفس الفكره بالنسبه للعمله الثانيه
    أيضا قيمة point سوف تحددها بناء على العمله التي ستفتح الصفقه عليها
    مثال
    كود PHP:
     if(MarketInfo(Pair1,MODE_DIGITS)<4)
       {
          
    point=0.01;
          
    digits=2;
       }
       else
       {
          
    point=0.0001;
          
    digits=4;
       } 

  2. #6047
    الصورة الرمزية goldfile
    goldfile غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2007
    الإقامة
    سانت لوسيا
    المشاركات
    752

    افتراضي

    مشكور دكتور على تعبك ساجرب وارد عليك

    تحياتي

  3. #6048
    الصورة الرمزية minismsm
    minismsm غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2012
    الإقامة
    مصر
    المشاركات
    24

    افتراضي

    استفسار .. كيف أحدد برمجيا ما اذا السعر الحالي قطع أحط خطوط الفيبوناتشي .. مثلا خط 61% ؟؟ مع العلم ان الفيبوناتشي لدي مؤشر مختلف عن اللي في الميتاتريدر
    وماذا تعني قيمة الindex line في دالة iCustom ؟؟

  4. #6049
    الصورة الرمزية wahaab
    wahaab غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2009
    الإقامة
    الجزائر
    المشاركات
    412

    افتراضي

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

  5. #6050
    الصورة الرمزية lion666666
    lion666666 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2014
    الإقامة
    مصر
    المشاركات
    32

    افتراضي

    السلام عليكم
    مرفق اول اكسبيرت لى
    هو المفروض انه يقوم بالاتى
    فى الساعة المحددة
    يقوم بفتح 2 صفقة معلقة فوق هاى و لو الشمعة السابقة
    BUYSTOP
    SELLSTOP
    TP=20

    STOPLOSS OF BUY STOP = ENTER PRICE OF SELL STOP
    STOPLOSS OF SELL STOP = ENTER PRICE OF BUY STOP
    عندما تتفعل صفقة رقم واحد
    يقوم بانشاء صفقة معلقة عكسية بلوت مضاعف
    فاذا انتهت الصفقة رقم واحد على ربح
    يتم الغاء الصفقتين المعلقتين
    والانتهاء وخروج الاكسبيرت
    واذا انتهت الصفقة رقم واحد على خسارة
    تتفعل الصفقتين الاخرتين
    ولا يتم فتح صفقات اخرى
    ويتم خروج الاكسبيرت
    عند تجربة الاكسبيرت على حساب تجريبى
    يفتح صفقات مضاعفة كثيرة
    وعندة الخروج من المنصة والعودة مرة اخرى
    يعيد انشاء الصفقات المعلقة
    فارجوا تصحيح هذه الاخطاء
    ولكم جزيل الشكر

  6. #6051
    الصورة الرمزية lion666666
    lion666666 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2014
    الإقامة
    مصر
    المشاركات
    32

    افتراضي تصحيح اول اكسبيرت

    اقتباس المشاركة الأصلية كتبت بواسطة lion666666 مشاهدة المشاركة
    السلام عليكم
    مرفق اول اكسبيرت لى
    هو المفروض انه يقوم بالاتى
    فى الساعة المحددة
    يقوم بفتح 2 صفقة معلقة فوق هاى و لو الشمعة السابقة
    BUYSTOP
    SELLSTOP
    TP=20

    STOPLOSS OF BUY STOP = ENTER PRICE OF SELL STOP
    STOPLOSS OF SELL STOP = ENTER PRICE OF BUY STOP
    عندما تتفعل صفقة رقم واحد
    يقوم بانشاء صفقة معلقة عكسية بلوت مضاعف
    فاذا انتهت الصفقة رقم واحد على ربح
    يتم الغاء الصفقتين المعلقتين
    والانتهاء وخروج الاكسبيرت
    واذا انتهت الصفقة رقم واحد على خسارة
    تتفعل الصفقتين الاخرتين
    ولا يتم فتح صفقات اخرى
    ويتم خروج الاكسبيرت
    عند تجربة الاكسبيرت على حساب تجريبى
    يفتح صفقات مضاعفة كثيرة
    وعندة الخروج من المنصة والعودة مرة اخرى
    يعيد انشاء الصفقات المعلقة
    فارجوا تصحيح هذه الاخطاء
    ولكم جزيل الشكر
    كود PHP:
    //+------------------------------------------------------------------+
    //|                                                                  |
    //|                             KH_TEST_1                            |
    //|                                                                  |
    //+------------------------------------------------------------------+


    //+------------------------------------------------------------------+
    //|                  ENTRIES                                         |
    //+------------------------------------------------------------------+
    extern double      Lots =0.01;
    extern int   TakeProfit =20;
    extern int    StartHour =02;            
    extern int         Step =20;
    extern int  MagicNumber =900;
    //+------------------------------------------------------------------+
    //|                  Variables                                       |
    //+------------------------------------------------------------------+
    double pt;
    double Lots_2;
    double L;
    double Buyentery;
    double Sellentery;
    double StopLoss_2;
    double x;
    double MathCeil;
    bool   OpenBefore=false;
    bool   OpenBefore_2=false;
    bool   OpenBefore_3=false;
    int    StopLoss;
    //+------------------------------------------------------------------+
    //|                 دالة المنصة رباعية أو خماسية                     |
    //+------------------------------------------------------------------+
    int init()
      {
          if(
    Digits==5||Digits==4
             { 
                
    pt=0.0001
             } 
          else
             { 
                
    pt=0.01
             }
       return(
    0);
      }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit()
      {
    //----
       
    //----
       
    return(0);
      }
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start()
      {
       
    bool time=(Time[0]>=StartHour);
       
    double hi=iHigh(Symbol(),0,1);
       
    double lo=iLow(Symbol(),0,1);
    //+------------------------------------------------------------------+
    //|               حساب نقطة الدخول                                   |
    //+------------------------------------------------------------------+
       
    Buyentery=hi+Step*pt;
       
    Sellentery=lo-Step*pt;
    //+------------------------------------------------------------------+
    //|               حساب ستوب لوز المضاعفة وقيمة لوت المضاعفة          |
    //+------------------------------------------------------------------+
       
    x=(Buyentery-Sellentery)/pt;
       
    StopLoss=x+1;
       
    L=x/TakeProfit ;
       
    Lots_2=LotsMathCeilL);
    //+------------------------------------------------------------------+
    //|               فتح صفقة باى ستوب  وصفقة سل ستوب                   |
    //+------------------------------------------------------------------+
       
    if(time==true&&OpenBefore==false&&ordtotal1(OP_BUYSTOP)==0&&ordtotal1(OP_BUY)==0&&ordtotal1(OP_SELL)==0)
          {
             
    open(OP_BUYSTOP,Lots,Buyentery,TakeProfit,StopLoss) ;
          }
       if(
    time==true&&OpenBefore==false&&ordtotal1(OP_SELLSTOP)==0&&ordtotal1(OP_SELL)==0&&ordtotal1(OP_BUY)==0)
          {
             
    open(OP_SELLSTOP,Lots,Sellentery,TakeProfit,StopLoss) ;
             
    OpenBefore=true;
          }
    //+------------------------------------------------------------------+
    //|                               المضاعفة                           |
    //+------------------------------------------------------------------+
       
    if(time==true&&OpenBefore_2==false&&ordtotal1(OP_BUY)==1)
          {
             
    open(OP_SELLSTOP,Lots_2,Sellentery,TakeProfit,StopLoss) ;
             
    OpenBefore_2=true;
          }
       if(
    time==true&&OpenBefore_3==false&&ordtotal1(OP_SELL)==1)
          { 
             
    open(OP_BUYSTOP,Lots_2,Buyentery,TakeProfit,StopLoss) ;
             
    OpenBefore_3=true;
          }
       return(
    0);
      }
    //+------------------------------------------------------------------+
    int open(int ty,double lot,double prc,int pof,int sll)
      {
        
    double sl=0,tp=0;
        
    color clr;
        
    string T;double pr;
        if(
    ty==OP_BUY || ty==OP_BUYSTOP || ty==OP_BUYLIMIT)
            {
             if(
    sll>0)
                {
                   
    sl=prc-(sll*pt);
                }else
                   {
                      
    sl=0;
                   }
             if(
    pof>0){tp=prc+(pof*pt);}else{tp=0;}
             
    clr=Green;
             
    T="Ask ";
             
    pr=NormalizeDouble(Ask,Digits);
            }
         if(
    ty==OP_SELL || ty==OP_SELLSTOP || ty==OP_SELLLIMIT)
           { 
             if(
    sll>0){sl=prc+(sll*pt);}else{sl=0;}
             if(
    pof>0){tp=prc-(pof*pt);}else{tp=0;}
             
    clr=Red;
             
    T="Bid";
             
    pr=NormalizeDouble(Bid,Digits);
           }     
             
    int tik=OrderSend(Symbol()
                    ,
    ty
                    
    ,Lots
                    
    ,NormalizeDouble(prc,Digits)
                    ,
    10
                    
    ,sl
                    
    ,tp
                    
    ,"KHALED"
                    
    ,MagicNumber
                    
    ,0
                    
    ,clr);
                    
                
    string t;
                if(
    ty==OP_BUY)t="BUY";if(ty==OP_SELL)t="SELL";
                if(
    ty==OP_BUYSTOP)t="BUY STOP";
                if(
    ty==OP_SELLSTOP)t="SELL STOP";
                if(
    ty==OP_BUYLIMIT)t="BUY LIMIT";
                if(
    ty==OP_SELLLIMIT)t="SELL LIMIT";
                if(
    tik>0)
                   {
                      Print(
    "Order Opened successfully   " ,"Type   ",t,"  LotSize   ",lot);
                   }
                else
                   {
                      Print(
    "OrderSend failed with error #",GetLastError(), " Type ",t,"  LotSize ",lot);
                   }
             return(
    tik);
      }
    //+------------------------------------------------------------------+
    //|                 دالة عدد الأوردرات                                |
    //+------------------------------------------------------------------+

    int ordtotal1(int type

       
    int total_2=0
       for(
    int b=0;b<OrdersTotal();b++)
       { 
          if(
    OrderSelect(b,SELECT_BY_POS,MODE_TRADES))
          {
           if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
             { 
               
    total_2++; 
             } 
          } 
        }
       return(
    total_2); 


  7. #6052
    الصورة الرمزية lion666666
    lion666666 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2014
    الإقامة
    مصر
    المشاركات
    32

    افتراضي متابعة تصحيح الاكسبيرت

    السلام عليكم
    لقد قمت بتعديل الاكسبيرت
    ولكن قابلتنى المشكلة الاتيه
    مثلا
    اقوم بتحديد توقيت عمل الاكسبيرت الساعة 01 (الواحدة صباحا)
    فيقوم الاكسبيرت بأخذ الهاى واللو لشمعة الساعة 00(الثانية عشر صباحا)
    ووضع صفقة باى ستوب وصفقة سل ستوب
    وعند تفعيل صفقة باى ستوب الى باى
    يقوب الاكسبيرت فتح صفقة سل ستوب بلوت مضاعف
    بنفس البروفت والستوب لوز
    لصفقة السل ستوب الاولى
    ولكن يكون التوقيت تغير والساعة اختلفت
    فياخذ هاى ولو الساعة السابقة للتوقيت الحالى
    وانا اريد هاى ولو الساعة 00 (الثانية عشر صباحا)
    فما هو الحل
    لكم الف شكر
    كود PHP:
    //+------------------------------------------------------------------+
    //|                                                                  |
    //|                             KH_TEST_1                            |
    //|                                                                  |
    //+------------------------------------------------------------------+


    //+------------------------------------------------------------------+
    //|                  ENTRIES                                         |
    //+------------------------------------------------------------------+
    extern double      Lots =0.01;
    extern int   TakeProfit =20;
    extern int    StartHour =02;            
    extern int         Step =20;
    extern int  MagicNumber =900;
    //+------------------------------------------------------------------+
    //|                  Variables                                       |
    //+------------------------------------------------------------------+
    double pt;
    double Lots_2;
    double L;
    double Buyentery;
    double Sellentery;
    double StopLoss_2;
    double MathCeil;
    int    StopLoss;
    //+------------------------------------------------------------------+
    //|                 دالة المنصة رباعية أو خماسية                               |
    //+------------------------------------------------------------------+
    int init()
      {
          if(
    Digits==5||Digits==4
             { 
                
    pt=0.0001
             } 
          else
             { 
                
    pt=0.01
             }
       return(
    0);
      }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit()
      {
    //----
       
    //----
       
    return(0);
      }

    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start()
      {
       
    bool time=(Time[0]>=StartHour);
       
    double hi=iHigh(Symbol(),0,1);
       
    double lo=iLow(Symbol(),0,1);
       
    Buyentery=hi+Step*pt;
       
    Sellentery=lo-Step*pt;
    //+------------------------------------------------------------------+
    //|          حساب ستوب لوز المضاعفة وقيمة المضاعفة                   |
    //+------------------------------------------------------------------+
       
    StopLoss=((Buyentery-Sellentery)/pt+1);
       
    L=StopLoss/TakeProfit ;
       
    Lots_2=LotsMathCeilL);
                     
    //+------------------------------------------------------------------+                  

       
    if(time==true&&ordtotal1(OP_BUYSTOP)==0&&ordtotal1(OP_BUY)==0&&ordtotal1(OP_SELL)==0)
          {
             
    open(OP_BUYSTOP,Lots,Buyentery,TakeProfit,StopLoss) ;
          }
       
       if(
    time==true&&ordtotal1(OP_SELLSTOP)==0&&ordtotal1(OP_SELL)==0&&ordtotal1(OP_BUY)==0)
          {
             
    open(OP_SELLSTOP,Lots,Sellentery,TakeProfit,StopLoss) ;
             
          }
    //+------------------------------------------------------------------+
    //|                   المضاعفة                                       |
    //+------------------------------------------------------------------+
       
    if(time==true&&ordtotal1(OP_BUY)==1&&ordtotal1(OP_SELLSTOP)==1)
          {
             
    open(OP_SELLSTOP,Lots_2,Sellentery,TakeProfit,StopLoss) ;
          }
          
       if(
    time==true&&ordtotal1(OP_SELL)==1&&ordtotal1(OP_BUYSTOP)==1)
          { 
             
    open(OP_BUYSTOP,Lots_2,Buyentery,TakeProfit,StopLoss) ;
          }
       return(
    0);
      }
    //+------------------------------------------------------------------+
    int open(int ty,double lot,double prc,int pof,int sll)
      {
        
    double sl=0,tp=0;
        
    color clr;
        
    string T;double pr;
        if(
    ty==OP_BUY || ty==OP_BUYSTOP || ty==OP_BUYLIMIT)
            {
             if(
    sll>0)
                {
                   
    sl=prc-(sll*pt);
                }else
                   {
                      
    sl=0;
                   }
             if(
    pof>0){tp=prc+(pof*pt);}else{tp=0;}
             
    clr=Green;
             
    T="Ask ";
             
    pr=NormalizeDouble(Ask,Digits);
            }
         if(
    ty==OP_SELL || ty==OP_SELLSTOP || ty==OP_SELLLIMIT)
           { 
             if(
    sll>0){sl=prc+(sll*pt);}else{sl=0;}
             if(
    pof>0){tp=prc-(pof*pt);}else{tp=0;}
             
    clr=Red;
             
    T="Bid";
             
    pr=NormalizeDouble(Bid,Digits);
           }     
             
    int tik=OrderSend(Symbol()
                    ,
    ty                          //int      cmd,                 // operation
                    
    ,lot                         //double   volume,              // volume
                    
    ,prc                         //double   price,               // price
                    
    ,10                          //int      slippage,            // slippage
                    
    ,sl                          //double   stoploss,            // stop loss
                    
    ,tp                          //double   takeprofit,          // take profit
                    
    ,"KHALED"                    //string   comment=NULL,        // comment
                    
    ,MagicNumber                 //int      magic=0,             // magic number
                    
    ,0                           //datetime expiration=0,        // pending order expiration
                    
    ,clr);                       //color    arrow_color=clrNONE  // color
                    
                    /////////
              
    string t;
                if(
    ty==OP_BUY)t="BUY";if(ty==OP_SELL)t="SELL";
                if(
    ty==OP_BUYSTOP)t="BUY STOP";
                if(
    ty==OP_SELLSTOP)t="SELL STOP";
                if(
    ty==OP_BUYLIMIT)t="BUY LIMIT";
                if(
    ty==OP_SELLLIMIT)t="SELL LIMIT";
           if(
    tik>0)
             {
              Print(
    "Order Opened successfully   " ,"Type   ",t,"  LotSize   ",lot);
             }
             else
               {
                Print(
    "OrderSend failed with error #",GetLastError(), " Type ",t,"  LotSize ",lot);
               }
              return(
    tik);
      }
    //+------------------------------------------------------------------+
    //|                  دالة عدد الأوردرات                               |
    //+------------------------------------------------------------------+
    int ordtotal1(int type

       
    int total_2=0
       for(
    int b=0;b<OrdersTotal();b++)
       { 
          if(
    OrderSelect(b,SELECT_BY_POS,MODE_TRADES))
          {
           if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
             { 
               
    total_2++; 
             } 
          } 
        }
       return(
    total_2); 


  8. #6053
    الصورة الرمزية 10pips
    10pips غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Aug 2008
    الإقامة
    فلسطين
    المشاركات
    2,612

    افتراضي

    الحل هو ان تحفظ سعر الهاي واللو لشمعة الساعة 00 في متغيرات خارجية double

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة lion666666 مشاهدة المشاركة
    السلام عليكم
    لقد قمت بتعديل الاكسبيرت
    ولكن قابلتنى المشكلة الاتيه
    مثلا
    اقوم بتحديد توقيت عمل الاكسبيرت الساعة 01 (الواحدة صباحا)
    فيقوم الاكسبيرت بأخذ الهاى واللو لشمعة الساعة 00(الثانية عشر صباحا)
    ووضع صفقة باى ستوب وصفقة سل ستوب
    وعند تفعيل صفقة باى ستوب الى باى
    يقوب الاكسبيرت فتح صفقة سل ستوب بلوت مضاعف
    بنفس البروفت والستوب لوز
    لصفقة السل ستوب الاولى
    ولكن يكون التوقيت تغير والساعة اختلفت
    فياخذ هاى ولو الساعة السابقة للتوقيت الحالى
    وانا اريد هاى ولو الساعة 00 (الثانية عشر صباحا)
    فما هو الحل
    لكم الف شكر
    كود PHP:
    //+------------------------------------------------------------------+
    //|                                                                  |
    //|                             KH_TEST_1                            |
    //|                                                                  |
    //+------------------------------------------------------------------+
     
     
    //+------------------------------------------------------------------+
    //|                  ENTRIES                                         |
    //+------------------------------------------------------------------+
    extern double      Lots =0.01;
    extern int   TakeProfit =20;
    extern int    StartHour =02;            
    extern int         Step =20;
    extern int  MagicNumber =900;
    //+------------------------------------------------------------------+
    //|                  Variables                                       |
    //+------------------------------------------------------------------+
    double pt;
    double Lots_2;
    double L;
    double Buyentery;
    double Sellentery;
    double StopLoss_2;
    double MathCeil;
    int    StopLoss;
    //+------------------------------------------------------------------+
    //|                 دالة المنصة رباعية أو خماسية                               |
    //+------------------------------------------------------------------+
    int init()
      {
          if(
    Digits==5||Digits==4
             { 
                
    pt=0.0001
             } 
          else
             { 
                
    pt=0.01
             }
       return(
    0);
      }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit()
      {
    //----
       
    //----
       
    return(0);
      }
     
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start()
      {
       
    bool time=(Time[0]>=StartHour);
       
    double hi=iHigh(Symbol(),0,1);
       
    double lo=iLow(Symbol(),0,1);
       
    Buyentery=hi+Step*pt;
       
    Sellentery=lo-Step*pt;
    //+------------------------------------------------------------------+
    //|          حساب ستوب لوز المضاعفة وقيمة المضاعفة                   |
    //+------------------------------------------------------------------+
       
    StopLoss=((Buyentery-Sellentery)/pt+1);
       
    L=StopLoss/TakeProfit ;
       
    Lots_2=LotsMathCeilL);
                     
    //+------------------------------------------------------------------+                  
     
       
    if(time==true&&ordtotal1(OP_BUYSTOP)==0&&ordtotal1(OP_BUY)==0&&ordtotal1(OP_SELL)==0)
          {
             
    open(OP_BUYSTOP,Lots,Buyentery,TakeProfit,StopLoss) ;
          }
       
       if(
    time==true&&ordtotal1(OP_SELLSTOP)==0&&ordtotal1(OP_SELL)==0&&ordtotal1(OP_BUY)==0)
          {
             
    open(OP_SELLSTOP,Lots,Sellentery,TakeProfit,StopLoss) ;
             
          }
    //+------------------------------------------------------------------+
    //|                   المضاعفة                                       |
    //+------------------------------------------------------------------+
       
    if(time==true&&ordtotal1(OP_BUY)==1&&ordtotal1(OP_SELLSTOP)==1)
          {
             
    open(OP_SELLSTOP,Lots_2,Sellentery,TakeProfit,StopLoss) ;
          }
          
       if(
    time==true&&ordtotal1(OP_SELL)==1&&ordtotal1(OP_BUYSTOP)==1)
          { 
             
    open(OP_BUYSTOP,Lots_2,Buyentery,TakeProfit,StopLoss) ;
          }
       return(
    0);
      }
    //+------------------------------------------------------------------+
    int open(int ty,double lot,double prc,int pof,int sll)
      {
        
    double sl=0,tp=0;
        
    color clr;
        
    string T;double pr;
        if(
    ty==OP_BUY || ty==OP_BUYSTOP || ty==OP_BUYLIMIT)
            {
             if(
    sll>0)
                {
                   
    sl=prc-(sll*pt);
                }else
                   {
                      
    sl=0;
                   }
             if(
    pof>0){tp=prc+(pof*pt);}else{tp=0;}
             
    clr=Green;
             
    T="Ask ";
             
    pr=NormalizeDouble(Ask,Digits);
            }
         if(
    ty==OP_SELL || ty==OP_SELLSTOP || ty==OP_SELLLIMIT)
           { 
             if(
    sll>0){sl=prc+(sll*pt);}else{sl=0;}
             if(
    pof>0){tp=prc-(pof*pt);}else{tp=0;}
             
    clr=Red;
             
    T="Bid";
             
    pr=NormalizeDouble(Bid,Digits);
           }     
             
    int tik=OrderSend(Symbol()
                    ,
    ty                          //int      cmd,                 // operation
                    
    ,lot                         //double   volume,              // volume
                    
    ,prc                         //double   price,               // price
                    
    ,10                          //int      slippage,            // slippage
                    
    ,sl                          //double   stoploss,            // stop loss
                    
    ,tp                          //double   takeprofit,          // take profit
                    
    ,"KHALED"                    //string   comment=NULL,        // comment
                    
    ,MagicNumber                 //int      magic=0,             // magic number
                    
    ,0                           //datetime expiration=0,        // pending order expiration
                    
    ,clr);                       //color    arrow_color=clrNONE  // color
                    
                    /////////
              
    string t;
                if(
    ty==OP_BUY)t="BUY";if(ty==OP_SELL)t="SELL";
                if(
    ty==OP_BUYSTOP)t="BUY STOP";
                if(
    ty==OP_SELLSTOP)t="SELL STOP";
                if(
    ty==OP_BUYLIMIT)t="BUY LIMIT";
                if(
    ty==OP_SELLLIMIT)t="SELL LIMIT";
           if(
    tik>0)
             {
              Print(
    "Order Opened successfully   " ,"Type   ",t,"  LotSize   ",lot);
             }
             else
               {
                Print(
    "OrderSend failed with error #",GetLastError(), " Type ",t,"  LotSize ",lot);
               }
              return(
    tik);
      }
    //+------------------------------------------------------------------+
    //|                  دالة عدد الأوردرات                               |
    //+------------------------------------------------------------------+
    int ordtotal1(int type

       
    int total_2=0
       for(
    int b=0;b<OrdersTotal();b++)
       { 
          if(
    OrderSelect(b,SELECT_BY_POS,MODE_TRADES))
          {
           if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
             { 
               
    total_2++; 
             } 
          } 
        }
       return(
    total_2); 

    وعليكم السلام ورحمة الله وبركاته
    لحفظ توقيت ساعه معينه يمكن بحيث تسترجعها في أي وقت أن تستخدم الداله
    كود PHP:
    iBarShift 
    مثال
    كود PHP:
    datetime TradeTime=StringToTime(TimeToStr(TimeCurrent(),TIME_DATE)+" "+"00:00");
       
    int _Bar=iBarShift(Symbol(),0,TradeTime,false);
       
    double high=High[_Bar];
       
    double low=Low[_Bar]; 
    طبعا بدلا من 00:00 يمكن أن تستخدم متغير من نوع datetime بحيث تحدد الساعه التي تريد حساب الهاي واللو لها

  10. #6055
    الصورة الرمزية lion666666
    lion666666 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2014
    الإقامة
    مصر
    المشاركات
    32

    افتراضي شكر واجب

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

  11. #6056
    الصورة الرمزية lion666666
    lion666666 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2014
    الإقامة
    مصر
    المشاركات
    32

    افتراضي

    السلام عليكم
    اولا شكرا على الكود السابق
    لو سمحت عندى استفسار اخر
    عند استخدم دالة high و دالة low
    تاخذ الهاى 4 ارقام والمنصة عندى خمسة ارقام
    مثلا
    شمعة الساعة 00
    اللو 1.25339 على المنصة
    دالة اللو
    تحسب 1.2534
    سؤالى هو كيف اجعل دالة الهاى واللو تقرأ الخمس ارقام
    وشكرا لتعب حضرتك

  12. #6057
    الصورة الرمزية just_be
    just_be غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Feb 2014
    الإقامة
    مصر
    المشاركات
    28

    افتراضي

    السلام عليكم

    بعد اذنكم اريد فانكشن يقوم برسم جريد GRID علي الشارت ووضع اوامر بيع وشراء , في كل مستوي واحد يوجد امرين معلقين واحد شراء وواحد بيع والمستويات اعلي واسفل

    السعر (ويوجد متغير طبعا بحجم الجريد او متغير بعدد المستويات اعلي واسفل السعر ومتغير اخر بالمسافه بين المستويات بالنقاط), بالأضافه اللي بدايه عمل الفانكشن يقوم بوضع امرين

    سوق بيع وشرا من مكان تواجد السعر ثم بعد ذلك يقوم بوضع الأوامر المعلقه لكل مستوي

    ثانيا الجريد يجب ان يكون ديناميكي عندما يبتعد السعر محاولا الخروج من الجريد عندما يقترب من اخر مستوي بعدد معين من النقاط يقوم الفانكشن باضافه المزيد من الستويات (كل مستوي عباره عن امرين معلقين واحد شراء وواحد بيع من نفس المنطقه) حتي لا يخرج السعر خارج الجريد

    ارجو المساعده .

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة lion666666 مشاهدة المشاركة
    السلام عليكم
    اولا شكرا على الكود السابق
    لو سمحت عندى استفسار اخر
    عند استخدم دالة high و دالة low
    تاخذ الهاى 4 ارقام والمنصة عندى خمسة ارقام
    مثلا
    شمعة الساعة 00
    اللو 1.25339 على المنصة
    دالة اللو
    تحسب 1.2534
    سؤالى هو كيف اجعل دالة الهاى واللو تقرأ الخمس ارقام
    وشكرا لتعب حضرتك
    وعليكم السلام ورحمة الله وبركاته
    الداله ستحسب 4 أو 5 أرقام حسب المنصه عندك فإذا كانت 5 أرقام فسوف يظهر الهاي أو اللو 5 أرقام وليس لها علاقة بالداله
    أرفق الكود كامل الذي قمت بكتابته وسوف أوضح لك إن كان هناك خطأ في الكود

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

    افتراضي

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

    بعد اذنكم اريد فانكشن يقوم برسم جريد GRID علي الشارت ووضع اوامر بيع وشراء , في كل مستوي واحد يوجد امرين معلقين واحد شراء وواحد بيع والمستويات اعلي واسفل

    السعر (ويوجد متغير طبعا بحجم الجريد او متغير بعدد المستويات اعلي واسفل السعر ومتغير اخر بالمسافه بين المستويات بالنقاط), بالأضافه اللي بدايه عمل الفانكشن يقوم بوضع امرين

    سوق بيع وشرا من مكان تواجد السعر ثم بعد ذلك يقوم بوضع الأوامر المعلقه لكل مستوي

    ثانيا الجريد يجب ان يكون ديناميكي عندما يبتعد السعر محاولا الخروج من الجريد عندما يقترب من اخر مستوي بعدد معين من النقاط يقوم الفانكشن باضافه المزيد من الستويات (كل مستوي عباره عن امرين معلقين واحد شراء وواحد بيع من نفس المنطقه) حتي لا يخرج السعر خارج الجريد

    ارجو المساعده .
    وعليكم السلام ورحمة الله وبركاته
    راجع كود الإكسبرت المرفق وحاول فهم طريقة عمله تقريبا يستخدم نفس الطريقه
    الفكره الأساسيه في أنك ستستخدم الحلقه for بحيث تضع الأوامر المعلقه بالعدد المحدد ومع زيادة فرق نقاط الإستيب في كل مره
    مثال
    كود PHP:
    for(int i=1;i<=10;i++)
      {
        
    OpenPrice=Open[0]+20*i*Point;
        
    OrderSend(Symbol(),OP_SELLLIMIT,NewLot,NormalizeDouble(OpenPrice,Digits),3,0,0,"EA",MagicNumber,0,Red);
        
    OrderSend(Symbol(),OP_BUYSTOP,NewLot,NormalizeDouble(OpenPrice,Digits),3,0,0,"EA",MagicNumber,0,Blue);         
      } 
    الملفات المرفقة الملفات المرفقة

  15. #6060
    الصورة الرمزية lion666666
    lion666666 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2014
    الإقامة
    مصر
    المشاركات
    32

    افتراضي كيف اجعل دالة الهاى واللو تقرأ الخمس ارقام

    السلام عليكم
    MR.dollar
    متشكر جدا لردك السريع
    جزاك الله خيرا على تعبك هذا
    معلش هذا اول اكسبيرت لى واسئلتى كثيرة
    مرفق الاكسبيرت
    وطريقة عملة هى
    يقوم بفتح صفقة باى ستوب وصفقة سيل ستوب من هاى ولو شمعة محددة
    وعند تفعيل صفقة باى ستوب الى باى مثلا
    يتم فتح صفقة سيل ستوب مضاعفة(مرة واحدة فقط)
    ولكنه كان كلما اغلقت صفقة مفعلة او عند غلق الجهاز وفتحة مرة اخرى يقوم بعمل صفقة مضاعفة جديدة
    فقمت باضافة متغير tm
    حتى لا تتكرر لا اعلم هل ستنجح ام لا
    فارجوا مراجعة الاكسبيرت
    وكتابة ملاحظاتك
    باقى الاكسبيرت اريد مساعدة حضرتك
    لو تكرمت بكود لتنفيذ الآتى
    لو الصفقة المفعلة اغلقت على ربح يتم الغاء الصفقتين المعلقتين
    ولو اغلقت على خسارة سوف تفعل الصفقتين
    واريد بعد ذلك اغلاق الاكسبيرت
    هل يوجد دالة لاغلاق الاكسبيرت
    ومتشكر جدا
    رغم ان كلمة متشكر لا توافيك حقك
    كود PHP:
    //+------------------------------------------------------------------+
    //|                                                                  |
    //|                             KH_TEST_1                            |
    //|                                                                  |
    //+------------------------------------------------------------------+


    //+------------------------------------------------------------------+
    //|                  ENTRIES                                         |
    //+------------------------------------------------------------------+
    extern double      Lots        =0.01;
    extern int         TakeProfit  =20;
    extern int         StartHour   =20;
    extern string      Candle      ="00";      
    extern int         Step        =20;
    extern int         MagicNumber =900;
    //+------------------------------------------------------------------+
    //|                  Variables                                       |
    //+------------------------------------------------------------------+
    double pt;
    double Lots_2;
    double L;
    double Buyentery;
    double Sellentery;
    double StopLoss_2;
    double MathCeil;
    int    StopLoss;
    bool   Tm=false;

    //+------------------------------------------------------------------+
    //|                 دالة المنصة رباعية أو خماسية                               |
    //+------------------------------------------------------------------+
    int init()
      {
          if(
    Digits==5||Digits==4
             { 
                
    pt=0.0001
             } 
          else
             { 
                
    pt=0.01
             }
       return(
    0);
      }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit()
      {
    //----
       
    //----
       
    return(0);
      }

    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start()
      {
      
    datetime TradeTime=StringToTime(TimeToStr(TimeCurrent(),TIME_DATE)+" "+Candle);
                     
       
    bool time   = (Hour()>=StartHour);      
       
    int My_Bar  =  iBarShift(Symbol(),0,TradeTime,false);
       
    double hi   =  High[My_Bar];
       Print(
    "Hi          =",Hi);
       
    //عند طباعة الهاى يطبع الق يمة 4فقط رغم ان المنصة خماسية
       
    double lo   =  Low[My_Bar]; 
       
    Buyentery   =  hi+Step*pt;
       
    Sellentery  =  lo-Step*pt;

    //+------------------------------------------------------------------+
    //|          حساب ستوب لوز المضاعفة وقيمة المضاعفة                   |
    //+------------------------------------------------------------------+
       
    StopLoss=(((Buyentery-Sellentery)/pt)+1);
       
    L=StopLoss/TakeProfit ;
       
    Lots_2=LotsMathCeilL);
    //+------------------------------------------------------------------+
    //|          فتح  باي ستوب وسيل ستوب                                 |
    //+------------------------------------------------------------------+

       
    if(time==true&&ordtotal1(OP_BUYSTOP)==0&&ordtotal1(OP_BUY)==0&&ordtotal1(OP_SELL)==0)
       
          {
            
    open(OP_BUYSTOP,Lots,Buyentery,TakeProfit,StopLoss) ;
          }
       
       if(
    time==true&&ordtotal1(OP_SELLSTOP)==0&&ordtotal1(OP_SELL)==0&&ordtotal1(OP_BUY)==0)
          {

             
    open(OP_SELLSTOP,Lots,Sellentery,TakeProfit,StopLoss) ;
             
          }
    //+------------------------------------------------------------------+
    //|                   المضاعفة                                       |
    //+------------------------------------------------------------------+
       
    if(time==true&&Tm==false&&ordtotal1(OP_BUY)==1&&ordtotal1(OP_SELLSTOP)==1)
          {

             
    open(OP_SELLSTOP,Lots_2,Sellentery,TakeProfit,StopLoss) ;
             
    Tm=true;
          }
          
       if(
    time==true&&Tm==false&&ordtotal1(OP_SELL)==1&&ordtotal1(OP_BUYSTOP)==1)
          { 

             
    open(OP_BUYSTOP,Lots_2,Buyentery,TakeProfit,StopLoss) ;
             
    Tm=true;
          }
       return(
    0);
      }
    //+------------------------------------------------------------------+
    int open(int ty,double lot,double prc,int pof,int sll)
      {
        
    double sl=0,tp=0;
        
    color clr;
        
    string T;double pr;
        if(
    ty==OP_BUY || ty==OP_BUYSTOP || ty==OP_BUYLIMIT)
            {
             if(
    sll>0)
                {
                   
    sl=prc-(sll*pt);
                }else
                   {
                      
    sl=0;
                   }
             if(
    pof>0){tp=prc+(pof*pt);}else{tp=0;}
             
    clr=Green;
             
    T="Ask ";
             
    pr=NormalizeDouble(Ask,Digits);
            }
         if(
    ty==OP_SELL || ty==OP_SELLSTOP || ty==OP_SELLLIMIT)
           { 
             if(
    sll>0){sl=prc+(sll*pt);}else{sl=0;}
             if(
    pof>0){tp=prc-(pof*pt);}else{tp=0;}
             
    clr=Red;
             
    T="Bid";
             
    pr=NormalizeDouble(Bid,Digits);
           }     
             
    int tik=OrderSend(Symbol()
                    ,
    ty                          //int      cmd,                 // operation
                    
    ,lot                         //double   volume,              // volume
                    
    ,prc                         //double   price,               // price
                    
    ,10                          //int      slippage,            // slippage
                    
    ,sl                          //double   stoploss,            // stop loss
                    
    ,tp                          //double   takeprofit,          // take profit
                    
    ,"KHALED"                    //string   comment=NULL,        // comment
                    
    ,MagicNumber                 //int      magic=0,             // magic number
                    
    ,0                           //datetime expiration=0,        // pending order expiration
                    
    ,clr);                       //color    arrow_color=clrNONE  // color
                    
                    /////////
              
    string t;
                if(
    ty==OP_BUY)t="BUY";if(ty==OP_SELL)t="SELL";
                if(
    ty==OP_BUYSTOP)t="BUY STOP";
                if(
    ty==OP_SELLSTOP)t="SELL STOP";
                if(
    ty==OP_BUYLIMIT)t="BUY LIMIT";
                if(
    ty==OP_SELLLIMIT)t="SELL LIMIT";
           if(
    tik>0)
             {
              Print(
    "Order Opened successfully   " ,"Type   ",t,"  LotSize   ",lot);
             }
             else
               {
                Print(
    "OrderSend failed with error #",GetLastError(), " Type ",t,"  LotSize ",lot);
               }
              return(
    tik);
      }
    //+------------------------------------------------------------------+
    //|                  دالة عدد الأوردرات                               |
    //+------------------------------------------------------------------+
    int ordtotal1(int type

       
    int total_2=0
       for(
    int b=0;b<OrdersTotal();b++)
       { 
          if(
    OrderSelect(b,SELECT_BY_POS,MODE_TRADES))
          {
           if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
             { 
               
    total_2++; 
             } 
          } 
        }
       return(
    total_2); 


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

  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