صفحة 169 من 686 الأولىالأولى ... 69119159163164165166167168169170171172173174175179219269669 ... الأخيرةالأخيرة
النتائج 2,521 إلى 2,535 من 10286
  1. #2521
    الصورة الرمزية مبدع فوركس
    مبدع فوركس غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2011
    المشاركات
    166

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

    السلام عليكم استاذ اسامه لدى كذا سؤال :-
    1-اردت ان اجعل الهدف هو الفرق بين اكبر هاى واقل لو لفترة 20 شمعه سابقه
    فجعلت الكود هكذا
    كود PHP:
    int h=iHighest(Symbol(),0,MODE_HIGH,20,0);
          
    int l=iLowest(Symbol(),0,MODE_LOW,20,0);
    double tp;
          
    double tppip=(h-l); 
    وبالنسبه لاوامر الشراء والبيع هكذا
    كود PHP:
    tp=Ask+tppip*point;

       
    OrderSend(Symbol(),OP_BUY,lots,NormalizeDouble(Ask,digits),3*Q,NormalizeDouble(sl,digits),NormalizeDouble(tp,digits),"ahmed",magicnumber,0,Blue);
       

    tp=Ask-tppip*point;

     
    OrderSend(Symbol(),OP_SELL,lots,NormalizeDouble(Bid,digits),3*Q,NormalizeDouble(sl,digits),NormalizeDouble(tp,digits),"ahmed",magicnumber,0,Red); 
    فالاحظ انه لا يأتى بالقيمه الصحيحه فمثلا يكون الفرق بين اكبر هاى واكبر للو 30 فيعطينى 6 او 15 وهكذا
    وايضا يعطنى باستمرار خطأ 130 على الرغم انى جعلت التيك بروفت كقيمه ثابته 30 والاستوب كذالك وايضا ونفس المشكله تظهر

    اذا اردت الكود كاملا فهو
    كود PHP:
    //+------------------------------------------------------------------+
    //|                                                        first.mq4 |
    //|                        Copyright 2012, MetaQuotes Software Corp. |
    //|                                        http://www.metaquotes.net |
    //+------------------------------------------------------------------+
    #property copyright "Ahmed abdelatef"
    #property link      "Nothing"

    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    extern int stoploss=0;

    extern int magicnumber=6630;
    extern double lots=1;
    extern int stocksell=80;
    extern int stockbuy=20;
    extern bool usemulti=false;
    extern double multi=2;
    extern int step=20;


    double point;
     
    int digits,Q;
                               
     
    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                                 |
    //+------------------------------------------------------------------+
    void deinit() {
        
    Comment("");
      }

     
    int orderstotal(){
     
    int cnt=0;
       for(
    int i =0;i<OrdersTotal();i++){
         
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
           if(
    OrderSymbol()==Symbol() && magicnumber==OrderMagicNumber()){
             
    cnt++;
           }
         }
        return(
    cnt);
      }

      
    datetime time0;
      
      
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start()
      {
          
          
    int h=iHighest(Symbol(),0,MODE_HIGH,20,0);
          
    int l=iLowest(Symbol(),0,MODE_LOW,20,0);
          
    double openprice,newlot,lot;int s;double sldouble tp;
          
    double tppip=(h-l)*5;
          if(
    usemulti){
          
          for(
    s=0;s<OrdersTotal();s++){
          
    OrderSelect(s,SELECT_BY_POS,MODE_TRADES);
          if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==magicnumber&&OrderType()==OP_BUY){
          
    openprice=OrderOpenPrice();lot=OrderLots();
          
          }
               } 
                 }
                 
                 { 
                 
          
    newlot=multi*lot;
          if(
    Ask<=openprice-step*point&&orderstotal()>=1){  
          
    tp=Ask+tppip*point;
          if(
    stoploss==0){sl=0;}else{sl=Ask-stoploss*point;}
          
    OrderSend(Symbol(),OP_BUY,newlot,NormalizeDouble(Ask,digits),3*Q,NormalizeDouble(sl,digits),NormalizeDouble(tp,digits),"ahmed",magicnumber,0,GreenYellow);
          
          
          }
             }
             
             for(
    s=0;s<OrdersTotal();s++){
             
    OrderSelect(s,SELECT_BY_POS,MODE_TRADES);
             if(
    OrderSymbol()==Symbol()&&OrderType()==OP_SELL&&OrderMagicNumber()==magicnumber){
             
    openprice=OrderOpenPrice(); lot=OrderLots();
             
             }
               }
               
             {
             
    newlot=lot*multi;
             if(
    Bid>=openprice+step*point&&orderstotal()>=1){
             
    tp=Ask-tppip*point;
              if(
    stoploss==0){sl=0;}else{sl=Bid+stoploss*point;}
             
    OrderSend(Symbol(),OP_SELL,newlot,NormalizeDouble(Bid,digits),3*Q,NormalizeDouble(sl,digits),NormalizeDouble(tp,digits),"ahmed",magicnumber,0,Chocolate);  
             
             
            }
               }
                

    /////////////////////////


    double stock1=iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,1);




    if(
    stock1<stockbuy&&lastorder()>0){

    if(
    orderstotal()<1){

    if(
    stoploss==0){sl=0;}else{sl=Ask-stoploss*point;}
    tp=Ask+tppip*point;


    if(
    time0!=Time[0]){

       
    OrderSend(Symbol(),OP_BUY,lots,NormalizeDouble(Ask,digits),3*Q,NormalizeDouble(sl,digits),NormalizeDouble(tp,digits),"ahmed",magicnumber,0,Blue);
       
    time0=Time[0];
       
    PlaySound("alert.wav");
       }
          }
           }
     
    /////////////////////////////

     
     
    if(stock1>stocksell&&lastorder()!=1){
     
     if(
    orderstotal()<1){
     
     if(
    stoploss==0){sl=0;}else{sl=Bid+stoploss*point;}
     
    tp=Ask-tppip*point;
     
     if(
    time0!=Time[0]){
     
    OrderSend(Symbol(),OP_SELL,lots,NormalizeDouble(Bid,digits),3*Q,NormalizeDouble(sl,digits),NormalizeDouble(tp,digits),"ahmed",magicnumber,0,Red);
     
    time0=Time[0];
     
    PlaySound("alert.wav");
       }
         }
          }
           }
          
    /////////////////////////////
         
           
    int lastorder(){
           for(
    int i=OrdersHistoryTotal();i>=0;i--){
           
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
           if (
    OrderSymbol()==Symbol()&&OrderMagicNumber()==magicnumber){
           return(
    OrderType());
           
           }
              }
           return(
    2);
                 }  
    //+------------------------------------------------------------------+ 
    2- فى بعض الاكواد تكتب فى نهاية الداله
    كود PHP:
    return(2
    او هكذا
    كود PHP:
    return(-1
    اليس الامر ريتيرن يعنى انه سيفحص الداله ويرجع بالقيمه المطلوبه واذا كانت هكذا
    كود PHP:
    return(0
    اى سيظل يبحث فى الداله باستمرار اذا فما الفرق بينهما
    3- اريد فهم عمل الحلقه جيدا فماذا تعنى الحلقه بهذا الشكل مثلا
    كود PHP:
    for(int i =OrdersTotal()-1;i>=0;i--){ 
    وايضا فى بعض الاوقات مثلا عند ايجاد اخر عقد مفتوح تستخدم الداله بالتناقص هكذا
    كود PHP:
    double LastLot(){
    for(
    int i=OrdersTotal();i>=0;i--){
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
    return(
    OrderLots());

     }
    }
    return(
    0);

    ومرات اخرى تستخدمه بالتزايد هكذا
    كود PHP:
    double LastLot(){
    double L;
    for(
    int i=0;i<OrdersHistoryTotal();i++){
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
    if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
     
    L=OrderLots();
      }
     }
     return(
    L); 
    فما الفرق بينهما
    واسف على الاطاله
    آخر تعديل بواسطة مبدع فوركس ، 29-07-2012 الساعة 08:44 AM

  2. #2522
    الصورة الرمزية spiders101
    spiders101 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2011
    الإقامة
    مصــر
    المشاركات
    935

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

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    ما رأيك بإضافة تعبير آخر للحلقه for
    كود PHP:
    int i,j;
       for(
    i=0,j=1;i<=NumOF_Additional_LIMITSTOPLots;i++,j+=j){ 

    if(
    OpenPrice(OP_BUY)!=&&orderstotal2(OP_BUYLIMIT)<&& NumOF_Additional_LIMITSTOP_Lots==true){ 
    OrderSend(Symbol(),OP_BUYLIMIT,lot*j,OpenPrice(OP_BUY)-Space*point*i,5*Q,NormalizeDouble(SL,digits),NormalizeDouble(TP,digits)," EA",MagicNumber,0,Blue);


    تم التعديل ، ولى سؤال هل يمكن إضافة نوع آخر من المضاعفات مثل مضاعفات فيبوناتشي لمثل هذا النوع من الأوامر المعلقة وكيف يتم ذلك فـ حالة إستخدام الحلقة for

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    لا يوجد خطأ في الكود لكن إذا كنت تقصد
    Function is not referenced and will be removed
    فهذا ليس خطأ لكن لإنك لم تستخدم الداله ClosePrice داخل الكود فهو يخبرك بأن الداله سوف تم حذفها من ملف ex4 لأنها غير مستخدمه

    إذا جعلت القيمة False فهو سيعود بأقرب بار للتوقيت المحدد إذا لم يجد البار الذي تم تحديد التوقيت له
    إذا جعلت القيمه True فلن يبحث عن أقرب بار إذا لم يجد البار المحدد وسوف يعود بالقيمه -1 مباشرة
    استاذ اسامة انا أعلم سبب ظهور رسالة Function is not referenced

    ولكن أنا أريد معرفة لماذا لايتم إغلاق الصفقة على سعر إغلاق الشمعة السابقة ، وقمت بعمل اكسيبرت فقط لهذا الشرط فـ المرفقـات ، ومرفق صورة للصفقات التى لم يتم إغلاقها حسب الشروط
    وأنا قمت بتعريف المتغيرات التالية خارج دالة ستارت
    كود PHP:
    double buys1,SeLLsl
    ووضع الشرط التالى داخل دالة ستارت
    كود PHP:
    if(Ask||Bid==buys1||SeLLsl){CloseOrders();} 
    هل يوجد خطـأ فـ الشرط السابق وما سبب مشكلة عدم الإغلاق على سعر إغلاق الشمعة السابقة
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 3.gif‏  
    الملفات المرفقة الملفات المرفقة

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة مبدع فوركس مشاهدة المشاركة
    السلام عليكم استاذ اسامه لدى كذا سؤال :-
    1-اردت ان اجعل الهدف هو الفرق بين اكبر هاى واقل لو لفترة 20 شمعه سابقه
    فجعلت الكود هكذا
    كود PHP:
    int h=iHighest(Symbol(),0,MODE_HIGH,20,0);
          
    int l=iLowest(Symbol(),0,MODE_LOW,20,0);
    double tp;
          
    double tppip=(h-l); 
    وبالنسبه لاوامر الشراء والبيع هكذا
    كود PHP:
    tp=Ask+tppip*point;

       
    OrderSend(Symbol(),OP_BUY,lots,NormalizeDouble(Ask,digits),3*Q,NormalizeDouble(sl,digits),NormalizeDouble(tp,digits),"ahmed",magicnumber,0,Blue);
       

    tp=Ask-tppip*point;

     
    OrderSend(Symbol(),OP_SELL,lots,NormalizeDouble(Bid,digits),3*Q,NormalizeDouble(sl,digits),NormalizeDouble(tp,digits),"ahmed",magicnumber,0,Red); 
    فالاحظ انه لا يأتى بالقيمه الصحيحه فمثلا يكون الفرق بين اكبر هاى واكبر للو 30 فيعطينى 6 او 15 وهكذا
    وايضا يعطنى باستمرار خطأ 130 على الرغم انى جعلت التيك بروفت كقيمه ثابته 30 والاستوب كذالك وايضا ونفس المشكله تظهر

    اذا اردت الكود كاملا فهو
    كود PHP:
    //+------------------------------------------------------------------+
    //|                                                        first.mq4 |
    //|                        Copyright 2012, MetaQuotes Software Corp. |
    //|                                        http://www.metaquotes.net |
    //+------------------------------------------------------------------+
    #property copyright "Ahmed abdelatef"
    #property link      "Nothing"

    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    extern int stoploss=0;

    extern int magicnumber=6630;
    extern double lots=1;
    extern int stocksell=80;
    extern int stockbuy=20;
    extern bool usemulti=false;
    extern double multi=2;
    extern int step=20;


    double point;
     
    int digits,Q;
                               
     
    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                                 |
    //+------------------------------------------------------------------+
    void deinit() {
        
    Comment("");
      }

     
    int orderstotal(){
     
    int cnt=0;
       for(
    int i =0;i<OrdersTotal();i++){
         
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
           if(
    OrderSymbol()==Symbol() && magicnumber==OrderMagicNumber()){
             
    cnt++;
           }
         }
        return(
    cnt);
      }

      
    datetime time0;
      
      
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start()
      {
          
          
    int h=iHighest(Symbol(),0,MODE_HIGH,20,0);
          
    int l=iLowest(Symbol(),0,MODE_LOW,20,0);
          
    double openprice,newlot,lot;int s;double sldouble tp;
          
    double tppip=(h-l)*5;
          if(
    usemulti){
          
          for(
    s=0;s<OrdersTotal();s++){
          
    OrderSelect(s,SELECT_BY_POS,MODE_TRADES);
          if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==magicnumber&&OrderType()==OP_BUY){
          
    openprice=OrderOpenPrice();lot=OrderLots();
          
          }
               } 
                 }
                 
                 { 
                 
          
    newlot=multi*lot;
          if(
    Ask<=openprice-step*point&&orderstotal()>=1){  
          
    tp=Ask+tppip*point;
          if(
    stoploss==0){sl=0;}else{sl=Ask-stoploss*point;}
          
    OrderSend(Symbol(),OP_BUY,newlot,NormalizeDouble(Ask,digits),3*Q,NormalizeDouble(sl,digits),NormalizeDouble(tp,digits),"ahmed",magicnumber,0,GreenYellow);
          
          
          }
             }
             
             for(
    s=0;s<OrdersTotal();s++){
             
    OrderSelect(s,SELECT_BY_POS,MODE_TRADES);
             if(
    OrderSymbol()==Symbol()&&OrderType()==OP_SELL&&OrderMagicNumber()==magicnumber){
             
    openprice=OrderOpenPrice(); lot=OrderLots();
             
             }
               }
               
             {
             
    newlot=lot*multi;
             if(
    Bid>=openprice+step*point&&orderstotal()>=1){
             
    tp=Ask-tppip*point;
              if(
    stoploss==0){sl=0;}else{sl=Bid+stoploss*point;}
             
    OrderSend(Symbol(),OP_SELL,newlot,NormalizeDouble(Bid,digits),3*Q,NormalizeDouble(sl,digits),NormalizeDouble(tp,digits),"ahmed",magicnumber,0,Chocolate);  
             
             
            }
               }
                

    /////////////////////////


    double stock1=iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,1);




    if(
    stock1<stockbuy&&lastorder()>0){

    if(
    orderstotal()<1){

    if(
    stoploss==0){sl=0;}else{sl=Ask-stoploss*point;}
    tp=Ask+tppip*point;


    if(
    time0!=Time[0]){

       
    OrderSend(Symbol(),OP_BUY,lots,NormalizeDouble(Ask,digits),3*Q,NormalizeDouble(sl,digits),NormalizeDouble(tp,digits),"ahmed",magicnumber,0,Blue);
       
    time0=Time[0];
       
    PlaySound("alert.wav");
       }
          }
           }
     
    /////////////////////////////

     
     
    if(stock1>stocksell&&lastorder()!=1){
     
     if(
    orderstotal()<1){
     
     if(
    stoploss==0){sl=0;}else{sl=Bid+stoploss*point;}
     
    tp=Ask-tppip*point;
     
     if(
    time0!=Time[0]){
     
    OrderSend(Symbol(),OP_SELL,lots,NormalizeDouble(Bid,digits),3*Q,NormalizeDouble(sl,digits),NormalizeDouble(tp,digits),"ahmed",magicnumber,0,Red);
     
    time0=Time[0];
     
    PlaySound("alert.wav");
       }
         }
          }
           }
          
    /////////////////////////////
         
           
    int lastorder(){
           for(
    int i=OrdersHistoryTotal();i>=0;i--){
           
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
           if (
    OrderSymbol()==Symbol()&&OrderMagicNumber()==magicnumber){
           return(
    OrderType());
           
           }
              }
           return(
    2);
                 }  
    //+------------------------------------------------------------------+ 
    2- فى بعض الاكواد تكتب فى نهاية الداله
    كود PHP:
    return(2
    او هكذا
    كود PHP:
    return(-1
    اليس الامر ريتيرن يعنى انه سيفحص الداله ويرجع بالقيمه المطلوبه واذا كانت هكذا
    كود PHP:
    return(0
    اى سيظل يبحث فى الداله باستمرار اذا فما الفرق بينهما
    3- اريد فهم عمل الحلقه جيدا فماذا تعنى الحلقه بهذا الشكل مثلا
    كود PHP:
    for(int i =OrdersTotal()-1;i>=0;i--){ 
    وايضا فى بعض الاوقات مثلا عند ايجاد اخر عقد مفتوح تستخدم الداله بالتناقص هكذا
    كود PHP:
    double LastLot(){
    for(
    int i=OrdersTotal();i>=0;i--){
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
    return(
    OrderLots());

     }
    }
    return(
    0);

    ومرات اخرى تستخدمه بالتزايد هكذا
    كود PHP:
    double LastLot(){
    double L;
    for(
    int i=0;i<OrdersHistoryTotal();i++){
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
    if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
     
    L=OrderLots();
      }
     }
     return(
    L); 
    فما الفرق بينهما
    واسف على الاطاله
    وعليكم السلام ورحمة الله وبركاته
    أولا لديك خطأ في حاسب الفرق بين الهاي واللو خلال 20 شمعه
    الداله iHighest و iLowest تعود برقم الشمعه التي تحقق عندها الهاي واللو وبعد أن تعرف رقم الشمعه يجب أن تستخدم رقم الشمعه لمعرفة قيمة الهاي واللو لها
    كود PHP:
      int h=iHighest(Symbol(),0,MODE_HIGH,20,0); 
          
    int l=iLowest(Symbol(),0,MODE_LOW,20,0); 
        
    double tp
          
    double tppip=(High[h]-Low[l]); 
    ثم ستكون الأوامر
    كود PHP:
     tp=Ask+tppip
     
    OrderSend(Symbol(),OP_BUY,lots,NormalizeDouble(Ask,digits),3*Q,NormalizeDouble(sl,digits),NormalizeDouble(tp,digits),"ahmed",magicnumber,0,Blue);   
      
    tp=Ask-tppip
     
    OrderSend(Symbol(),OP_SELL,lots,NormalizeDouble(Bid,digits),3*Q,NormalizeDouble(sl,digits),NormalizeDouble(tp,digits),"ahmed",magicnumber,0,Red); 
    return تعود بالقيمة الموجوده بين القوسين سواء كانت 0 أو -1 أو 2 أو أي قيمة فهي تنهي الداله وتعود بهذه القيمه

    بالنسبه للحلقات أنصحك بمراجعة هذه المشاركه

    https://forum.arabictrader.com/showt...=1#post1698141
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  4. #2524
    الصورة الرمزية مبدع فوركس
    مبدع فوركس غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2011
    المشاركات
    166

    افتراضي

    شكرا جزيلا لك على الاضاح استاذ اسامه وجزاك الله خيرااا

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

    افتراضي

    مستر دولار عايز الجملة دي لو سمحت ومش عارف صيغتها مثلا
    Sami2=SamiNo3=MagicNo = ???????
    extern int MagicNo=5566
    وضعت علامة الأستفهام عشان تفهم قصدي أيه المفروض يكتب مكان علامة الأستفهام ، والرقم 5566 اقصد به اي رقم سليم بدون كسور ، وشكرا لك
    الملفات المرفقة الملفات المرفقة
    آخر تعديل بواسطة Jmeel ، 30-07-2012 الساعة 04:58 AM

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة spiders101 مشاهدة المشاركة
    تم التعديل ، ولى سؤال هل يمكن إضافة نوع آخر من المضاعفات مثل مضاعفات فيبوناتشي لمثل هذا النوع من الأوامر المعلقة وكيف يتم ذلك فـ حالة إستخدام الحلقة for



    استاذ اسامة انا أعلم سبب ظهور رسالة Function is not referenced

    ولكن أنا أريد معرفة لماذا لايتم إغلاق الصفقة على سعر إغلاق الشمعة السابقة ، وقمت بعمل اكسيبرت فقط لهذا الشرط فـ المرفقـات ، ومرفق صورة للصفقات التى لم يتم إغلاقها حسب الشروط
    وأنا قمت بتعريف المتغيرات التالية خارج دالة ستارت
    كود PHP:
    double buys1,SeLLsl
    ووضع الشرط التالى داخل دالة ستارت
    كود PHP:
    if(Ask||Bid==buys1||SeLLsl){CloseOrders();} 
    هل يوجد خطـأ فـ الشرط السابق وما سبب مشكلة عدم الإغلاق على سعر إغلاق الشمعة السابقة
    يمكنك إضافة أي نوع مضاعفات إذا عرفت المعادله الرياضيه التي تعتمد عليها
    بالنسبه لمضاعفات فيبوناتشي فهي تعتمد على مجموع حجم لوت آخر صفقتين مفتوحه
    في هذه الحاله أنا أقوم بعمل داله لحساب حجم اللوت الجديد
    مثال
    كود PHP:
    double fibo_lots()
     {
     
    double newlot;
      for(
    int i=OrdersTotal();i>=0;i--){
       
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
       if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
        
    newlot+=OrderLots();
        
    N++;
        if(
    N==2)return(newlot);
        }
       }
      return(
    newlot);
     }
       for(
    int i=0;i<=NumOF_Additional_LIMITSTOPLots;i++){  

    if(
    OpenPrice(OP_BUY)!=&&orderstotal2(OP_BUYLIMIT)<&& NumOF_Additional_LIMITSTOP_Lots==true){  
    double lot=fibo_lots();
    OrderSend(Symbol(),OP_BUYLIMIT,lot,OpenPrice(OP_BUY)-Space*point*i,5*Q,NormalizeDouble(SL,digits),NormalizeDouble(TP,digits)," EA",MagicNumber,0,Blue); 


    بالنسبه للإكسبرت
    طريقة كتابتك للكود خاطئة فلا يمكن إستخدام عملية العطف || بهذا الطريقه لكن يجب تفصيلها
    كود PHP:
    if(Ask==buysl||Bid==buys1||Ask==SeLLsl||Bid==SeLLsl){CloseOrders();} 
    أيضا سؤال هل تريد إغلاق الصفقه على سعر إغلاق الشمعه السابقه أم على سعر إغلاق الشمعه السابقه للشمعه التي تم فتح الصفقه فيها بحيث لن تتغير حتى لو بعد مرور 10 شمعات ولم تغلق الصفقه بعد
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  7. #2527
    الصورة الرمزية spiders101
    spiders101 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2011
    الإقامة
    مصــر
    المشاركات
    935

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

    استاذ أسامة ، فـ الاكسيبرت المرفق عند تفعيل خاصية Reversed_Multiplier2 يتم فتح صفقات المضاعفات العكسية عن طريق وضع أوامر معلقة ، ووضعت هذه الشروط لفتح الصفقات
    كود PHP:
    if(OpenPrice(OP_BUY)!=0&&orderstotal2(OP_SELLLIMIT)<1&&LastOrderType()==OP_BUY&&Reversed_Multiplier2==true){
    OrderSend(Symbol(),OP_SELLLIMIT,lot*2,OpenPrice(OP_BUY)-Space*point,5*Q,NormalizeDouble(SL,digits),NormalizeDouble(TP,digits)," EA",MagicNumber,0,Red);}

    if(
    OpenPrice(OP_SELL)!=0&&orderstotal2(OP_BUYLIMIT)<1&&LastOrderType()==OP_SELL&&Reversed_Multiplier2==true){
    OrderSend(Symbol(),OP_BUYLIMIT,lot*2,OpenPrice(OP_SELL)+Space*point,5*Q,NormalizeDouble(SL,digits),NormalizeDouble(TP,digits)," EA",MagicNumber,0,Blue);} 
    ولكن يظهر خطـأ OrderSend error 130 سواء وضع تارجت او استوب او لم يتم وضعهم ، وايضـا لايتم وضع الأوامر المعلقة على الشارت
    الملفات المرفقة الملفات المرفقة

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة Jmeel مشاهدة المشاركة
    مستر دولار عايز الجملة دي لو سمحت ومش عارف صيغتها مثلا
    Sami2=SamiNo3=MagicNo = ???????
    extern int MagicNo=5566
    وضعت علامة الأستفهام عشان تفهم قصدي أيه المفروض يكتب مكان علامة الأستفهام ، والرقم 5566 اقصد به اي رقم سليم بدون كسور ، وشكرا لك
    هل تريد أن تساوي أكثر من متغير برقم المتغير MagicNo هذا ما تقصده؟
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة spiders101 مشاهدة المشاركة
    استاذ أسامة ، فـ الاكسيبرت المرفق عند تفعيل خاصية Reversed_Multiplier2 يتم فتح صفقات المضاعفات العكسية عن طريق وضع أوامر معلقة ، ووضعت هذه الشروط لفتح الصفقات
    كود PHP:
    if(OpenPrice(OP_BUY)!=0&&orderstotal2(OP_SELLLIMIT)<1&&LastOrderType()==OP_BUY&&Reversed_Multiplier2==true){
    OrderSend(Symbol(),OP_SELLLIMIT,lot*2,OpenPrice(OP_BUY)-Space*point,5*Q,NormalizeDouble(SL,digits),NormalizeDouble(TP,digits)," EA",MagicNumber,0,Red);}

    if(
    OpenPrice(OP_SELL)!=0&&orderstotal2(OP_BUYLIMIT)<1&&LastOrderType()==OP_SELL&&Reversed_Multiplier2==true){
    OrderSend(Symbol(),OP_BUYLIMIT,lot*2,OpenPrice(OP_SELL)+Space*point,5*Q,NormalizeDouble(SL,digits),NormalizeDouble(TP,digits)," EA",MagicNumber,0,Blue);} 
    ولكن يظهر خطـأ OrderSend error 130 سواء وضع تارجت او استوب او لم يتم وضعهم ، وايضـا لايتم وضع الأوامر المعلقة على الشارت
    الخطأ لديك في في نوع الأمر فيجب أن تحدد إذا كان سعر الدخول للأوامر المعلقه أقل من السعر الحالي فسوف يكون الأمر OP_SELLSTOP وليس ليميت وأيضا بالنسبه للشراء إذا كان سعر وضع الأمر المعلق أكبر من السعر الحالي فسوف يكون باي ستوب وليس ليميت
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  10. #2530
    الصورة الرمزية ahmedessam58
    ahmedessam58 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2008
    الإقامة
    مصر
    المشاركات
    493

    افتراضي

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

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    هل تريد أن تساوي أكثر من متغير برقم المتغير MagicNo هذا ما تقصده؟
    صحيح هذا قصدي

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة ahmedessam58 مشاهدة المشاركة
    لو توافرت شروط الدخول كلها ولكن السعر ابتعد 100 نقطه عن التنكن وبذلك يكون الدخول متأخر جدا ولذلك اريد الاكسبيرت ان لا يدخل فى اى صفقة تحققت فيها الشروط والسعر بعيد عن التنكن 75 نقطة مثلا .. فما هى صيغة الكود؟
    لا يوجد أن تسأل عن كل كود أخي العزيز فيجب أن تحاول بنفسك أولا وسوف تصل إلى الحل حتى تتعلم
    أنت تريد المقارنه بحيث يكون ( خط التنكن - السعر الحالي أقل من 100 نقطه ) وتضعه في شروط الدخول
    حول هذا الشرط إلى صيغته البرمجه وأخبرني بمحاولتك
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

    افتراضي

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


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

    مثلا
    كود PHP:
    extern int MagicNo=5566;
    Sami2=MagicNo;
    SamiNo3=MagicNo;
    sami3=MagicNo
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  14. #2534
    الصورة الرمزية ahmedessam58
    ahmedessam58 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2008
    الإقامة
    مصر
    المشاركات
    493

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    لا يوجد أن تسأل عن كل كود أخي العزيز فيجب أن تحاول بنفسك أولا وسوف تصل إلى الحل حتى تتعلم
    أنت تريد المقارنه بحيث يكون ( خط التنكن - السعر الحالي أقل من 100 نقطه ) وتضعه في شروط الدخول
    حول هذا الشرط إلى صيغته البرمجه وأخبرني بمحاولتك
    (Tenkan<Open[1])-100))
    كده صح؟

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة ahmedessam58 مشاهدة المشاركة
    (Tenkan<Open[1])-100))
    كده صح؟
    كود PHP:
    (Tenkan-Open[0]<100*Point
    هذا بالنسبه للبيع لكن في الشراء سيكون العكس لأن سعر إفتتاح الشمعه سيكون أكبر من التنكن
    كود PHP:
    (Open[0]-Tenkan<100*Point
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

  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