صفحة 594 من 689 الأولىالأولى ... 94494544584588589590591592593594595596597598599600604644 ... الأخيرةالأخيرة
النتائج 8,896 إلى 8,910 من 10335
  1. #8896
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,864

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة النظير مشاهدة المشاركة
    احتاج ان يتحرك في حالة عقد الشراء بان يكون تحت لو الشمعه السابقه
    وفي حالة البيع فوق هاي الشمعه السابقه
    ياليت يكون التعديل على نفس الاكسبيرت
    الموجود في المشاركه 8882
    بمعنى فقط اريد تعديل للاكسبيرت بحيث يتفادى الرشرط الذي عطل عمل التريلينق
    هذا مثال
    كود PHP:
    void TrailingStopFlex15()
    {
        for (
    int i=OrdersTotal()-1>= 0i--)
        if (
    OrderSelect(iSELECT_BY_POSMODE_TRADES))
        {
            if (
    OrderSymbol() == Symbol() && OrderMagicNumber() == 1)
            {
                
    double takeprofit OrderTakeProfit();
                
    double trailingstop Low[1];
                if (
    OrderType() == OP_BUY )
                {
                    if (
    OrderStopLoss() < Low[1]-(TrailingGap15*PipValue*Point))
                    {
                        if (
    NewTakeProfit15 != 0takeprofit Ask+(NewTakeProfit15*PipValue*Point trailingstop);
                        
    bool ret1 OrderModify(OrderTicket(), OrderOpenPrice(), Low[1]-(TrailingGap15*PipValue*Point), takeprofitOrderExpiration(), White);
                        if (
    ret1 == false)
                        Print(
    "OrderModify() error - "ErrorDescription(GetLastError()));
                    }
                }
                if (
    OrderType() == OP_SELL)
                {
                    if (
    OrderStopLoss() > High[1]+(TrailingGap15*PipValue*Point))
                    {
                        if (
    NewTakeProfit15 != 0takeprofit Bid-(NewTakeProfit15*PipValue*Point trailingstop);
                        
    bool ret2 OrderModify(OrderTicket(), OrderOpenPrice(),High[1]+(TrailingGap15*PipValue*Point), takeprofitOrderExpiration(), White);
                        if (
    ret2 == false)
                        Print(
    "OrderModify() error - "ErrorDescription(GetLastError()));
                    }
                }
            }
        }
        else
        Print(
    "OrderSelect() error - "ErrorDescription(GetLastError()));
        

    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  2. #8897
    الصورة الرمزية النظير
    النظير غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    May 2007
    الإقامة
    السعودية
    المشاركات
    1,954

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    هذا مثال
    كود PHP:
    void TrailingStopFlex15()
    {
        for (
    int i=OrdersTotal()-1>= 0i--)
        if (
    OrderSelect(iSELECT_BY_POSMODE_TRADES))
        {
            if (
    OrderSymbol() == Symbol() && OrderMagicNumber() == 1)
            {
                
    double takeprofit OrderTakeProfit();
                
    double trailingstop Low[1];
                if (
    OrderType() == OP_BUY )
                {
                    if (
    OrderStopLoss() < Low[1]-(TrailingGap15*PipValue*Point))
                    {
                        if (
    NewTakeProfit15 != 0takeprofit Ask+(NewTakeProfit15*PipValue*Point trailingstop);
                        
    bool ret1 OrderModify(OrderTicket(), OrderOpenPrice(), Low[1]-(TrailingGap15*PipValue*Point), takeprofitOrderExpiration(), White);
                        if (
    ret1 == false)
                        Print(
    "OrderModify() error - "ErrorDescription(GetLastError()));
                    }
                }
                if (
    OrderType() == OP_SELL)
                {
                    if (
    OrderStopLoss() > High[1]+(TrailingGap15*PipValue*Point))
                    {
                        if (
    NewTakeProfit15 != 0takeprofit Bid-(NewTakeProfit15*PipValue*Point trailingstop);
                        
    bool ret2 OrderModify(OrderTicket(), OrderOpenPrice(),High[1]+(TrailingGap15*PipValue*Point), takeprofitOrderExpiration(), White);
                        if (
    ret2 == false)
                        Print(
    "OrderModify() error - "ErrorDescription(GetLastError()));
                    }
                }
            }
        }
        else
        Print(
    "OrderSelect() error - "ErrorDescription(GetLastError()));
        

    وضعت التعديل في الاكسبيرت لكن المنصه علقت وكمان ماعرفت وين عملت التعديل انت علشان اعمله لتريلنق البيع يشتغل التريلنق كويس عندما يكون امر شراء واحد مفتوح لكن اذا فتح اكثر من امر تعلق المنصه
    اتعبتك معاي والله لكن تحملنا شوي نحاول نتعلم ونريحكم من طلباتنا
    آخر تعديل بواسطة النظير ، 20-02-2018 الساعة 04:40 PM

  3. #8898
    الصورة الرمزية sal_moh85
    sal_moh85 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2016
    الإقامة
    الإمارات العربية المتحدة
    العمر
    39
    المشاركات
    125

    افتراضي

    سلام عليكم مستر دولار ارجو شرح هذا الخطاء لماذ يحدث في هذه الداله
    كود PHP:
    void pandingTringsell2(int Magic )
    {
    for(
    int ii=0;ii<OrdersTotal();ii++)
    {
    if(
    OrderSelect(ii,SELECT_BY_POS,MODE_TRADES))
      
    double op=OrderOpenPrice();   
       
    double ppoint=MarketInfo(OrderSymbol(), MODE_POINT); 
    double pBid=MarketInfo(OrderSymbol(), MODE_BID); 
    double pAsk=MarketInfo(OrderSymbol(), MODE_ASK);
    {
    if(
    OrderType()==OP_SELLSTOP&&OrderMagicNumber() == Magic)
    {
       
    double Spread=(MarketInfo(Symbol(),MODE_SPREAD)*Point)*2;
       
    double prb=Bid-(Limitpip*Point);
       
    double TBS NormalizeDoubleprb- (Takeprofit*point),Digits);
       
    double SLS NormalizeDoubleprb+(Stoploss*point),Digits);
       if(
    Bid-(Limitpip*Point)>op+Spread)
    {
    bool sellOrderModify(OrderTicket(), prb,SLS,TBS,0,Red);
       if (
    sell == false)
       Print(
    "OrderModify() error - "ErrorDescription(GetLastError()));
    }
    }}}


    يظهر في خانة الجورنال 1OrderModify() error

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة sal_moh85 مشاهدة المشاركة
    سلام عليكم مستر دولار ارجو شرح هذا الخطاء لماذ يحدث في هذه الداله
    كود PHP:
    void pandingTringsell2(int Magic )
    {
    for(
    int ii=0;ii<OrdersTotal();ii++)
    {
    if(
    OrderSelect(ii,SELECT_BY_POS,MODE_TRADES))
      
    double op=OrderOpenPrice();   
       
    double ppoint=MarketInfo(OrderSymbol(), MODE_POINT); 
    double pBid=MarketInfo(OrderSymbol(), MODE_BID); 
    double pAsk=MarketInfo(OrderSymbol(), MODE_ASK);
    {
    if(
    OrderType()==OP_SELLSTOP&&OrderMagicNumber() == Magic)
    {
       
    double Spread=(MarketInfo(Symbol(),MODE_SPREAD)*Point)*2;
       
    double prb=Bid-(Limitpip*Point);
       
    double TBS NormalizeDoubleprb- (Takeprofit*point),Digits);
       
    double SLS NormalizeDoubleprb+(Stoploss*point),Digits);
       if(
    Bid-(Limitpip*Point)>op+Spread)
    {
    bool sellOrderModify(OrderTicket(), prb,SLS,TBS,0,Red);
       if (
    sell == false)
       Print(
    "OrderModify() error - "ErrorDescription(GetLastError()));
    }
    }}}
     

    يظهر في خانة الجورنال 1OrderModify() error
    وعليكم السلام ورحمة الله وبركاته
    الخطأ 1 يعني أنك تحاول إستخدام الداله OrderModify لكن بدون تغيير الهدف أو الأستوب السابق
    لذلك قبل إستخدام الداله OrderModify ضع شرط أن الهدف الجديد لا يساوي الهدف السابق أو الاستوب الجديد لا يساوي الأستوب السابق
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

    افتراضي

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

  6. #8901
    الصورة الرمزية bahoma31
    bahoma31 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2016
    الإقامة
    الجزائر
    المشاركات
    46

    افتراضي

    السلام عليكم اخي مستر دولار
    هل هناك دالة او كود او وظيفة اكتبها وتقوم بوظيفة كومبايل كل فترة زمنية انا احددها على المؤشر وشكرا مقدما واتمنا لك الفردوس الاعلى

  7. #8902
    الصورة الرمزية sal_moh85
    sal_moh85 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2016
    الإقامة
    الإمارات العربية المتحدة
    العمر
    39
    المشاركات
    125

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    الخطأ 1 يعني أنك تحاول إستخدام الداله OrderModify لكن بدون تغيير الهدف أو الأستوب السابق
    لذلك قبل إستخدام الداله OrderModify ضع شرط أن الهدف الجديد لا يساوي الهدف السابق أو الاستوب الجديد لا يساوي الأستوب السابق
    مشكور جدا مستر دولار وجزاك لله كل خير
    بدي نصيحتك كمبرمج بي نسبه بتعامل مع السبريد في الاوامر المعلقه متى نضيف السبريد ومتى نطرح السبريد وشكرا جزيلا

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة sal_moh85 مشاهدة المشاركة
    مشكور جدا مستر دولار وجزاك لله كل خير
    بدي نصيحتك كمبرمج بي نسبه بتعامل مع السبريد في الاوامر المعلقه متى نضيف السبريد ومتى نطرح السبريد وشكرا جزيلا
    إذا كنت تريد الدخول في الصفقة بناء على السعر الظاهر على الشارت بالظبط فسوف تضيف الإسبريد في أوامر الbuy stop وتطرح الإسبريد في أوامر الbuy limit
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة bahoma31 مشاهدة المشاركة
    السلام عليكم اخي مستر دولار
    هل هناك دالة او كود او وظيفة اكتبها وتقوم بوظيفة كومبايل كل فترة زمنية انا احددها على المؤشر وشكرا مقدما واتمنا لك الفردوس الاعلى
    وعليكم السلام ورحمة الله وبركاته
    لا يمكن ذلك . ما الفائدة التي تريدها من هذه الفكره ؟
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  10. #8905
    الصورة الرمزية bahoma31
    bahoma31 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2016
    الإقامة
    الجزائر
    المشاركات
    46

    افتراضي

    كود PHP:
    //+------------------------------------------------------------------+
    //|                                                      zzzzzzz.mq4 |
    //|                        Copyright 2016, MetaQuotes Software Corp. |
    //|                                              [email protected] |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2016, MetaQuotes Software Corp."
    #property link      "[email protected]"
    #property version   "1.00"
    #property strict
    #property indicator_chart_window
    #property indicator_buffers 7
    #property indicator_color1 clrYellow
    #property indicator_width1 2
    #property indicator_color2 clrGreen
    #property indicator_width2 2
    #property indicator_color3 clrRed
    #property indicator_width3 2
    #property indicator_color4 clrGold
    #property indicator_width4 2
    #property indicator_color5 clrWhite
    #property indicator_width5 3
    #property indicator_color6 clrRed
    #property indicator_width6 3
    #property indicator_color7 clrGreen
    #property indicator_width7 3








    input int Points 50;
    input bool ByClose False;
    double ZZ_Orlova[];
    double LastUp;
    double LastDn;
    bool LastIsUp;
    datetime LastPicTime=0,tim;
    int perB
    int Zbar[3];
    double Zval[3];
    int ZObar[6];
    double ZOval[6];
    //////
    double up[] ;
    double down[],a,b,c,e;
    int ma_priode=1;
    double moving78[],moving50[],moving103[],moving16[];
    int index=0;
    double first,second,third,fourth,five,sixth,lineforsell,espace,espaceprofit,lineforprofit ,lineforstoploss,lineforbuy,lineforaverage,espacestoploss,espaceaverage;
    int  firstcandel,secondcandel,thirdcandel,fourthcandel,fivecandel,sixthcandel,limit,fstBar;




    //+------------------------------------------------------------------+
    //| Custom indicator initialization function                         |
    //+------------------------------------------------------------------+
    int OnInit()
      {
    //--- indicator buffers mapping
        
    SetIndexStyle(0,DRAW_SECTION);
       
    SetIndexBuffer(0,ZZ_Orlova);
       
    SetIndexEmptyValue(0,0.0);  
       
    ////////////////////////////////
       
    SetIndexBuffer(1,up);
       
    SetIndexStyle(1,DRAW_ARROW);
       
    SetIndexArrow(1,233);
       
    ////////////////////////////////
       
    SetIndexBuffer(2,down);
       
    SetIndexStyle(2,DRAW_ARROW);
       
    SetIndexArrow(2,234);
    /////////////////////////////////////////////
       
    SetIndexBuffer(3,moving78);
       
    SetIndexStyle (3,DRAW_LINE,STYLE_SOLID,3,clrWhite);
       
    SetIndexDrawBegin(3,ma_priode);
       
    SetIndexLabel    (3,"auto ma_adjuster");
       
       
    /////////////////////////////////////////////////////

       
    SetIndexBuffer(4,moving16);
       
    SetIndexStyle (4,DRAW_LINE,STYLE_SOLID,3,clrRed);
       
    SetIndexDrawBegin(4,ma_priode);
       
    SetIndexLabel    (4,"takeprofite");
       
          
    /////////////////////////////////////////////////////

       
    SetIndexBuffer(5,moving50);
       
    SetIndexStyle (5,DRAW_LINE,STYLE_SOLID,3,clrGreen);
       
    SetIndexDrawBegin(5,ma_priode);
       
    SetIndexLabel    (5,"average");
       
          
    /////////////////////////////////////////////////////

       
    SetIndexBuffer(6,moving103);
       
    SetIndexStyle (6,DRAW_LINE,STYLE_SOLID,3,clrMagenta);
       
    SetIndexDrawBegin(6,ma_priode);
       
    SetIndexLabel    (6,"stoploss");



       






        
       
       

       
       
    //---
       
    return(INIT_SUCCEEDED);
      }
    //+------------------------------------------------------------------+
    //| Custom indicator iteration function                              |
    //+------------------------------------------------------------------+
    int OnCalculate(const int rates_total,
                    const 
    int prev_calculated,
                    const 
    datetime &time[],
                    const 
    double &open[],
                    const 
    double &high[],
                    const 
    double &low[],
                    const 
    double &close[],
                    const 
    long &tick_volume[],
                    const 
    long &volume[],
                    const 
    int &spread[])

                    
                      {

                      
                        
    //----  Alert(LastDn,"    the indicator is run        ",LastUp);


       
    if(perB== Time[0]) return(0);
       
    perB Time[0];
       
    double upPricednPrice;   
       
    int counted_bars=IndicatorCounted();
       
    limit=Bars-counted_bars-1;
       
    fstBar=1;






       for(
    int i =limiti>=fstBari--)

        { 

      
    moving78[i]= iMA (NULL,0,ma_priode,0,0,2,i);
      
    moving16[i]= iMA (NULL,0,ma_priode,0,0,2,i);
      
      
    moving50[i]= iMA (NULL,0,ma_priode,0,0,2,i);
      
    moving103[i]= iMA (NULL,0,ma_priode,0,0,2,i);



        if (
    LastPicTime==0)
         {
         
    FindZigZag(i1);
         if(
    Zval[0]==Low[Zbar[0]])
          {
          
    LastIsUp=False;
          
    LastUp=Zval[1]; LastDn=Zval[0];
          }
          else
          {
          
    LastIsUp=True;
          
    LastUp=Zval[0]; LastDn=Zval[1];
          } 
         
    ZZ_Orlova[Zbar[1]]=Zval[1]; 
         
    ZZ_Orlova[Zbar[0]]=Zval[0]; 
         
    LastPicTime=Time[Zbar[0]];     
         }
         
    int LastBar=iBarShift(NULL,0,LastPicTime);
         if(
    ByClose)
          {
          
    upPrice=Close[i]; dnPrice=Close[i];  
          }
          else
          {
          
    upPrice=High[i]; dnPrice=Low[i];
          }
          if(
    LastIsUp)
           {
           if(
    upPrice>=LastUp)
            {
            
    LastUp=upPrice;
            
    ZZ_Orlova[LastBar]=0.0;
            
    ZZ_Orlova[i]=upPrice;
            
    LastPicTime=Time[i];
            
    third=ZZ_Orlova[i];
            
    thirdcandel=LastBar;
            Print(
    "the third is      ",third,"          ",thirdcandel);
            
            } else if((
    LastUp-dnPrice)/Point>=Points)

               {
               
    LastDn=dnPrice;
               
    LastIsUp=False;
               
    ZZ_Orlova[i]=dnPrice;
               
    LastPicTime=Time[i]; 
               
    five=ZZ_Orlova[i];
               
    fivecandel=i;
             
    second=High[LastBar];
             
    secondcandel=LastBar
             Print(
    "the second is      ",second,"          ",secondcandel);          
             }

             }
             
             else if(!
    LastIsUp)
             {
             if(
    dnPrice<=LastDn)
              {
               
    LastDn=dnPrice;
               
    ZZ_Orlova[LastBar]=0.0
               
    ZZ_Orlova[i]=dnPrice;
               
    LastPicTime=Time[i];
               
    first=ZZ_Orlova[i];
               
    firstcandel=LastBar;
               Print(
    "the first is      ",first,"          ",firstcandel);
               }
               
                else
               if((
    upPrice-LastDn)/Point>=Points)
                  {
                  
    LastUp=upPrice;
                  
    LastIsUp=True;
                  
    ZZ_Orlova[i]=upPrice;
                  
    sixth=ZZ_Orlova[i];
                  
    sixthcandel=i;
                  Print(
    "the sixth  is      ",sixth,"          ",sixthcandel);

                  
    LastPicTime=Time[i];
                  
                  
    up [LastBar]=Low[LastBar];
                  
    //up[1]=Low[1]-a;
                  
    fourth=Low[LastBar];
                  
    fourthcandel=LastBar;
                  Print(
    "the fourth is      ",fourth,"          ",fourthcandel);

                
    ///////////////////////////
                 
    }
              }

           
     }
    //////////////////////////////////////////////////////////////////المشكلة هنا سحصل لخبطة وعندما اضغط على كومبايل يرجع كا شيء يعمل حسب ما اريد 
    if(third<second && thirdcandel<secondcandel)
    {
    second=third;
    secondcandel=thirdcandel;
    }

    if(
    first<fourth && firstcandel>fourthcandel)
    {
    first=fourth;
    firstcandel=fourthcandel;

      
    if(
    five<second &&fivecandel<secondcandel && first>second)
    {
    first=five;
    firstcandel=fivecandel;
    }
       
     
    if(
    third>second && secondcandel>thirdcandel )
    {
    second=third;
    secondcandel=thirdcandel;
    }                    


    if(
    sixth>fourth && sixthcandel<fourthcandel && High[1]>second)
    {
    second=sixth;
    secondcandel=sixthcandel;
    }

    if(
    third>first && thirdcandel<firstcandel)
    {
    second=third;
    secondcandel=thirdcandel;
    }
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    if(firstcandel<secondcandel && first<second )
    {
        
    counted_bars=IndicatorCounted();
       
    limit=Bars-counted_bars-1;
       
    fstBar=1;

       for(
    int i =limiti>=fstBari--)
    {
    a=MathAbs(first-second);
    lineforprofit=MathAbs(((a*16.7)/100)+first);
    lineforaverage=MathAbs(((a*50)/100)+first);
    lineforsell=MathAbs(((a*78.6)/100)+first);
    lineforstoploss=MathAbs(((a*3)/100)+second);

    if(
    lineforsell>High[i-1] && first<second)
    {
    espace=lineforsell-High[i-1];
    moving78[i-1]=High[i-1]+espace;/////////
    }else if (first<second){espace=lineforsell-High[i-1];
          
    moving78[i-1]=High[i-1]+espace;/////////
    }
    if(
    lineforaverage>High[i-1])
    {
    espaceaverage=lineforaverage-High[i-1];
    moving50[i-1]=High[i-1]+espaceaverage;
    }else {
          
    espaceaverage=lineforaverage-High[i-1];
          
    moving50[i-1]=High[i-1]+espaceaverage;
    }
    if(
    lineforprofit<High[i-1])
    {
    espaceprofit=High[i-1]-lineforprofit;
    moving16[i-1]=High[i-1]-espaceprofit;
    }else if(
    lineforprofit>High[i-1]){
          
    espaceprofit=High[i-1]-lineforprofit;
          
    moving16[i-1]=High[i-1]-espaceprofit;
    }
    if(
    lineforstoploss>High[i-1])
    {
    espacestoploss=lineforstoploss-High[i-1];
    moving103[i-1]=High[i-1]+espacestoploss;
    }else {
          
    espacestoploss=lineforstoploss-High[i-1];
          
    moving103[i-1]=High[i-1]+espacestoploss;
    }
    }
    ChartRedraw();
    }

    else if(
    first>second){
        
    counted_bars=IndicatorCounted();
       
    limit=Bars-counted_bars-1;
       
    fstBar=1;

       for(
    int i =limiti>=fstBari--)
    {
    a=MathAbs(first-second);
    lineforprofit=MathAbs(((a*16.7)/100)+first);
    lineforaverage=MathAbs(((a*50)/100)+first);
    lineforsell=MathAbs(((a*78.6)/100)+first);
    lineforstoploss=MathAbs(((a*3)/100)+second);
    if(
    lineforsell>High[i-1])
    {
    espace=lineforsell-High[i-1];
    moving78[i-1]=High[i-1]+espace;////////////
    }
    if(
    lineforaverage>High[i-1])
    {
    espaceaverage=lineforaverage-High[i-1];
    moving50[i-1]=High[i-1]+espaceaverage;
    }
    if(
    lineforprofit<High[i-1])
    {
    espaceprofit=High[i-1]-lineforprofit;
    moving16[i-1]=High[i-1]-espaceprofit;
    }
    if(
    lineforstoploss>High[i-1])
    {
    espacestoploss=lineforstoploss-High[i-1];
    moving103[i-1]=High[i-1]+espacestoploss;
    }
    }
    ChartRedraw();
    }
    /////////////////////////////////////////////////////////////check for buyyyy



    if(firstcandel>secondcandel)
    {   
    counted_bars=IndicatorCounted();
       
    limit=Bars-counted_bars-1;
       
    fstBar=1;

       for(
    int i =limiti>=fstBari--)
    {

    a=(first-second);
    a=MathAbs(first-second);
    lineforprofit=MathAbs(((a*16.7)/100)-second);
    lineforaverage=MathAbs(((a*50)/100)+first);
    lineforbuy=MathAbs(((a*78.6)/100)-second);
    lineforstoploss=MathAbs(((a*3)/100)-first);
    //////////////////////////////////////////////////////
    if(lineforbuy<High[i-1])
    {
    espace=MathAbs(lineforbuy-High[i-1]);////////////
    moving78[i-1]=High[i-1]-espace;
    }else{
    espace=MathAbs(lineforbuy-High[i-1]);
    moving78[i-1]=High[i-1]+espace;//////////
    }

    if(
    lineforaverage<High[i-1])
    {
    espaceaverage=MathAbs(lineforaverage-High[i-1]);
    moving50[i-1]=High[i-1]-espaceaverage;
    }else{
    espaceaverage=MathAbs(lineforaverage-High[i-1]);
    moving50[i-1]=High[i-1]+espaceaverage;
    }

    if(
    lineforprofit>High[i-1])
    {
    espaceprofit=MathAbs(High[i-1]-lineforprofit);
    moving16[i-1]=High[i-1]+espaceprofit;
    }else{
    espaceprofit=MathAbs(High[i-1]-lineforprofit);
    moving16[i-1]=High[i-1]-espaceprofit;
    }

    if(
    lineforstoploss<High[i-1])
    {
    espacestoploss=MathAbs(lineforstoploss-High[i-1]);
    moving103[i-1]=High[i-1]-espacestoploss;
    }else{
    espacestoploss=MathAbs(lineforstoploss-High[i-1]);
    moving103[i-1]=High[i-1]+espacestoploss;
    }
    }
    ChartRedraw();
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    else if(firstcandel<secondcandel){
       
    counted_bars=IndicatorCounted();
       
    limit=Bars-counted_bars-1;
       
    fstBar=1;

       for(
    int i =limiti>=fstBari--)
    {

    a=(first-second);
    a=MathAbs(first-second);
    lineforprofit=MathAbs(((a*16.7)/100)-first);
    lineforaverage=MathAbs(((a*50)/100)-first);
    lineforbuy=MathAbs(((a*78.6)/100)-first);
    lineforstoploss=MathAbs(((a*3)/100)-second);
    //////////////////////////////////////////////////////
    if(lineforbuy>High[i-1] && first>second)
    {
    espace=MathAbs(lineforbuy-High[i-1]);//////////////
    moving78[i-1]=High[i-1]+espace;
    }else if(
    High[i-1]>lineforbuy&& first>second){
    espace=MathAbs(lineforbuy-High[i-1]);///////////////
    moving78[i-1]=High[i-1]-espace;
    }

    if(
    lineforaverage<High[i-1] && first>second)
    {
    espaceaverage=MathAbs(lineforaverage-High[i-1]);
    moving50[i-1]=High[i-1]-espaceaverage;
    }else if (
    first>second){
    espaceaverage=MathAbs(lineforaverage-High[i-1]);
    moving50[i-1]=High[i-1]+espaceaverage;
    }

    if(
    lineforprofit>High[i-1] && first>second)
    {
    espaceprofit=MathAbs(High[i-1]-lineforprofit);
    moving16[i-1]=High[i-1]+espaceprofit;
    }else if( 
    first>second){
    espaceprofit=MathAbs(High[i-1]-lineforprofit);
    moving16[i-1]=High[i-1]-espaceprofit;
    }

    if(
    lineforstoploss<High[i-1] && first>second)
    {
    espacestoploss=MathAbs(lineforstoploss-High[i-1]);
    moving103[i-1]=High[i-1]-espacestoploss;
    }else if (
    first>second){
    espacestoploss=MathAbs(lineforstoploss-High[i-1]);
    moving103[i-1]=High[i-1]+espacestoploss;
    }
    //}

    }ChartRedraw();
    }



      
    /*       
    ObjectCreate("MOHAMMED",OBJ_FIBO,0,iTime(NULL,0,firstcandel),b,iTime(NULL,100,secondcandel),c);
    ObjectSet("MOHAMMED",OBJPROP_FIBOLEVELS,7);

    */

       
    //+------------------------------------------------------------------+



                         
                          
                          
                          //---
       
    //--- return value of prev_calculated for next call
       
    return(rates_total);
      }

    //+------------------------------------------------------------------+
    //| Timer function                                                   |
    //+------------------------------------------------------------------+
    void OnTimer()
      {
    //---


      
    }
    //+------------------------------------------------------------------+
    datetime FindZigZag(int barint nP )
       {
       
    int ExtDepth=3;
       
    int ExtDeviation=3;
       
    int ExtBackstep=3;
       
    int ndatetime res;
       for(
    int i=bar;i<Bars;i++)
       {
       
    double zz=iCustom(NULL,0,"ZigZag",3,3,3,0,i);
       if(
    zz!=&& zz!=EMPTY_VALUE)
        {
        
    Zbar[n]=i;
        
    Zval[n]=zz;
        if(
    n==1res=Time[Zbar[n]];
        
    n++;
        if(
    n>=nP) break;
        }
      }
     return(
    res);

    آخر تعديل بواسطة bahoma31 ، 22-02-2018 الساعة 05:38 PM

  11. #8906
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    لا يمكن ذلك . ما الفائدة التي تريدها من هذه الفكره ؟
    اعتقد يقصد EXECUTE وليس COMPILE
    اتوقع يقصد--وارجو ان يوضح هو--انه يوقف عمل الاكسبيرت ولايستجيب الا مع مل 5 ثواني مثلاً


    اذا فهمي صحيح استخدم ONTIMER بدلا من OnCalculate

    اذا فهمي خاطئ تجاهل ردي

  12. #8907
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    فالكود في ردك الاخير اخي لم تستخدم المتغيرات داخل ONCALCULATE فاصبحت ترفية في البرنامج
    لذا استخدم ONTIMER
    او احصر كامل البدي بين مؤقت--يعني تحتاج سطرين اضافيين فقط اذا كانت حساباتك على رؤوس الفريمات التقليدية

  13. #8908
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    const int rates_total,
    const int prev_calculated,
    const datetime &time[],
    const double &open[],
    const double &high[],
    const double &low[],
    const double &close[],
    const long &tick_volume[],
    const long &volume[],
    const int &spread[])

    لم تستخدمها

  14. #8909
    الصورة الرمزية bahoma31
    bahoma31 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2016
    الإقامة
    الجزائر
    المشاركات
    46

    افتراضي

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

    انظر الى فكرة المؤشر في الصورة رقم 1
    وجدت مؤشر شبه بالزيجزاج واضفت عليه موفينجات واستخدمتها كمستويات فيبوناتشي
    الاىن في الصورة الاولى يعمل كما أريد .
    اضغط على الصورة لعرض أكبر

الاســـم:	Sans titre.png
المشاهدات:	73
الحجـــم:	40.1 كيلوبايت
الرقم:	487822

    الان انظر في الصورة الثانية من المفترض ان الموفينج الابيض هو مستوى 78.6 فماذا يفعل في الوسط
    اضغط على الصورة لعرض أكبر

الاســـم:	Sans titre.png
المشاهدات:	67
الحجـــم:	33.9 كيلوبايت
الرقم:	487823

    الآن انظر في الصورة الثالثة عندما اضغط كومبايل
    اضغط على الصورة لعرض أكبر

الاســـم:	Sans titre.png
المشاهدات:	67
الحجـــم:	31.5 كيلوبايت
الرقم:	487824
    والسبب في هذا هو هذه الاكواد
    كود PHP:
       for(int i =limiti>=fstBari--)

        { 

      
    moving78[i]= iMA (NULL,0,ma_priode,0,0,2,i);
      
    moving16[i]= iMA (NULL,0,ma_priode,0,0,2,i);
      
      
    moving50[i]= iMA (NULL,0,ma_priode,0,0,2,i);
      
    moving103[i]= iMA (NULL,0,ma_priode,0,0,2,i);



        if (
    LastPicTime==0)
         {
         
    FindZigZag(i1);
         if(
    Zval[0]==Low[Zbar[0]])
          {
          
    LastIsUp=False;
          
    LastUp=Zval[1]; LastDn=Zval[0];
          }
          else
          {
          
    LastIsUp=True;
          
    LastUp=Zval[0]; LastDn=Zval[1];
          } 
         
    ZZ_Orlova[Zbar[1]]=Zval[1]; 
         
    ZZ_Orlova[Zbar[0]]=Zval[0]; 
         
    LastPicTime=Time[Zbar[0]];     
         }
         
    int LastBar=iBarShift(NULL,0,LastPicTime);
         if(
    ByClose)
          {
          
    upPrice=Close[i]; dnPrice=Close[i];  
          }
          else
          {
          
    upPrice=High[i]; dnPrice=Low[i];
          }
          if(
    LastIsUp)
           {
           if(
    upPrice>=LastUp)
            {
            
    LastUp=upPrice;
            
    ZZ_Orlova[LastBar]=0.0;
            
    ZZ_Orlova[i]=upPrice;
            
    LastPicTime=Time[i];
            
    third=ZZ_Orlova[i];
            
    thirdcandel=LastBar;
            Print(
    "the third is      ",third,"          ",thirdcandel);
            
            } else if((
    LastUp-dnPrice)/Point>=Points)

               {
               
    LastDn=dnPrice;
               
    LastIsUp=False;
               
    ZZ_Orlova[i]=dnPrice;
               
    LastPicTime=Time[i]; 
               
    five=ZZ_Orlova[i];
               
    fivecandel=i;
             
    second=High[LastBar];
             
    secondcandel=LastBar
             Print(
    "the second is      ",second,"          ",secondcandel);          
             }

             }
             
             else if(!
    LastIsUp)
             {
             if(
    dnPrice<=LastDn)
              {
               
    LastDn=dnPrice;
               
    ZZ_Orlova[LastBar]=0.0
               
    ZZ_Orlova[i]=dnPrice;
               
    LastPicTime=Time[i];
               
    first=ZZ_Orlova[i];
               
    firstcandel=LastBar;
               Print(
    "the first is      ",first,"          ",firstcandel);
               }
               
                else
               if((
    upPrice-LastDn)/Point>=Points)
                  {
                  
    LastUp=upPrice;
                  
    LastIsUp=True;
                  
    ZZ_Orlova[i]=upPrice;
                  
    sixth=ZZ_Orlova[i];
                  
    sixthcandel=i;
                  Print(
    "the sixth  is      ",sixth,"          ",sixthcandel);

                  
    LastPicTime=Time[i];
                  
                  
    up [LastBar]=Low[LastBar];
                  
    //up[1]=Low[1]-a;
                  
    fourth=Low[LastBar];
                  
    fourthcandel=LastBar;
                  Print(
    "the fourth is      ",fourth,"          ",fourthcandel);

                
    ///////////////////////////
                 
    }
              }

           
     }
    //////////////////////////////////////////////////////////////////المشكلة هنا سحصل لخبطة وعندما اضغط على كومبايل يرجع كا شيء يعمل حسب ما اريد 
    if(third<second && thirdcandel<secondcandel)
    {
    second=third;
    secondcandel=thirdcandel;
    }

    if(
    first<fourth && firstcandel>fourthcandel)
    {
    first=fourth;
    firstcandel=fourthcandel;

      
    if(
    five<second &&fivecandel<secondcandel && first>second)
    {
    first=five;
    firstcandel=fivecandel;
    }
       
     
    if(
    third>second && secondcandel>thirdcandel )
    {
    second=third;
    secondcandel=thirdcandel;
    }                    


    if(
    sixth>fourth && sixthcandel<fourthcandel && High[1]>second)
    {
    second=sixth;
    secondcandel=sixthcandel;
    }

    if(
    third>first && thirdcandel<firstcandel)
    {
    second=third;
    secondcandel=thirdcandel;
    }
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
    اريده ان يعمل هكذا انظر الى الصورة الاخيرة
    اضغط على الصورة لعرض أكبر

الاســـم:	Sans titre.png
المشاهدات:	72
الحجـــم:	24.8 كيلوبايت
الرقم:	487825
    آخر تعديل بواسطة bahoma31 ، 23-02-2018 الساعة 04:39 AM

  15. #8910
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

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

    ردك الاول الذي رد عليه اسامة لو غيرت كلمة كومبايل الى كلمة تست او RUN او ستارت --- كان رد اسامة سيكون مختلف
    آخر تعديل بواسطة فيلسوف البادية ، 23-02-2018 الساعة 05:28 AM

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

  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