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

    افتراضي تعديل لكود اكسبرت

    شباب احتاج مساعده في تعديل لكود اكسبرت
    حيث اني قمت بعمليه بناء الاكسبرت في موقع لتجهيز الاكسبرت بادخال البيانات فيه
    ولكن المشكله هي بمؤشر cci
    حيث كان الكود
    iCCI(NULL, 0, 14, PRICE_CLOSE, Current + 0
    iCCI(NULL, 0, 14, PRICE_CLOSE, Current + 1
    اذا كان المؤشر في الشمعه الحاليه اكبر من السابقه يقوم بعملية شراء
    ولكن اضفت خطين وهما (100,-100) واريد ان تكون الصفقه عند الارتفاع وقطع خط 100
    او ان اضع خطين مثلا (للشراء ما بين 95و100 في حالة الارتفاع)
    والعكس بالبيع
    واكون لكم من الشاكرين

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

    افتراضي رد: تعديل لكود اكسبرت

    بانتظار الحلول والردود

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

    افتراضي رد: تعديل لكود اكسبرت

    والله احس اني ما لي داعي لما اسال وما حد يرد
    ترى سؤال بسيط

  4. #4
    الصورة الرمزية wajdyss
    wajdyss غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Sep 2006
    الإقامة
    السعودية
    المشاركات
    2,959

    افتراضي رد: تعديل لكود اكسبرت

    اخي الكريم

    (ان الله مع الصابرين)

    جرب هذا الكود

    كود PHP:

        double cci1 
    iCCI(NULL014PRICE_CLOSECurrent 0);
        
    double cci2 iCCI(NULL014PRICE_CLOSECurrent 1);
        if (
    cci>cci2 && cci1>100) { شرط الشراء
    بالتوفيق ان شاء الله
    توقيع العضو
    مبرمج MT4 , MT5

    يمكنكم الاستماع للقرآن الكريم 24/7
    https://forum.arabictrader.com/t265331.html

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

    افتراضي رد: تعديل لكود اكسبرت

    اقتباس المشاركة الأصلية كتبت بواسطة wajdyss مشاهدة المشاركة
    اخي الكريم


    (ان الله مع الصابرين)

    جرب هذا الكود


    كود PHP:
     
        double cci1 
    iCCI(NULL014PRICE_CLOSECurrent 0);
        
    double cci2 iCCI(NULL014PRICE_CLOSECurrent 1);
        if (
    cci>cci2 && cci1>100) { شرط الشراء
    بالتوفيق ان شاء الله

    تسلملي يارب ويخليك
    والله خجلتني بكرمك

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

    افتراضي رد: تعديل لكود اكسبرت

    الفكره هي انها تكون مع بداية التقاطع

    عموما انا راح اجرب واردلك خبر اذا ضبت او بحط الكود بالكامل وانت شوف اذا في اخطاء

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

    افتراضي رد: تعديل لكود اكسبرت

    كود PHP:
    #define SIGNAL_NONE 0
    #define SIGNAL_BUY   1
    #define SIGNAL_SELL  2
    #define SIGNAL_CLOSEBUY 3
    #define SIGNAL_CLOSESELL 4
    #property copyright "Expert Advisor Builder"
    #property link      "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/"
    extern int MagicNumber 0;
    extern bool SignalMail False;
    extern bool EachTickMode False;
    extern double Lots 0.1;
    extern int Slippage 3;
    extern bool UseStopLoss True;
    extern int StopLoss 25;
    extern bool UseTakeProfit True;
    extern int TakeProfit 15;
    extern bool UseTrailingStop True;
    extern int TrailingStop 10;
    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 iCCI(NULL09PRICE_WEIGHTEDCurrent 0);
    double Var2 iCCI(NULL09PRICE_WEIGHTEDCurrent 1);
    double Var3 iOpen(NULL0Current 0);
    double Var4 iClose(NULL0Current 0);
    double Var5 iOpen(NULL0Current 1);
    double Var6 iClose(NULL0Current 1);
    double Var7 iLow(NULL0Current 0);
    double Var8 iLow(NULL0Current 1);
    double Var9 iHigh(NULL0Current 0);
    double Var10 iHigh(NULL0Current 1);
    double Buy1_1 iOpen(NULL0Current 0);
    double Buy1_2 iClose(NULL0Current 0);
    double Buy2_1 iOpen(NULL0Current 1);
    double Buy2_2 iClose(NULL0Current 1);
    double Buy3_1 iLow(NULL0Current 0);
    double Buy3_2 iLow(NULL0Current 1);
    double Buy4_1 iCCI(NULL09PRICE_WEIGHTEDCurrent 0);
    double Buy4_2 iCCI(NULL09PRICE_WEIGHTEDCurrent 1);
    double Sell1_1 iOpen(NULL0Current 0);
    double Sell1_2 iClose(NULL0Current 0);
    double Sell2_1 iOpen(NULL0Current 1);
    double Sell2_2 iClose(NULL0Current 1);
    double Sell3_1 iHigh(NULL0Current 0);
    double Sell3_2 iHigh(NULL0Current 1);
    double Sell4_1 iCCI(NULL09PRICE_WEIGHTEDCurrent 0);
    double Sell4_2 iCCI(NULL09PRICE_WEIGHTEDCurrent 1);
     
       
       
    //+------------------------------------------------------------------+
       //| 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_2 && Buy2_1 Buy2_2 && Buy3_1 Buy3_2 && Buy4_1 Buy4_2Order SIGNAL_BUY;
       if (
    Sell1_1 Sell1_2 && Sell2_1 Sell2_2 && Sell3_1 Sell3_2 && Sell4_1 Sell4_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;
             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);
    }
    //+------------------------------------------------------------------+ 

    حاولت اعدل على الكود وما ظبط ياريت تساعدني فيه

  8. #8
    الصورة الرمزية wajdyss
    wajdyss غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Sep 2006
    الإقامة
    السعودية
    المشاركات
    2,959

    افتراضي رد: تعديل لكود اكسبرت

    اخي الكريم

    هذا الاكسبيرت تم صناعته بواسطة موقع
    Expert Advisor Builder for MetaTrader 4

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

    اذا كنت تريد ان تتعلم برمجة لغة mql4 فأنصحك بمراجعة مواضيع الاخ المبدع وضاح ، وستسفيد ان شاء الله

    على العموم : جرب هذا الاكسبيرت بعد التعديل

    علماً أن التعديل كان فقط في هذين السطرين

    كود PHP:

       
    if (Buy1_1 Buy1_2 && Buy2_1 Buy2_2 && Buy3_1 Buy3_2 && Buy4_1 Buy4_2 && Buy4_1>100Order SIGNAL_BUY;
       if (
    Sell1_1 Sell1_2 && Sell2_1 Sell2_2 && Sell3_1 Sell3_2 && Sell4_1 Sell4_2 && Sell4_1<(-100)) Order SIGNAL_SELL
    بالتوفيق ان شاء الله
    الملفات المرفقة الملفات المرفقة
    آخر تعديل بواسطة wajdyss ، 23-11-2008 الساعة 11:50 PM
    توقيع العضو
    مبرمج MT4 , MT5

    يمكنكم الاستماع للقرآن الكريم 24/7
    https://forum.arabictrader.com/t265331.html

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

    افتراضي رد: تعديل لكود اكسبرت

    تسلم حبيبي وماقصرت الله يسلمك

  10. #10
    الصورة الرمزية wajdyss
    wajdyss غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Sep 2006
    الإقامة
    السعودية
    المشاركات
    2,959

    افتراضي رد: تعديل لكود اكسبرت

    اقتباس المشاركة الأصلية كتبت بواسطة termanatore مشاهدة المشاركة
    تسلم حبيبي وماقصرت الله يسلمك
    بالتوفيق ان شاء الله
    توقيع العضو
    مبرمج MT4 , MT5

    يمكنكم الاستماع للقرآن الكريم 24/7
    https://forum.arabictrader.com/t265331.html

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

  1. تعديل بسيط اكسبرت Forex Funnel
    By metoo in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 33
    آخر مشاركة: 26-07-2012, 08:13 PM
  2. اكسبرت اكثر من رائع و لكن محتاج تعديل
    By lordfx in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 27
    آخر مشاركة: 08-09-2010, 04:55 AM
  3. تعديل بسيط قووووووى على اكسبرت فهل من مبرمج
    By Dr.SeMSeM in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 15
    آخر مشاركة: 24-08-2010, 08:04 AM
  4. سؤال حول تعديل اكسبرت ...
    By جادجاد in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 5
    آخر مشاركة: 03-03-2009, 01:14 AM
  5. طلب تعديل هام جدا جدا فى اكسبرت waddah win
    By piso_731 in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 2
    آخر مشاركة: 21-12-2008, 10:17 PM

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


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