النتائج 1 إلى 11 من 11
  1. #1
    الصورة الرمزية zezocool
    zezocool غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2007
    العمر
    43
    المشاركات
    218

    افتراضي الآن بامكانك صنع الاكسبيرت الذى تريده بكل بساطة

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

  2. #2
    الصورة الرمزية MOH_FSERVE
    MOH_FSERVE غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2006
    المشاركات
    34

    افتراضي رد: الآن بامكانك صنع الاكسبيرت الذى تريده بكل بساطة

    نعم عندى خطة اكسبرت جيدة لحد بعيد جدا

  3. #3
    الصورة الرمزية termanatore
    termanatore غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2008
    العمر
    45
    المشاركات
    89

    افتراضي رد: الآن بامكانك صنع الاكسبيرت الذى تريده بكل بساطة

    معاك بس انشالله تزبط هالمره

  4. #4
    الصورة الرمزية moftah
    moftah غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2008
    الإقامة
    ليبيا
    المشاركات
    856

    افتراضي رد: الآن بامكانك صنع الاكسبيرت الذى تريده بكل بساطة

    بالتوفيق ان شاء الله

  5. #5
    الصورة الرمزية zezocool
    zezocool غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2007
    العمر
    43
    المشاركات
    218

    افتراضي رد: الآن بامكانك صنع الاكسبيرت الذى تريده بكل بساطة

    اليكم الآن أول اكسبيرت فى هذا الموضوع و يعتمد على تقاطع الموفنج أفريج 12و 25 و هذا هو الكود الخاص به
    كود PHP:
    //+------------------------------------------------------------------+
    //|                                                       SMASSS.mq4 |
    //|                      Copyright © 2008, MetaQuotes Software Corp. |
    //|                                        http://www.metaquotes.net |
    //+------------------------------------------------------------------+
    #define SIGNAL_NONE 0
    #define SIGNAL_BUY   1
    #define SIGNAL_SELL  2
    #define SIGNAL_CLOSEBUY 3
    #define SIGNAL_CLOSESELL 4

    #property copyright "Copyright © 2008, MetaQuotes Software Corp."
    #property link      "http://www.metaquotes.net"

    extern int MagicNumber 0;
    extern bool SignalMail False;
    extern bool EachTickMode True;
    extern double Lots 1.0;
    extern int Slippage 3;
    extern bool UseStopLoss True;
    extern int StopLoss 30;
    extern bool UseTakeProfit False;

    extern bool UseTrailingStop True;
    extern int TrailingStop 15;

    int BarCount;
    int Current;
    bool TickCheck False;
    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    int init() {
       
    BarCount Bars;

       if (
    EachTickModeCurrent 0; else Current 1;

       return(
    0);
    }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit() {
       return(
    0);
    }
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start() {
       
    int Order SIGNAL_NONE;
       
    int TotalTicket;
       
    double StopLossLevelTakeProfitLevel;



       if (
    EachTickMode && Bars != BarCountTickCheck False;
       
    Total OrdersTotal();
       
    Order SIGNAL_NONE;

       
    //+------------------------------------------------------------------+
       //| Variable Begin                                                   |
       //+------------------------------------------------------------------+

    double Var1 iMA(NULL0120MODE_SMAPRICE_CLOSECurrent 0);
    double Var2 iMA(NULL0250MODE_SMAPRICE_CLOSECurrent 0);

    double Buy1_1 =  Var1 ;
    double Buy1_2 =  Var2 ;

    double Sell1_1 =  Var2 ;
    double Sell1_2 =  Var1 ;



       
       
    //+------------------------------------------------------------------+
       //| Variable End                                                     |
       //+------------------------------------------------------------------+

       //Check position
       
    bool IsTrade False;

       for (
    int i 0Total++) {
          
    OrderSelect(iSELECT_BY_POSMODE_TRADES);
          if(
    OrderType() <= OP_SELL &&  OrderSymbol() == Symbol()) {
             
    IsTrade True;
             if(
    OrderType() == OP_BUY) {
                
    //Close

                //+------------------------------------------------------------------+
                //| Signal Begin(Exit Buy)                                           |
                //+------------------------------------------------------------------+

                

                //+------------------------------------------------------------------+
                //| Signal End(Exit Buy)                                             |
                //+------------------------------------------------------------------+

                
    if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
                   
    OrderClose(OrderTicket(), OrderLots(), BidSlippageMediumSeaGreen);
                   if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(BidDigits) + " Close Buy");
                   if (!
    EachTickModeBarCount Bars;
                   
    IsTrade False;
                   continue;
                }
                
    //Trailing stop
                
    if(UseTrailingStop && TrailingStop 0) {                 
                   if(
    Bid OrderOpenPrice() > Point TrailingStop) {
                      if(
    OrderStopLoss() < Bid Point TrailingStop) {
                         
    OrderModify(OrderTicket(), OrderOpenPrice(), Bid Point TrailingStopOrderTakeProfit(), 0MediumSeaGreen);
                         if (!
    EachTickModeBarCount Bars;
                         continue;
                      }
                   }
                }
             } else {
                
    //Close

                //+------------------------------------------------------------------+
                //| Signal Begin(Exit Sell)                                          |
                //+------------------------------------------------------------------+

                

                //+------------------------------------------------------------------+
                //| Signal End(Exit Sell)                                            |
                //+------------------------------------------------------------------+

                
    if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
                   
    OrderClose(OrderTicket(), OrderLots(), AskSlippageDarkOrange);
                   if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(AskDigits) + " Close Sell");
                   if (!
    EachTickModeBarCount Bars;
                   
    IsTrade False;
                   continue;
                }
                
    //Trailing stop
                
    if(UseTrailingStop && TrailingStop 0) {                 
                   if((
    OrderOpenPrice() - Ask) > (Point TrailingStop)) {
                      if((
    OrderStopLoss() > (Ask Point TrailingStop)) || (OrderStopLoss() == 0)) {
                         
    OrderModify(OrderTicket(), OrderOpenPrice(), Ask Point TrailingStopOrderTakeProfit(), 0DarkOrange);
                         if (!
    EachTickModeBarCount Bars;
                         continue;
                      }
                   }
                }
             }
          }
       }

       
    //+------------------------------------------------------------------+
       //| Signal Begin(Entry)                                              |
       //+------------------------------------------------------------------+

       
    if (Buy1_1 Buy1_2Order SIGNAL_BUY;

       if (
    Sell1_1 Sell1_2Order SIGNAL_SELL;


       
    //+------------------------------------------------------------------+
       //| Signal End                                                       |
       //+------------------------------------------------------------------+

       //Buy
       
    if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
          if(!
    IsTrade) {
             
    //Check free margin
             
    if (AccountFreeMargin() < (1000 Lots)) {
                Print(
    "We have no money. Free Margin = "AccountFreeMargin());
                return(
    0);
             }

             if (
    UseStopLossStopLossLevel Ask StopLoss Point; else StopLossLevel 0.0;
            

             
    Ticket OrderSend(Symbol(), OP_BUYLotsAskSlippageStopLossLevelTakeProfitLevel"Buy(#" MagicNumber ")"MagicNumber0DodgerBlue);
             if(
    Ticket 0) {
                if (
    OrderSelect(TicketSELECT_BY_TICKETMODE_TRADES)) {
                    Print(
    "BUY order opened : "OrderOpenPrice());
                    if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(AskDigits) + " Open Buy");
                } else {
                    Print(
    "Error opening BUY order : "GetLastError());
                }
             }
             if (
    EachTickModeTickCheck True;
             if (!
    EachTickModeBarCount Bars;
             return(
    0);
          }
       }

       
    //Sell
       
    if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
          if(!
    IsTrade) {
             
    //Check free margin
             
    if (AccountFreeMargin() < (1000 Lots)) {
                Print(
    "We have no money. Free Margin = "AccountFreeMargin());
                return(
    0);
             }

             if (
    UseStopLossStopLossLevel Bid StopLoss Point; else StopLossLevel 0.0;
             

             
    Ticket OrderSend(Symbol(), OP_SELLLotsBidSlippageStopLossLevelTakeProfitLevel"Sell(#" MagicNumber ")"MagicNumber0DeepPink);
             if(
    Ticket 0) {
                if (
    OrderSelect(TicketSELECT_BY_TICKETMODE_TRADES)) {
                    Print(
    "SELL order opened : "OrderOpenPrice());
                    if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(BidDigits) + " Open Sell");
                } else {
                    Print(
    "Error opening SELL order : "GetLastError());
                }
             }
             if (
    EachTickModeTickCheck True;
             if (!
    EachTickModeBarCount Bars;
             return(
    0);
          }
       }

       if (!
    EachTickModeBarCount Bars;

       return(
    0);
    }
    //+------------------------------------------------------------------+ 
    و للتحكم فى اعدادات الستوب لوس و الهدف و التريلينج ستوب و قيمة اللوت من خلال ذلك الكود
    كود PHP:
    extern double Lots 1.0;
    extern int Slippage 3;
    extern bool UseStopLoss True;
    extern int StopLoss 30;
    extern bool UseTakeProfit False;

    extern bool UseTrailingStop True;
    extern int TrailingStop 15
    و للتحكم فى اعدادات الموفنج أفريج من خلال ذلك الكود
    كود PHP:
    double Var1 iMA(NULL0120MODE_SMAPRICE_CLOSECurrent 0);
    double Var2 iMA(NULL0250MODE_SMAPRICE_CLOSECurrent 0); 
    و كما تلاحظ هنا أن الاكسبيرت هنا يعتمد على تقاطع موفنج 12 و موفنج 25 و SMA هى اختصار Simple moving average

  6. #6
    الصورة الرمزية termanatore
    termanatore غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2008
    العمر
    45
    المشاركات
    89

    افتراضي رد: الآن بامكانك صنع الاكسبيرت الذى تريده بكل بساطة

    اريد اكسبرت للشموع وتقاطع cci

  7. #7
    الصورة الرمزية forexkiller
    forexkiller غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2008
    المشاركات
    206

    افتراضي رد: الآن بامكانك صنع الاكسبيرت الذى تريده بكل بساطة

    اقتباس المشاركة الأصلية كتبت بواسطة zezocool مشاهدة المشاركة
    اليكم الآن أول اكسبيرت فى هذا الموضوع و يعتمد على تقاطع الموفنج أفريج 12و 25 و هذا هو الكود الخاص به
    كود PHP:
    //+------------------------------------------------------------------+
    //|                                                       SMASSS.mq4 |
    //|                      Copyright © 2008, MetaQuotes Software Corp. |
    //|                                        http://www.metaquotes.net |
    //+------------------------------------------------------------------+
    #define SIGNAL_NONE 0
    #define SIGNAL_BUY   1
    #define SIGNAL_SELL  2
    #define SIGNAL_CLOSEBUY 3
    #define SIGNAL_CLOSESELL 4

    #property copyright "Copyright © 2008, MetaQuotes Software Corp."
    #property link      "http://www.metaquotes.net"

    extern int MagicNumber 0;
    extern bool SignalMail False;
    extern bool EachTickMode True;
    extern double Lots 1.0;
    extern int Slippage 3;
    extern bool UseStopLoss True;
    extern int StopLoss 30;
    extern bool UseTakeProfit False;

    extern bool UseTrailingStop True;
    extern int TrailingStop 15;

    int BarCount;
    int Current;
    bool TickCheck False;
    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    int init() {
       
    BarCount Bars;

       if (
    EachTickModeCurrent 0; else Current 1;

       return(
    0);
    }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit() {
       return(
    0);
    }
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start() {
       
    int Order SIGNAL_NONE;
       
    int TotalTicket;
       
    double StopLossLevelTakeProfitLevel;



       if (
    EachTickMode && Bars != BarCountTickCheck False;
       
    Total OrdersTotal();
       
    Order SIGNAL_NONE;

       
    //+------------------------------------------------------------------+
       //| Variable Begin                                                   |
       //+------------------------------------------------------------------+

    double Var1 iMA(NULL0120MODE_SMAPRICE_CLOSECurrent 0);
    double Var2 iMA(NULL0250MODE_SMAPRICE_CLOSECurrent 0);

    double Buy1_1 =  Var1 ;
    double Buy1_2 =  Var2 ;

    double Sell1_1 =  Var2 ;
    double Sell1_2 =  Var1 ;



       
       
    //+------------------------------------------------------------------+
       //| Variable End                                                     |
       //+------------------------------------------------------------------+

       //Check position
       
    bool IsTrade False;

       for (
    int i 0Total++) {
          
    OrderSelect(iSELECT_BY_POSMODE_TRADES);
          if(
    OrderType() <= OP_SELL &&  OrderSymbol() == Symbol()) {
             
    IsTrade True;
             if(
    OrderType() == OP_BUY) {
                
    //Close

                //+------------------------------------------------------------------+
                //| Signal Begin(Exit Buy)                                           |
                //+------------------------------------------------------------------+

                

                //+------------------------------------------------------------------+
                //| Signal End(Exit Buy)                                             |
                //+------------------------------------------------------------------+

                
    if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
                   
    OrderClose(OrderTicket(), OrderLots(), BidSlippageMediumSeaGreen);
                   if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(BidDigits) + " Close Buy");
                   if (!
    EachTickModeBarCount Bars;
                   
    IsTrade False;
                   continue;
                }
                
    //Trailing stop
                
    if(UseTrailingStop && TrailingStop 0) {                 
                   if(
    Bid OrderOpenPrice() > Point TrailingStop) {
                      if(
    OrderStopLoss() < Bid Point TrailingStop) {
                         
    OrderModify(OrderTicket(), OrderOpenPrice(), Bid Point TrailingStopOrderTakeProfit(), 0MediumSeaGreen);
                         if (!
    EachTickModeBarCount Bars;
                         continue;
                      }
                   }
                }
             } else {
                
    //Close

                //+------------------------------------------------------------------+
                //| Signal Begin(Exit Sell)                                          |
                //+------------------------------------------------------------------+

                

                //+------------------------------------------------------------------+
                //| Signal End(Exit Sell)                                            |
                //+------------------------------------------------------------------+

                
    if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
                   
    OrderClose(OrderTicket(), OrderLots(), AskSlippageDarkOrange);
                   if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(AskDigits) + " Close Sell");
                   if (!
    EachTickModeBarCount Bars;
                   
    IsTrade False;
                   continue;
                }
                
    //Trailing stop
                
    if(UseTrailingStop && TrailingStop 0) {                 
                   if((
    OrderOpenPrice() - Ask) > (Point TrailingStop)) {
                      if((
    OrderStopLoss() > (Ask Point TrailingStop)) || (OrderStopLoss() == 0)) {
                         
    OrderModify(OrderTicket(), OrderOpenPrice(), Ask Point TrailingStopOrderTakeProfit(), 0DarkOrange);
                         if (!
    EachTickModeBarCount Bars;
                         continue;
                      }
                   }
                }
             }
          }
       }

       
    //+------------------------------------------------------------------+
       //| Signal Begin(Entry)                                              |
       //+------------------------------------------------------------------+

       
    if (Buy1_1 Buy1_2Order SIGNAL_BUY;

       if (
    Sell1_1 Sell1_2Order SIGNAL_SELL;


       
    //+------------------------------------------------------------------+
       //| Signal End                                                       |
       //+------------------------------------------------------------------+

       //Buy
       
    if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
          if(!
    IsTrade) {
             
    //Check free margin
             
    if (AccountFreeMargin() < (1000 Lots)) {
                Print(
    "We have no money. Free Margin = "AccountFreeMargin());
                return(
    0);
             }

             if (
    UseStopLossStopLossLevel Ask StopLoss Point; else StopLossLevel 0.0;
            

             
    Ticket OrderSend(Symbol(), OP_BUYLotsAskSlippageStopLossLevelTakeProfitLevel"Buy(#" MagicNumber ")"MagicNumber0DodgerBlue);
             if(
    Ticket 0) {
                if (
    OrderSelect(TicketSELECT_BY_TICKETMODE_TRADES)) {
                    Print(
    "BUY order opened : "OrderOpenPrice());
                    if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(AskDigits) + " Open Buy");
                } else {
                    Print(
    "Error opening BUY order : "GetLastError());
                }
             }
             if (
    EachTickModeTickCheck True;
             if (!
    EachTickModeBarCount Bars;
             return(
    0);
          }
       }

       
    //Sell
       
    if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
          if(!
    IsTrade) {
             
    //Check free margin
             
    if (AccountFreeMargin() < (1000 Lots)) {
                Print(
    "We have no money. Free Margin = "AccountFreeMargin());
                return(
    0);
             }

             if (
    UseStopLossStopLossLevel Bid StopLoss Point; else StopLossLevel 0.0;
             

             
    Ticket OrderSend(Symbol(), OP_SELLLotsBidSlippageStopLossLevelTakeProfitLevel"Sell(#" MagicNumber ")"MagicNumber0DeepPink);
             if(
    Ticket 0) {
                if (
    OrderSelect(TicketSELECT_BY_TICKETMODE_TRADES)) {
                    Print(
    "SELL order opened : "OrderOpenPrice());
                    if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(BidDigits) + " Open Sell");
                } else {
                    Print(
    "Error opening SELL order : "GetLastError());
                }
             }
             if (
    EachTickModeTickCheck True;
             if (!
    EachTickModeBarCount Bars;
             return(
    0);
          }
       }

       if (!
    EachTickModeBarCount Bars;

       return(
    0);
    }
    //+------------------------------------------------------------------+ 
    و للتحكم فى اعدادات الستوب لوس و الهدف و التريلينج ستوب و قيمة اللوت من خلال ذلك الكود
    كود PHP:
    extern double Lots 1.0;
    extern int Slippage 3;
    extern bool UseStopLoss True;
    extern int StopLoss 30;
    extern bool UseTakeProfit False;

    extern bool UseTrailingStop True;
    extern int TrailingStop 15
    و للتحكم فى اعدادات الموفنج أفريج من خلال ذلك الكود
    كود PHP:
    double Var1 iMA(NULL0120MODE_SMAPRICE_CLOSECurrent 0);
    double Var2 iMA(NULL0250MODE_SMAPRICE_CLOSECurrent 0); 
    و كما تلاحظ هنا أن الاكسبيرت هنا يعتمد على تقاطع موفنج 12 و موفنج 25 و SMA هى اختصار Simple moving average
    السلام عليكم
    موضوع رائع وجزاك الله خيرا علي هذا الموضوع لكن أريد أن أوضحلك بعض الملاحظات علي هذا الكود

    الأكسبرت لم ينفذ عملية الشراء عند لحظة التقاطع ولكنه سينظر هل الموفنج أفرج 12 أكبر من الموفنج أفرج 25 ؟ اذا تحقق هذا الشرط سيبدأالشراء مباشره
    المشكله قد يبدأ الأكسبرت والموفنج أفرج 12 أكبر من الموفنج أفرج 25 والتقاطع لم يحدث.
    الباراميتر للموفنج 12 هو

    (
    NULL, 0, 12, 0, MODE_SMA, PRICE_CLOSE, Current + 0)

    ورقم صفر بالأخير يعني الموفنج أفرج بالفتره الحاليه واذا كان 1 يعني بالفتره السابقه
    لذلك يوجد حل لهذه المشكله سأوضحه لك


    عندما يتقاطع الموفنج أفرج 12 مع الموفنج أفرج 25 لأعلي يكون شرط الشراء
    1- موفنج أفرج12 للفتره 0 أكبر من موفنج أفرج 25 للفتره 0
    2-موفنج أفرج 12 للفتره 1 أصغر من موفنج أفرج 25 للفتره 1
    يعني سنضع بعض الأضافات علي الكود التالي
    if (Buy1_1 > Buy1_2) Order = SIGNAL_BUY
    ليكون
    if (Buy1_1 > Buy1_2&&Buy1_3>Buy1_4 ) Order = SIGNAL_BUY;

    ونضيف
    double Buy1_3 = Var3

    double buy1_4=var4
    بعد الأكود العلويه مع عدم نسيان علامة
    ;
    ونضيف

    double var3= iMA(NULL, 0, 25, 0, MODE_SMA, PRICE_CLOSE, Current + 1 );
    double var4=iMA(NULL, 0, 12, 0, MODE_SMA, PRICE_CLOSE, Current + 1);

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


    extern bool EachTickMode = True;
    يعني الأكسبرت لن ينتظر أغلاق الشمعه وسينفذ العمليه بعد التقاطع مباشره



  8. #8
    الصورة الرمزية zezocool
    zezocool غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2007
    العمر
    43
    المشاركات
    218

    افتراضي رد: الآن بامكانك صنع الاكسبيرت الذى تريده بكل بساطة

    بما أن خبرتى البرمجية ليست كبيرة لذلك أرجو من الأستاذ وضاح عطار الاشراف الكامل على ذلك الموضوع

  9. #9
    الصورة الرمزية zezocool
    zezocool غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2007
    العمر
    43
    المشاركات
    218

    افتراضي رد: الآن بامكانك صنع الاكسبيرت الذى تريده بكل بساطة

    هذا الاكسبيرت خاص باستراتيجية صبح صبح
    التى تم طرحها من قبل فى هذا المنتدى والتى تعتمد على تقاطع الموفنج أفريج و مؤشر ار اس اى لتأكيد الدخول و هذا هو لكود الخاص بهذه الاستراتيجية
    كود PHP:
    //+------------------------------------------------------------------+
    //|                                                  SABAH-SABAH.mq4 |
    //|                      Copyright © 2008, MetaQuotes Software Corp. |
    //|                                        http://www.metaquotes.net |
    //+------------------------------------------------------------------+

    #define SIGNAL_NONE 0
    #define SIGNAL_BUY   1
    #define SIGNAL_SELL  2
    #define SIGNAL_CLOSEBUY 3
    #define SIGNAL_CLOSESELL 4

    #property copyright "Copyright © 2008, MetaQuotes Software Corp."
    #property link      "http://www.metaquotes.net"

    extern int MagicNumber 0;
    extern bool SignalMail False;
    extern bool EachTickMode False;
    extern double Lots 1.0;
    extern int Slippage 3;
    extern bool UseStopLoss True;
    extern int StopLoss 75;
    extern bool UseTakeProfit True;
    extern int TakeProfit 75;
    extern bool UseTrailingStop False;
    extern int TrailingStop 0;

    int BarCount;
    int Current;
    bool TickCheck False;
    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    int init() {
       
    BarCount Bars;

       if (
    EachTickModeCurrent 0; else Current 1;

       return(
    0);
    }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit() {
       return(
    0);
    }
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start() {
       
    int Order SIGNAL_NONE;
       
    int TotalTicket;
       
    double StopLossLevelTakeProfitLevel;



       if (
    EachTickMode && Bars != BarCountTickCheck False;
       
    Total OrdersTotal();
       
    Order SIGNAL_NONE;

       
    //+------------------------------------------------------------------+
       //| Variable Begin                                                   |
       //+------------------------------------------------------------------+

    double MA1 iMA(NULL0,70MODE_EMAPRICE_CLOSECurrent 0);
    double MA2 iMA(NULL0,15,0MODE_EMAPRICE_CLOSECurrent 0);
    double MA3 iMA(NULL0,70MODE_EMAPRICE_CLOSECurrent 1);
    double MA4 iMA(NULL0,15,0MODE_EMAPRICE_CLOSECurrent 1);
    double RSI iRSI(NULL,0,14,PRICE_CLOSE,0);


       
       
    //+------------------------------------------------------------------+
       //| Variable End                                                     |
       //+------------------------------------------------------------------+

       //Check position
       
    bool IsTrade False;

       for (
    int i 0Total++) {
          
    OrderSelect(iSELECT_BY_POSMODE_TRADES);
          if(
    OrderType() <= OP_SELL &&  OrderSymbol() == Symbol()) {
             
    IsTrade True;
             if(
    OrderType() == OP_BUY) {
                
    //Close

                //+------------------------------------------------------------------+
                //| Signal Begin(Exit Buy)                                           |
                //+------------------------------------------------------------------+

                

                //+------------------------------------------------------------------+
                //| Signal End(Exit Buy)                                             |
                //+------------------------------------------------------------------+

                
    if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
                   
    OrderClose(OrderTicket(), OrderLots(), BidSlippageMediumSeaGreen);
                   if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(BidDigits) + " Close Buy");
                   if (!
    EachTickModeBarCount Bars;
                   
    IsTrade False;
                   continue;
                }
                
    //Trailing stop
                
    if(UseTrailingStop && TrailingStop 0) {                 
                   if(
    Bid OrderOpenPrice() > Point TrailingStop) {
                      if(
    OrderStopLoss() < Bid Point TrailingStop) {
                         
    OrderModify(OrderTicket(), OrderOpenPrice(), Bid Point TrailingStopOrderTakeProfit(), 0MediumSeaGreen);
                         if (!
    EachTickModeBarCount Bars;
                         continue;
                      }
                   }
                }
             } else {
                
    //Close

                //+------------------------------------------------------------------+
                //| Signal Begin(Exit Sell)                                          |
                //+------------------------------------------------------------------+

                

                //+------------------------------------------------------------------+
                //| Signal End(Exit Sell)                                            |
                //+------------------------------------------------------------------+

                
    if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
                   
    OrderClose(OrderTicket(), OrderLots(), AskSlippageDarkOrange);
                   if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(AskDigits) + " Close Sell");
                   if (!
    EachTickModeBarCount Bars;
                   
    IsTrade False;
                   continue;
                }
                
    //Trailing stop
                
    if(UseTrailingStop && TrailingStop 0) {                 
                   if((
    OrderOpenPrice() - Ask) > (Point TrailingStop)) {
                      if((
    OrderStopLoss() > (Ask Point TrailingStop)) || (OrderStopLoss() == 0)) {
                         
    OrderModify(OrderTicket(), OrderOpenPrice(), Ask Point TrailingStopOrderTakeProfit(), 0DarkOrange);
                         if (!
    EachTickModeBarCount Bars;
                         continue;
                      }
                   }
                }
             }
          }
       }

       
    //+------------------------------------------------------------------+
       //| Signal Begin(Entry)                                              |
       //+------------------------------------------------------------------+

       
    if (  MA1 MA2 && MA4 MA3 && RSI>55 Order SIGNAL_BUY;

       if (  
    MA2 MA1 && MA3 MA4 && RSI<40 Order SIGNAL_SELL;


       
    //+------------------------------------------------------------------+
       //| Signal End                                                       |
       //+------------------------------------------------------------------+

       //Buy
       
    if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
          if(!
    IsTrade) {
             
    //Check free margin
             
    if (AccountFreeMargin() < (1000 Lots)) {
                Print(
    "We have no money. Free Margin = "AccountFreeMargin());
                return(
    0);
             }

             if (
    UseStopLossStopLossLevel Ask StopLoss Point; else StopLossLevel 0.0;
             if (
    UseTakeProfitTakeProfitLevel Ask TakeProfit Point; else TakeProfitLevel 0.0;

             
    Ticket OrderSend(Symbol(), OP_BUYLotsAskSlippageStopLossLevelTakeProfitLevel"Buy(#" MagicNumber ")"MagicNumber0DodgerBlue);
             if(
    Ticket 0) {
                if (
    OrderSelect(TicketSELECT_BY_TICKETMODE_TRADES)) {
                    Print(
    "BUY order opened : "OrderOpenPrice());
                    if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(AskDigits) + " Open Buy");
                } else {
                    Print(
    "Error opening BUY order : "GetLastError());
                }
             }
             if (
    EachTickModeTickCheck True;
             if (!
    EachTickModeBarCount Bars;
             return(
    0);
          }
       }

       
    //Sell
       
    if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
          if(!
    IsTrade) {
             
    //Check free margin
             
    if (AccountFreeMargin() < (1000 Lots)) {
                Print(
    "We have no money. Free Margin = "AccountFreeMargin());
                return(
    0);
             }

             if (
    UseStopLossStopLossLevel Bid StopLoss Point; else StopLossLevel 0.0;
             if (
    UseTakeProfitTakeProfitLevel Bid TakeProfit Point; else TakeProfitLevel 0.0;

             
    Ticket OrderSend(Symbol(), OP_SELLLotsBidSlippageStopLossLevelTakeProfitLevel"Sell(#" MagicNumber ")"MagicNumber0DeepPink);
             if(
    Ticket 0) {
                if (
    OrderSelect(TicketSELECT_BY_TICKETMODE_TRADES)) {
                    Print(
    "SELL order opened : "OrderOpenPrice());
                    if (
    SignalMailSendMail("[Signal Alert]""[" Symbol() + "] " DoubleToStr(BidDigits) + " Open Sell");
                } else {
                    Print(
    "Error opening SELL order : "GetLastError());
                }
             }
             if (
    EachTickModeTickCheck True;
             if (!
    EachTickModeBarCount Bars;
             return(
    0);
          }
       }

       if (!
    EachTickModeBarCount Bars;

       return(
    0);
    }
    //+------------------------------------------------------------------+ 
    و هذا الاكسبيرت به اختلاف فى الكود حيث تم تغيير فى هذا الكود من True الى False
    كود PHP:
    extern bool EachTickMode False
    و الشكر للأستاذ فوركس كيلر فى توضيح ذلك الأمر
    كما تم التعديل فى قيم الموفنج أفريج و اضافة مؤشر ار اس اى كما هو واضح فى ذلك الكود
    كود PHP:
    double MA1 iMA(NULL0,70MODE_EMAPRICE_CLOSECurrent 0);
    double MA2 iMA(NULL0,15,0MODE_EMAPRICE_CLOSECurrent 0);
    double MA3 iMA(NULL0,70MODE_EMAPRICE_CLOSECurrent 1);
    double MA4 iMA(NULL0,15,0MODE_EMAPRICE_CLOSECurrent 1);
    double RSI iRSI(NULL,0,14,PRICE_CLOSE,0); 
    أما أمر الدخول فيكون من خلال ذلك الكود
    كود PHP:
       if (  MA1 MA2 && MA4 MA3 && RSI>55 Order SIGNAL_BUY;

       if (  
    MA2 MA1 && MA3 MA4 && RSI<40 Order SIGNAL_SELL

  10. #10
    الصورة الرمزية forexkiller
    forexkiller غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2008
    المشاركات
    206

    افتراضي رد: الآن بامكانك صنع الاكسبيرت الذى تريده بكل بساطة

    اقتباس المشاركة الأصلية كتبت بواسطة termanatore مشاهدة المشاركة
    اريد اكسبرت للشموع وتقاطع cci
    حاول فهم النقاط التي شرحها الأستاذ zezocool

    يمكنك عمل هذا الأكسبرت بأبسط مما تتخيل بعد ذلك
    الباراميتر الخاص بأغلاق الشموع هو ( iClose(NULL, 0, Current + 0

    مع عدم نسيان النقطتين بالأخير (هامه جدا)

    والباراميتر الخاص بمؤشر CCI هو

    ( iCustom(NULL, 0, "CCI", 111, 0, Current + 0

    مع عدم نسيان النقطتين بالأخير بعد ذلك أرسم كل ماتريده علي ورقه يعني مثلا أغلاق شمعه فوق التقاطع أو شمعتين أو أربعه

    تحكم بالرقم الأخير 0 أو 1 أو 2
    وبنفس الطريقه السابقه تماما

    الرقم 111 هوCCIperiod لمؤشر cci عدله كما تريد
    الارقام ليس لها باراميتر وتكتب مكان الباراميتر كما هي

    double تستعمل لتعريف رقم كسري مثل 1.2225
    int لتعريف رقم صحيح


    ستلاحظ أننا أحيانا نضع رمز extern double

    نستعملها كي تظهر لنا هذه الأرقام والمتغيرات ويمكننا التحكم بها من أعدادات الأكسبرت extern
    آخر تعديل بواسطة forexkiller ، 21-11-2008 الساعة 12:10 PM

  11. #11
    الصورة الرمزية zezocool
    zezocool غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2007
    العمر
    43
    المشاركات
    218

    افتراضي رد: الآن بامكانك صنع الاكسبيرت الذى تريده بكل بساطة

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

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

  1. برنــــامج يـزيد مشاركاتك بالمنتدى إلى الرقم الذي تريده
    By احمد ابراهيم in forum استراحة اعضاء المتداول العربي
    مشاركات: 12
    آخر مشاركة: 01-10-2010, 10:05 PM
  2. الاكسبيرت الذى يتحمل 100دولار رصيدفقط!
    By a7med920 in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 3
    آخر مشاركة: 24-06-2010, 09:13 PM
  3. برنامج يصنع لك الاكسبيرت الذي تريده
    By mohamad ali in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 0
    آخر مشاركة: 29-10-2009, 11:39 PM
  4. برنامج يصنع لك الاكسبيرت الذي تريده
    By Dr.GM in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 0
    آخر مشاركة: 30-10-2006, 03:48 PM
  5. برنامج يصنع لك الاكسبيرت الذي تريده
    By Dr.GM in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادن
    مشاركات: 0
    آخر مشاركة: 30-10-2006, 03:48 PM

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


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