صفحة 3 من 3 الأولىالأولى 123
النتائج 31 إلى 32 من 32
  1. #31
    الصورة الرمزية shady2500
    shady2500 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2008
    الإقامة
    مصر
    المشاركات
    898

    افتراضي رد: اصنع الأكسبيرت الخاص بك بنفسك

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


  2. #32
    الصورة الرمزية جرير
    جرير غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2009
    الإقامة
    مصر
    المشاركات
    430

    افتراضي رد: اصنع الأكسبيرت الخاص بك بنفسك

    بسم الله
    سناخذ اليوم اكسبريت نستطيع من خلاله عمل مئات الأكسبيرتات بادنى مجهود الكود هو


    كود PHP:
       //+------------------------------------------------------------------+
    //|                                                Amro high low.mq4 |
    //|                      Copyright © 2008, MetaQuotes Software Corp. |
    //|                                        http://www.metaquotes.net |
    //+------------------------------------------------------------------+
    #property copyright "Copyright © 2008, MetaQuotes Software Corp."
    #property link      "http://www.metaquotes.net"
    extern int Step=20;
    extern int Takeprofit=50;
    extern int Stoploss=50;
    extern double Lots=1;  
    int Magicnumber=234561;
    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    int init()
      {
      return(
    0);
      }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit()
      {
       return(
    0);
      }
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start()
    {
      if(
    Hour()==&& Minute()<&& MyOrdersTotal(Magicnumber)>0)
      {
        
    DeletePendingOrders(Magicnumber);
        
    CloseOrders(Magicnumber);
      }
      if(
    Hour()==&& Minute()>&& MyOrdersTotal(Magicnumber)==0)
      {
        
    double Dayhigh=iHigh(Symbol(),PERIOD_D1,1);
        
    double Daylow=iLow(Symbol(),PERIOD_D1,1);
        
    double BuyPrice=Dayhigh+Step*Point;
        
    double BuyTP=BuyPrice+Takeprofit*Point;
        
    double BuySL=BuyPrice-Stoploss*Point;
        
        
    double SellPrice=Daylow-Step*Point;
        
    double SellTP=SellPrice-Takeprofit*Point;
        
    double SellSL=SellPrice+Stoploss*Point;
        
        
    OrderSend(Symbol(),OP_BUYSTOP,Lots,BuyPrice,3,BuySL,BuyTP,"",Magicnumber,0,Green);
        
    OrderSend(Symbol(),OP_SELLSTOP,Lots,SellPrice,3,SellSL,SellTP,"",Magicnumber,0,Red);
        
        
      }
      return(
    0);
    }
    int MyOrdersTotal(int Magic)
    {
      
    int c=0;
      
    int total  OrdersTotal();
      
      for (
    int cnt cnt total cnt++)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
        {
          
    c++;
        }
      }
      return(
    c);
    }

    int DeletePendingOrders(int Magic)
    {
      
    int total  OrdersTotal()-1;
     
      for (
    int cnt total cnt >= cnt--)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY || OrderType()!=OP_SELL))
        {
          
    OrderDelete(OrderTicket());
        }
      }
      return(
    0);
    }  

    int CloseOrders(int Magic)
    {
      
    int total  OrdersTotal()-1;
      
      for (
    int cnt total cnt >= cnt--)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
        {
          if (
    OrderType()==OP_BUY)
          {
            
    OrderClose(OrderTicket(),OrderLots(),Bid,3);
          }
          
          if (
    OrderType()==OP_SELL)
          {
            
    OrderClose(OrderTicket(),OrderLots(),Ask,3);
          }
        }
      }
      return(
    0);
    }  

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

    هذا الكود هو عبارة عن اكسبيرت يضع اوامر معلقة (شراء وقف وبيع وقف ) فوق الهاى لشمعة الدايلى وتحت اللو لشمعة الدايلى بعدد step من النقاط . وعند تفعيل امر يقوم بالغاء الأمر المعاكس . واذا لم ينفذا الأثنان فيقوم الأكسبيرت بحذفهما فى بداية اليوم التالى واعطاء اوامر جديدة

    اما عن الكود المسئول عن تعرف الأكسبيرت بهاى ولو شمعة الدايلى وعملية الشراء والبيع هو
    كود PHP:
     double Dayhigh=iHigh(Symbol(),PERIOD_D1,1);
        
    double Daylow=iLow(Symbol(),PERIOD_D1,1);
        
    double BuyPrice=Dayhigh+Step*Point;
        
    double BuyTP=BuyPrice+Takeprofit*Point;
        
    double BuySL=BuyPrice-Stoploss*Point;
        
        
    double SellPrice=Daylow-Step*Point;
        
    double SellTP=SellPrice-Takeprofit*Point;
        
    double SellSL=SellPrice+Stoploss*Point;
        
        
    OrderSend(Symbol(),OP_BUYSTOP,Lots,BuyPrice,3,BuySL,BuyTP,"",Magicnumber,0,Green);
        
    OrderSend(Symbol(),OP_SELLSTOP,Lots,SellPrice,3,SellSL,SellTP,"",Magicnumber,0,Red); 
    هذا هو اكثر كود سيكون العمل عليه واسهل كود يمكن العمل عليه وسنشرح بعضا منه بشىء من الأيجاز
    كود PHP:
    double Dayhigh=iHigh(Symbol(),PERIOD_D1,1);
        
    double Daylow=iLow(Symbol(),PERIOD_D1,1); 
    عرفنا الأكسبيرت اننا سوف نستخدم هاى ولو الشمعة السابقة . ولكننا نريد ان نضيف فوق الهاى عددا من النقاط
    كود PHP:
    double BuyPrice=Dayhigh+Step*Point
    اضفنا للهاى عدد step من النقاط . ولكن ماهى ستيب .. هية عدد النقاط الموجود بالباراميتر والذى يمكننا تغييره فى اى وقت نريده
    كود PHP:
    extern int Step=20
    ونريد ان نعمل تيك بروفيت ونضعه بالباراميتر ..وبما اننا اشترينا فسوف يكون الربح اعلى من سعر الشراء اى سيكون تيك بروفيت للشراء = سعر الشراء + عدد نقاط التيك بروفيت اى :
    كود PHP:
    double BuyTP=BuyPrice+Takeprofit*Point
    ونضعه بالباراميتر لكى يمكننا التحكم بالتيك بروفيت ليكون
    كود PHP:
    extern int Takeprofit=50
    وهكذا بالنسبة للستوب لوز فنقوم بطرحه من سعر الشراء ووضعه بالباراميتر


    الآن وبعد ان فهمنا ...نريد اكسبيرت يعمل امر سيل ستوب وامر باى ستوب على بعد 50 نقطة من الأغلاق اليومى :
    سيكون كالتالى :
    كود PHP:
    double Dayclose=iClose(Symbol(),PERIOD_D1,1);
        
    double BuyPrice=Dayclose+Step*Point;
        
    double BuyTP=BuyPrice+Takeprofit*Point;
        
    double BuySL=BuyPrice-Stoploss*Point;
        
        
    double SellPrice=Dayclose-Step*Point;
        
    double SellTP=SellPrice-Takeprofit*Point;
        
    double SellSL=SellPrice+Stoploss*Point
    انزع الكود الأصلى من الأكسبيرت وضع هذا مكانه ليصبح عندك الآن اكسبيرت يقوم بفتح صفقات معلقة بعدد step من النقاط

    ماذا لو اردت ان اضع امر البيع على بعد 100 نقطة وامر الشراء على بعد 50 نقطة من سعر الأغلاق اليومى :
    اذن ساضع step1 للشراء و step2 2 للبيع ليكون الكود
    كود PHP:
    double Dayclose=iClose(Symbol(),PERIOD_D1,1);
        
    double BuyPrice=Dayclose+Step1*Point;
        
    double BuyTP=BuyPrice+Takeprofit*Point;
        
    double BuySL=BuyPrice-Stoploss*Point;
        
        
    double SellPrice=Dayclose-Step2*Point;
        
    double SellTP=SellPrice-Takeprofit*Point;
        
    double SellSL=SellPrice+Stoploss*Point
    ونلغى step من الباراميتر ونضع كل من step1 & step2 لتكون
    كود PHP:
     extern int Step1=50;
    extern int Step2=100
    الآن عايزين نعمل اكسبيرت يعتمد على خطى البايفوت S3 & R3
    يقوم بوضع اوامر وقف معلقة عند الخطين . فسيكون الكود كالتالى :
    كود PHP:
    double DayClose=iClose(Symbol(),PERIOD_D1,1);
        
    double Dayhigh=iHigh(Symbol(), PERIOD_D11);
        
    double Daylow=iLow(Symbol(), PERIOD_D11);
        
    double pivot=NormalizeDouble((Dayhigh Daylow DayClose) / 3.0Digits);
        
    double R3=Dayhigh+2.0*(pivot-Daylow);
        
    double S3=Daylow-2.0*(Dayhigh-pivot);
        
    double BuyPrice=R3;
        
    double BuyTP=BuyPrice+Takeprofit*Point;
        
    double BuySL=BuyPrice-Stoploss*Point;
        
        
    double SellPrice=S3;
        
    double SellTP=SellPrice-Takeprofit*Point;
        
    double SellSL=SellPrice+Stoploss*Point
    ننزع هذا الكود ونحله ببديله فى الأكسبيرت ..ليصبح عندى الآن اكسبيرت بايفوت

    طب عايزين نبيع من عند خط البايفوت العلوى ونشترى من السفلى ..يبقى هنعمل سيل ليميت وباى ليميت وتكون كالآت :
    كود PHP:
    double DayClose=iClose(Symbol(),PERIOD_D1,1);
        
    double Dayhigh=iHigh(Symbol(), PERIOD_D11);
        
    double Daylow=iLow(Symbol(), PERIOD_D11);
        
    double pivot=NormalizeDouble((Dayhigh Daylow DayClose) / 3.0Digits);
        
    double R3=Dayhigh+2.0*(pivot-Daylow);
        
    double S3=Daylow-2.0*(Dayhigh-pivot);
        
    double BuyPrice=S3;
        
    double BuyTP=BuyPrice+Takeprofit*Point;
        
    double BuySL=BuyPrice-Stoploss*Point;
        
        
    double SellPrice=R3;
        
    double SellTP=SellPrice-Takeprofit*Point;
        
    double SellSL=SellPrice+Stoploss*Point;
        
        
    OrderSend(Symbol(),OP_BUYLIMIT,Lots,BuyPrice,3,BuySL,BuyTP,"",Magicnumber,0,Green);
        
    OrderSend(Symbol(),OP_SELLLIMIT,Lots,SellPrice,3,SellSL,SellTP,"",Magicnumber,0,Green); 
    واتمنى ان يكون الأمر سهلا ..
    توقيع العضو
    AI Expert

صفحة 3 من 3 الأولىالأولى 123

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

  1. اصنع اكسبيرت بنفسك Forex EA Generator
    By ecash in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 20
    آخر مشاركة: 14-06-2016, 01:26 AM
  2. ░▒▓█ اصنع لكتابك علبة حافظة بنفسك █▓▒░
    By عبدالكريم in forum استراحة اعضاء المتداول العربي
    مشاركات: 0
    آخر مشاركة: 09-08-2010, 04:23 PM
  3. كيف اصنع مؤشري الخاص
    By game over in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 1
    آخر مشاركة: 28-07-2008, 11:40 PM
  4. اصنع مؤشرك (ورشة عمل)
    By ahmed hanafy in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادن
    مشاركات: 411
    آخر مشاركة: 01-04-2008, 01:07 PM
  5. كيف يمكنني ان اصنع اكسبيرت
    By علاءالدين in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادن
    مشاركات: 5
    آخر مشاركة: 23-11-2007, 08:13 PM

الاوسمة لهذا الموضوع


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