النتائج 1 إلى 2 من 2
  1. #1
    الصورة الرمزية urlsaver
    urlsaver غير متواجد حالياً موقوف
    تاريخ التسجيل
    Nov 2010
    الإقامة
    المملكة العربية السعودية
    المشاركات
    203

    افتراضي مستر دولار ممكن مساعدتك ؟

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

    أعمل على برمجة استراتجية في المرفقات الصورة

    عند تعاكس البارابوليك نستفيد من مؤشر fractals فقط في منطقة التذبذب وفتح صفقة مع الاتجاه الذي كسره السعر

    1-برمجة الاكسبرت ولكن للأسف لا يتبع الاستراتجية فما السبب ؟
    2-ان أمكن أريد !! كود معادلة موفنج أفريج اكسبوننشل للاكسبرت وليس iMA

    شكرا


    كود:
    //+------------------------------------------------------------------+
    //|                                                        تفاؤل.mq4 |
    //|                      Copyright © 2012, MetaQuotes Software Corp. |
    //|                                        http://www.metaquotes.net |
    //+------------------------------------------------------------------+
    #property copyright "Copyright © 2012, MetaQuotes Software Corp."
    #property link      "http://www.metaquotes.net"
    int  sellopend=1;
    int  buyopend=1;
    extern double MP=1;
    extern int range1=0;
    extern int NO=5;
    extern double magic2=131313;
    extern double sar1=0.1;
    extern double sar11=0.01;
    extern double sar2=0.03;
    extern double sar22=0.2;
    extern double SL=0;
    extern double TP=40;
    extern double adx=0;
    extern string info0="Trade on certain Day from 2 to 5";
    extern int day=0;
    extern  string info4="--(Trade every day  ) --";
    extern bool allhr=true;
    extern  string info3="--(Trade hours 0 to 23 Min 0 to 59) --";
    extern int StartHour=1;
    extern int StartMinute=0;
    extern int EndMinute=59;
    extern int EndHour=23;
    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    int init()
      {
    //----
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit()
      {
    //----
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start()
      {
    int TIFI=0;//no trade
    if(allhr==false &&day==0&&(Hour()>=StartHour && Minute()>=StartMinute && Minute()<=EndMinute && Hour()<EndHour)){TIFI=1;}
    if(allhr==false &&day>0&&(Hour()>=StartHour && Minute()>=StartMinute && Minute()<=EndMinute && Hour()<EndHour) && DayOfWeek()==day){TIFI=1;}
    if (allhr==true &&(Hour()>=StartHour && Minute()>=StartMinute && Minute()<=EndMinute && Hour()<EndHour)){TIFI=1;}
    
    
      if (Point == 0.00001 || Point == 0.001)  {double range=range1*10*Point;/*if close*/}
    
    //fxsol 4 digits
    if (Point == 0.0001 || Point == 0.01)  {range=range1*Point;/*if close*/} 
    //----end
    int Magic=magic2;
      
    if(SL>0){
    double buysl=   Ask-SL*Point;
    double sellsl=   Bid+SL*Point;}
    else{buysl=0;sellsl=0;}
    
    if(TP>0){     
    double buytp=    Ask+TP*Point;
    double selltp=   Bid-TP*Point;
    }else{buytp=0;selltp=0;}
    int Q=1;
    if(Point==0.00001 || Point== 0.001){Q=10;
    if(SL>0){
     buysl=   Ask-SL*10*Point;
    sellsl=   Bid+SL*10*Point;}
    else{buysl=0;sellsl=0; }
    if(TP>0){     
     buytp=    Ask+TP*10*Point;
    selltp=   Bid-TP*10*Point;
    }else{buytp=0;selltp=0;}
    }
    
    //----
    
    if(
     (iSAR(NULL,0,sar1,sar11,0)<Close[0] && iSAR(NULL,0,sar2,sar22,0)<Close[0])
     ||
     (iSAR(NULL,0,sar1,sar11,0)>Close[0] && iSAR(NULL,0,sar2,sar22,0)>Close[0] ) 
    ){int vibration=0;buyopend=1;sellopend=1;}
    
    
    if(
     (iSAR(NULL,0,sar1,sar11,0)<Close[0] && iSAR(NULL,0,sar2,sar22,0)>Close[0])
     ||
     (iSAR(NULL,0,sar1,sar11,0)>Close[0] && iSAR(NULL,0,sar2,sar22,0)<Close[0] ) 
    ){vibration=1;}
    
    
    if(vibration==1  )
    {
    if(iFractals(NULL, 0, MODE_UPPER,3)>0//up
    ){double dnfrctals=iFractals(NULL, 0, MODE_UPPER,3);if(MyOrdersTotal(Magic)==0)buyopend=0;}
    
    if(iFractals(NULL, 0, MODE_LOWER,3)>0//low
    ){double upfrctals=iFractals(NULL, 0, MODE_LOWER,3);if(MyOrdersTotal(Magic)==0)sellopend=0;}
    
    }
    if(Open[0]<dnfrctals  &&MyOrdersTotal(Magic)==0 && sellopend==0   ){ double LOTS=AccountBalance()*MP/10000;
    OrderSend(Symbol(),OP_SELLSTOP,LOTS,dnfrctals,3,sellsl,selltp,"KSA SELL",magic2,0,Red);sellopend=1;
    }
    
    
    
    if(Open[0]>upfrctals &&MyOrdersTotal(Magic)==0 &&buyopend==0 ){ LOTS=AccountBalance()*MP/10000;
    OrderSend(Symbol(),OP_BUYSTOP,LOTS,upfrctals,3,buysl,buytp,"KSA BUY",magic2,0,Green);buyopend=1;
    }
    
    
    
    string scomment;
    string scomment1="\n Bid= ";
    string scomment2=scomment1 + Bid+ "\n";
    string scomment3=scomment2 ;
    string scomment4=scomment3 + " PSAR" +  "\n";
    string scomment5=scomment4 +"\n";
    string scomment6=scomment5 ;
    string scomment7=scomment6 ;
    string scomment8=scomment7 +"KSA info"+"\n";
    string scomment9=scomment8 +"High="+upfrctals+"\n";
    string scomment10=scomment9 +"LOW="+dnfrctals+"\n";
    string scomment11=scomment10 +MyOrdersTotalreal(magic2)+"\n";   
    string scomment12=scomment11 +"\n";
    string scomment13=scomment12;   
       
       Comment("WWW.URLSAVER.CO.CC \n",scomment12,"|| Spread=",MathAbs((Ask-Bid)/Point)); 
    
    
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    
    int MyOrdersTotalreal(int Magic)
    {
      int c=0;
      int total  = OrdersTotal();
      
      for (int cnt = 0 ; cnt < total ; cnt++)
      {
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()&& (OrderComment()=="KSA SELL" || OrderComment()=="KSA BUY"))
        { 
          c++;
        }
      }
      return(c);
    }
    
    int MyOrdersTotal(int Magic)
    {
      int c=0;
      int total  = OrdersTotal();
      
      for (int cnt = 0 ; cnt < total ; cnt++)
      {
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
        {
          c++;
        }
      }
      return(c);
    }
    int delete(int Magic)
    {
      int c=0;
      int total  = OrdersTotal();
      
      for (int cnt = 0 ; cnt < total ; cnt++)
      {
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_SELLLIMIT ||OrderType()==OP_BUYLIMIT) )
        {
       OrderDelete(OrderTicket());
        }
      }
      return(c);
    }
    
    
    
    
    int MyOrdersTotalbuy(int Magic)
    {
      int c=0;
      int total  = OrdersTotal();
      
      for (int cnt = 0 ; cnt < total ; cnt++)
      {
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()&& OrderType()==OP_BUY )
        {
          c++;
        }
      }
      return(c);
    }
    
    int MyOrdersTotalsell(int Magic)
    {
      int c=0;
      int total  = OrdersTotal();
      
      for (int cnt = 0 ; cnt < total ; cnt++)
      {
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()&& OrderType()==OP_SELL )
        {
          c++;
        }
      }
      return(c);
    }
    int MyOrdersTotalselllimit(int Magic)
    {
      int c=0;
      int total  = OrdersTotal();
      
      for (int cnt = 0 ; cnt < total ; cnt++)
      {
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()&& OrderType()==OP_SELLLIMIT)
        {
          c++;
        }
      }
      return(c);
    }
    
    int MyOrdersTotalbuylimit(int Magic)
    {
      int c=0;
      int total  = OrdersTotal();
      
      for (int cnt = 0 ; cnt < total ; cnt++)
      {
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()&& OrderType()==OP_BUYLIMIT)
        {
          c++;
        }
      }
      return(c);
    }
    
    int close(int Magic)
    {
      int c=0;
      int total  = OrdersTotal();
      
      for (int cnt = 0 ; cnt < total ; cnt++)
      {
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()  )
        {
       if(OrderType()==OP_SELL)OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
     if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);
        }
      }
      return(c);
    }
    int close2(int Magic)
    {
      int c=0;
      int total  = OrdersTotal();
      
      for (int cnt = 0 ; cnt < total ; cnt++)
      {
        OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (OrderMagicNumber() == Magic   )
        {
       if(OrderType()==OP_SELL)OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
     if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);
        }
      }
      return(c);
    }
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة Presentation1.jpg‏  
    الملفات المرفقة الملفات المرفقة

  2. #2
    الصورة الرمزية urlsaver
    urlsaver غير متواجد حالياً موقوف
    تاريخ التسجيل
    Nov 2010
    الإقامة
    المملكة العربية السعودية
    المشاركات
    203

    افتراضي

    لا تزال المشكلة قائمة وهي أنه يفتح الصفقات بمجرد تكون fractals
    وليس بخرقها والإغلاق فوقها


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17