اكسبيرت رجاءا تصحيح و تعديل اكسبيرت
النتائج 1 إلى 7 من 7
  1. #1
    تاريخ التسجيل
    May 2016
    الإقامة
    المغرب
    العمر
    48
    المشاركات
    7

    افتراضي رجاءا تصحيح و تعديل اكسبيرت

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

  2. #2
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    9,340

    افتراضي

    كود PHP:
    //+------------------------------------------------------------------+
    //|                                                  forxylamdaba.mq4 |
    //|                       2018 forxytradie lamdaba                |
    //|                                                                  |
    //+------------------------------------------------------------------+

    extern double Long_Entry_pdr 5;
    extern double Short_Entry_pdr 5;
    extern double Long_stop_pdr 3;
    extern double Short_stop_pdr 3;
    extern double Lots_Acc_Equity 1;
    extern double TrailingStopflexe_pdr 70;
    extern double TakeProfit 70;
    extern double Slippage 3;

    extern double TrailingStopflexe_pdrMode true;
    double TrailingStopflexe;

    int    Hour_between_Period 24;

    int Current_day,Previous_day;
    int Previous_hour=0;

    double Lots=1.0;
    double yesterday_high=0;
    double yesterday_low=0;
    double yesterday_close=0;
    double today_open=0;
    double today_long_SL=0
    double today_short_SL=0;
    double today_buy=0;
    double today_sell=0;
    double yesterday_range=0;

    double Acc_Start_Equity;

    string EAName "lamdaba";         // identifies the EA
    int    uniqueMagic 20060122;   // Magic number of the trades
    int IsPositionOpen=false;

    //datetime Last_long_time=0, Last_short_time=0;

    void CheckOpenOrders()
    {
      
    int total OrdersTotal();
     {
      for(
    int i=total-1;i>=0;i--)
        
    bool to=OrderSelect(iSELECT_BY_POS);
        
    int type    OrderType();
        
    bool result false;
        
        if ( 
    OrderSymbol()==Symbol() && ( (OrderMagicNumber() == uniqueMagic) || (OrderComment() == EAName)) )  // only look if myEA and symbol...
         
    {
               
    //Close opened long positions
             
    if ( type == OP_BUY && OrderProfit()>0)
                {    
                
    result OrderCloseOrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), SlippageGreen );
                
    IsPositionOpen=false;
                }
               
    //Close opened short positions
             
    if ( type == OP_SELL && OrderProfit()>0)   
                {
                
    result OrderCloseOrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), SlippageRed );
                
    IsPositionOpen=false;
                }
          }
      }
      return;
    }

    void  init()
    {
    Acc_Start_Equity=AccountEquity()/3;
    Previous_day=Day();
    }
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
    int start()
      {
      
    //Short_Entry_pdr=Long_Entry_pdr;
      
    Short_stop_pdr=Long_stop_pdr;
       
    int tickettotal;
       
       if (
    Previous_day!=Day() && DayOfWeek()>&& DayOfWeek()<6
       {
          
    yesterday_highiHigh(NULL,PERIOD_D1,1);
          
    yesterday_lowiLow(NULL,PERIOD_D1,1);
          
    yesterday_closeiClose(NULL,PERIOD_D1,1);
          
    today_openiOpen(NULL,PERIOD_D1,0);
          
    yesterday_range=(yesterday_high-yesterday_low);
          
    /*
          today_pivot= (yesterday_high+yesterday_low+yesterday_close)/3;
          today_S1= 2*today_pivot-yesterday_high;
          today_S2= 
          today_R1= 2*today_pivot-yesterday_high;
          today_R2=
          */
          
    today_buytoday_open+yesterday_range*(Long_Entry_pdr/100)+MarketInfo(Symbol(),MODE_SPREAD)*Point;
          
    today_selltoday_open-yesterday_range*(Short_Entry_pdr/100);
          
    TrailingStopflexe=yesterday_range*(TrailingStopflexe_pdr/100);
     
          
    today_buy=MathRound(today_buy/Point)*Point;
          
    today_sell=MathRound(today_sell/Point)*Point;
          
          
    today_long_SLtoday_buy-yesterday_range*(Long_stop_pdr/100);
          
    today_short_SLtoday_sell+yesterday_range*(Short_stop_pdr/100)+MarketInfo(Symbol(),MODE_SPREAD)*Point;
      
          
    Lots0.1*MathCeil( (Lots_Acc_Equity/100)/( ((today_buy-today_long_SL)/Point)/(AccountFreeMargin()-Acc_Start_Equity))  );
     
          if (
    Lots<0.1Lots=0.1;
     
          Print(
    "Day: ",Day()," Order_Total : ",OrdersTotal()," Lots : ",Lots);
          
          if (
    IsPositionOpen==true)   CheckOpenOrders();
          
          if (
    OrdersTotal()>&& IsPositionOpen==false)
          {
             
    int totalorders OrdersTotal();
             for(
    int j=totalorders-1;j>=0;j--)                                // scan all orders and positions...
                
    {
                
    bool ret OrderSelect(jSELECT_BY_POS);

                if ( 
    OrderSymbol()==Symbol() && ( (OrderMagicNumber() == uniqueMagic) || (OrderComment() == EAName)) )  
                   {  
                   
    int type OrderType();
                   if ( 
    type bool result OrderDeleteOrderTicket() );
                   }
                } 
          }
          
          if (
    OrdersTotal()==0)
          {
             
    ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,today_buy,Slippage,today_long_SL,today_buy+Point*TakeProfit,EAName,uniqueMagic,0,Green);
             
    ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,today_sell,Slippage,today_short_SL,today_sell-Point*TakeProfit,EAName,uniqueMagic,0,Red);      
             
    IsPositionOpen=false;
          }
          
          
    Previous_dayDay();
       }
       else  {
    Previous_dayDay();}
       
       
       
    total OrdersTotal();
       for(
    int i=total-1;i>=0;i--)
       {
         
    ret OrderSelect(iSELECT_BY_POS);
        
    type    OrderType();
        
    result false;

        if ( 
    OrderSymbol()==Symbol() && ( (OrderMagicNumber() == uniqueMagic) || (OrderComment() == EAName)) )  // only look if myEA and symbol...
         

         if(
    OrderType()==OP_BUY)
         {
             if(
    TrailingStopflexe==true && TrailingStopflexe 0
             {                 
                   if(
    Bid OrderOpenPrice() > Point TrailingStopflexe) {
                      if(
    OrderStopLoss() < Bid Point TrailingStopflexe) {
                          
    ret OrderModify(OrderTicket(), OrderOpenPrice(), Bid Point TrailingStopflexeOrderTakeProfit(), 0MediumSeaGreen);
                         return(
    0);
                      }
                   }
             }
          }
          if(
    OrderType()==OP_SELL)
          {
             if(
    TrailingStopflexe==true && TrailingStopflexe 0) {                 
                   if((
    OrderOpenPrice() - Ask) > (Point TrailingStopflexe)) {
                      if((
    OrderStopLoss() > (Ask Point TrailingStopflexe)) || (OrderStopLoss() == 0)) {
                          
    ret OrderModify(OrderTicket(), OrderOpenPrice(), Ask Point TrailingStopflexeOrderTakeProfit(), 0DarkOrange);
                         return(
    0);
                      }
                   }
                }
          }
             if (( 
    type == OP_BUY || type == OP_SELL) && IsPositionOpen==false)  IsPositionOpentrue;
             if (
    IsPositionOpen==true && type>1result OrderDeleteOrderTicket() );
          }
       }


       return(
    0);
      }
    // the end. 
    توقيع العضو
    مبتدئ, دائما مبتدئ

  3. #3
    تاريخ التسجيل
    May 2016
    الإقامة
    المغرب
    العمر
    48
    المشاركات
    7

    افتراضي

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

  4. #4
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    9,340

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة lamdaba مشاهدة المشاركة
    شكرا اخي على الرد والحمد لله الا كسبيرت لا يعطي اخطاء عند compiliation لكن اخي هل يمكن ان تعطيني ايه التغييرات اللي قمت بها حتي استفيد منها
    بامكانك ان تقارن بين الكودين وتنظر لرقم السطر الخاطئ في كودك بدلا من هذا السؤال الاتكالي
    توقيع العضو
    مبتدئ, دائما مبتدئ

  5. #5
    تاريخ التسجيل
    May 2016
    الإقامة
    المغرب
    العمر
    48
    المشاركات
    7

    افتراضي

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

  6. #6
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    9,340

    افتراضي

    رقم سطر الخطا هل تصله بسرعة؟ هل تستطيع تحديده
    توقيع العضو
    مبتدئ, دائما مبتدئ

  7. #7
    تاريخ التسجيل
    May 2016
    الإقامة
    المغرب
    العمر
    48
    المشاركات
    7

    افتراضي

    شكرا اخي على التوجيه وجدت كل الا خطاء وبطريقة سهلة جدا وانا الان جد متفهم لرد فعلك والتمس العدر منك و شكرا على المساعدة وجاز الله خيرا اعتدر منك مرة اخرى اخي
    توقيع العضو
    اتعلم الفوركس