صفحة 165 من 689 الأولىالأولى ... 65115155159160161162163164165166167168169170171175215265665 ... الأخيرةالأخيرة
النتائج 2,461 إلى 2,475 من 10335
  1. #2461
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,864

    افتراضي

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

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة ahmedessam58 مشاهدة المشاركة
    اريد عمل الاستوب لوس عبارة عن خط الكيجن فى الايشيموكو زائد خمس نقاط عند دخول الصفقة
    وانهاء جميع عقود البيع عند افتتاح شمعه واغلاقها فوق التنكن
    وشكرااااااااااااااا
    مثال
    كود PHP:
    if(UseKijunStopLoss)SL=iIchimoku(Symbol(),0,9,26,52,MODE_KIJUNSEN,0)+5*Point;
    OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),3,SL,0," EA",MagicNumber,0,Blue);

    if(
    UseKijunStopLoss)SL=iIchimoku(Symbol(),0,9,26,52,MODE_KIJUNSEN,0)-5*Point;
    OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,0," EA",MagicNumber,0,Red); 
    بالنسبه لإغلاق العقود فسوف تقوم بعمل داله لإغلاق الصفقات البيع والشراء
    كود PHP:
    void CloseBuyOrders()
    {
      for (
    int cnt cnt OrdersTotal() ; cnt++)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {
          if (
    OrderType()==OP_BUY)
          {
            
    OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),3);
          }
        }
      }
    }  

    void CloseSellOrders()
    {
     for (
    int cnt cnt OrdersTotal() ; cnt++)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {
          if (
    OrderType()==OP_SELL)
          {
           
    OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3);
          }
         }
        }

    ثم ستضع شروط إغلاق البيع والشراء
    كود PHP:
     double Kijun=iIchimoku(Symbol(),0,9,26,52,MODE_KIJUNSEN,1);
      if(
    Close[1]>Kijun)
       {
        
    CloseSellOrders();
       }
      if(
    Close[1]<Kijun)
       {
        
    CloseBuyOrders();
       } 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  3. #2463
    الصورة الرمزية ahmedessam58
    ahmedessam58 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2008
    الإقامة
    مصر
    المشاركات
    493

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    مثال
    كود PHP:
    if(UseKijunStopLoss)SL=iIchimoku(Symbol(),0,9,26,52,MODE_KIJUNSEN,0)+5*Point;
    OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),3,SL,0," EA",MagicNumber,0,Blue);

    if(
    UseKijunStopLoss)SL=iIchimoku(Symbol(),0,9,26,52,MODE_KIJUNSEN,0)-5*Point;
    OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,0," EA",MagicNumber,0,Red); 
    بالنسبه لإغلاق العقود فسوف تقوم بعمل داله لإغلاق الصفقات البيع والشراء
    كود PHP:
    void CloseBuyOrders()
    {
      for (
    int cnt cnt OrdersTotal() ; cnt++)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {
          if (
    OrderType()==OP_BUY)
          {
            
    OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),3);
          }
        }
      }
    }  

    void CloseSellOrders()
    {
     for (
    int cnt cnt OrdersTotal() ; cnt++)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {
          if (
    OrderType()==OP_SELL)
          {
           
    OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3);
          }
         }
        }

    ثم ستضع شروط إغلاق البيع والشراء
    كود PHP:
     double Kijun=iIchimoku(Symbol(),0,9,26,52,MODE_KIJUNSEN,1);
      if(
    Close[1]>Kijun)
       {
        
    CloseSellOrders();
       }
      if(
    Close[1]<Kijun)
       {
        
    CloseBuyOrders();
       } 
    كود PHP:
     //+------------------------------------------------------------------+
     //|                                                        Ambush    |
     //|                                   Copyright, created 20 july 2012|
     //|                                                                  |
     //|                                            Desined by Ahmed Essam|
     //|                                           [email protected] |
     //+------------------------------------------------------------------+
     
     #property copyright "Ambush"
     #property link      "[email protected]"

     
    extern int   MaxTrades 1;    // ---------------- 1 
     
    extern int   stoploss 50;       // ---------------- 2 
     
    extern int   takeprofit 50;      // ---------------- 3
     
    extern double TrailingStop =0;       // ---------------- 4
     
    extern bool  UseHourTrade false;        // ---------------- 5
     
    extern int   FromHourTrade 7;            // ---------------- 6
     
    extern int   ToHourTrade 17;          // ---------------- 7
     
    extern string  MM_Parameters "---------- Money Management";
     
    extern double  Lots 0.01;                                           
     
    extern bool  MM false,                  // ---------------- 8
                  
    AccountIsMicro true;
     
    extern int   Risk 10;                      // ---------------- 9
     
     
    int MagicNumber=148;                             // -------------------- 10
     
    extern int tenkansen=9
     
    extern int kijunsen=26
     
    extern int senkospan=52;
     
    extern int shift=1;
     
    extern int shift2=26;
     
    //+------------------------------------------------------------------+
     //| FUNCTION DEFINITIONS    deinitialization function                |
     //+------------------------------------------------------------------+

     
    void deinit() {
        
    Comment("");
      }

     
    int orderscnt(){
     
    int cnt=0;
       for(
    int i =0;i<OrdersTotal();i++){
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
             
    cnt++;
           }
         }
       }
        return(
    cnt);
      }

     
    //+------------------------------------------------------------------+
     //| FUNCTION DEFINITIONS   Start function                            |
     //+------------------------------------------------------------------+

     
    int start()
       {
           if (
    UseHourTrade){
            if(!(
    Hour()>=FromHourTrade&&Hour()<=ToHourTrade)){
               
    Comment("Non-Trading Hours!");
               return(
    0);
             }
           }
         
    double  Tenkan=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_TENKANSEN,shift); 
    double  Kijun=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_KIJUNSEN,shift); 
    double  Senkou=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_CHINKOUSPAN,1+kijunsen); 
    double  Senkoua=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANA,shift); 
    double  Senkouaplus=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANA,shift+27);
    double  Senkoub=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANB,shift); 
    double  Senkoubplus=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANB,shift+27);
    double  Ichimoku_B=iCustom(Symbol(),0,"Ichimoku Trend Magic Histogram with Alert",1,shift);
    double  Ichimoku_S=iCustom(Symbol(),0,"Ichimoku Trend Magic Histogram with Alert",0,shift);
      
       
          
    double sl,tp

        if(
    MMLots subLotSize();
        
              
    //-----------------buy&sell   ----------------
         
    if((Close[1]>Tenkan)&&(Close[1]>Kijun)&&(Close[1]>Senkoub)&&(Close[1]>Senkoua)&&(Ichimoku_B==3)&&(Senkou>Senkoubplus&&Senkou>Senkouaplus)){        // ------------------------ 22
           
    if(orderscnt()<MaxTrades){
             if(
    stoploss==0){sl=0;}else{sl=Ask-stoploss*Point;}
               if(
    takeprofit==0){tp=0;}else{tp=Ask+takeprofit*Point;}
                
    OrderSend(Symbol(),OP_BUY,Lots,Ask,2,sl,tp,"Ambush",MagicNumber,0,Blue);
                 
    PlaySound("Alert.wav");
              }
           }

        if ((
    Close[1]<Tenkan)&&(Close[1]<Kijun)&&(Close[1]<Senkoua)&&(Close[1]<Senkoub)&&(Ichimoku_S==3)&&(Senkou<Senkoubplus&&Senkou<Senkouaplus)){       // ------------------------ 23
           
    if(orderscnt()<MaxTrades){
             if(
    stoploss==0){sl=0;}else{sl=Bid+stoploss*Point;}
               if(
    takeprofit==0){tp=0;}else{tp=Bid-takeprofit*Point;}
                
    OrderSend(Symbol(),OP_SELL,Lots,Bid,2,sl,tp,"Ambush",MagicNumber,0,Red); 
                 
    PlaySound("Alert.wav");
              }
           }
     
    //+------------------------------------------------------------------+
     //| FUNCTION DEFINITIONS   TrailingStop                              |
     //+------------------------------------------------------------------+
        
        
    if(TrailingStop>0)  
            {                 
              if(
    Bid-OrderOpenPrice()>Point*TrailingStop)
               {
                if(
    OrderStopLoss()<Bid-Point*TrailingStop)
                  {
                   
    OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,
                   
    OrderTakeProfit(),0,Green);
                   return(
    0);
                }
              }
            }
        if(
    TrailingStop>0)  
            {                 
             if((
    OrderOpenPrice()-Ask)>(Point*TrailingStop))
               {
                if((
    OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
                  {
                   
    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,
                   
    OrderTakeProfit(),0,Red);
                    return(
    0);
                 }
               }
            } 

         return(
    0);
       }

     
    //+------------------------------------------------------------------+
     //| FUNCTION DEFINITIONS   Money Managment                           |
     //+------------------------------------------------------------------+ 

     
    double subLotSize()
      {
          
    double lotMM MathCeil(AccountFreeMargin() *  Risk 1000) / 100
          
           if(
    AccountIsMicro==false)
           {
              if(
    lotMM 0.1)                  lotMM Lots;
              if((
    lotMM 0.5) && (lotMM 1)) lotMM 0.5;
              if(
    lotMM 1.0)                  lotMM MathCeil(lotMM);
              if(
    lotMM 100)                  lotMM 100;
           }
           else
           {
              if(
    lotMM 0.01)                 lotMM Lots;
              if(
    lotMM 1.0)                  lotMM MathCeil(lotMM);
              if(
    lotMM 100)                  lotMM 100;
           }
           
           return (
    lotMM);
      }

     
    //+---------------------------------------------------------------------------------+ 
    ارجو التعديل على الكود

  4. #2464
    الصورة الرمزية xcv114
    xcv114 غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Oct 2010
    الإقامة
    مصر
    المشاركات
    1,022

    افتراضي

    أستاذ أسامة

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

    أو على الأقل لو مفيهاش تعب ليك ممكن تعمل لنا موضوع شرح برمجة مؤشر الله يكرمك
    لإن إحنا الإسم مبرمجين وإحنا ما بنعرفش نبرمج مؤشرات
    -------------------

  5. #2465
    الصورة الرمزية xcv114
    xcv114 غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Oct 2010
    الإقامة
    مصر
    المشاركات
    1,022

    افتراضي

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

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

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

  6. #2466
    الصورة الرمزية spiders101
    spiders101 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2011
    الإقامة
    مصــر
    المشاركات
    935

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

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

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

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

  7. #2467
    الصورة الرمزية spiders101
    spiders101 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2011
    الإقامة
    مصــر
    المشاركات
    935

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    الداله صحيحه لا أرى فيها أي خطأ إحتمال الخطأ إما في دالة إغلاق الصفقه أو تحقق شرط الإغلاق تأكد من أين الخطأ تماما حتى تستطيع حله لكن بالنسبه لدالة التوقيت فهي صحيحه
    انا تابعت الباك تست مرة أخرى ووجدت سبب المشكلة ، الصفقات التى يتم فتحها مع او قبل نهاية الاسبوع بـ يوم يتم إغلاقها مع نهاية يوم الجمعة وإغلاق السوق ، مثلا اذا تم فتح صفقة يوم الجمعة والمفترض الاكسيبرت يغلق الصفقة بعد 48 ساعة اى يوم الأحد ، يتم بدلا من ذلك الإغلاق يوم الجمعة ، وبالمثل ليوم الخميس .
    وانا أريد وضع شرط حتى لايتم حدوث ذلك ، اى يتم إغلاق الصفقة يوم الاثنين مثلا وليس الجمعة
    الملفات المرفقة الملفات المرفقة
    آخر تعديل بواسطة spiders101 ، 21-07-2012 الساعة 04:58 AM

  8. #2468
    الصورة الرمزية ahmedessam58
    ahmedessam58 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2008
    الإقامة
    مصر
    المشاركات
    493

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    مثال
    كود PHP:
    if(UseKijunStopLoss)SL=iIchimoku(Symbol(),0,9,26,52,MODE_KIJUNSEN,0)+5*Point;
    OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),3,SL,0," EA",MagicNumber,0,Blue);

    if(
    UseKijunStopLoss)SL=iIchimoku(Symbol(),0,9,26,52,MODE_KIJUNSEN,0)-5*Point;
    OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,0," EA",MagicNumber,0,Red); 
    بالنسبه لإغلاق العقود فسوف تقوم بعمل داله لإغلاق الصفقات البيع والشراء
    كود PHP:
    void CloseBuyOrders()
    {
      for (
    int cnt cnt OrdersTotal() ; cnt++)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {
          if (
    OrderType()==OP_BUY)
          {
            
    OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),3);
          }
        }
      }
    }  

    void CloseSellOrders()
    {
     for (
    int cnt cnt OrdersTotal() ; cnt++)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {
          if (
    OrderType()==OP_SELL)
          {
           
    OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3);
          }
         }
        }

    ثم ستضع شروط إغلاق البيع والشراء
    كود PHP:
     double Kijun=iIchimoku(Symbol(),0,9,26,52,MODE_KIJUNSEN,1);
      if(
    Close[1]>Kijun)
       {
        
    CloseSellOrders();
       }
      if(
    Close[1]<Kijun)
       {
        
    CloseBuyOrders();
       } 
    بعد اذنك استاذ اسامه اريد توضيح النقطة الخاصة بعمل الكيجن كاستوب لوس ويفضل تطبيقها على الكود المرفق للاكسبيرت بالمشاركة السابقة
    واريد ان يغلق الاكسبيرت الصفقات فى حالة وجود شمعه كاملة فوق التنكن او تحته ( اغلاقها وافتتاحها) فوق التنكن فى حالة البيع وتحت التنكن فى حالة الشراء
    وماهى فوائد اخفاء الهدف والاستوب لوس؟
    وشكرااااااااا

  9. #2469
    الصورة الرمزية spiders101
    spiders101 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2011
    الإقامة
    مصــر
    المشاركات
    935

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    اقتباس المشاركة الأصلية كتبت بواسطة ahmedessam58 مشاهدة المشاركة
    بعد اذنك استاذ اسامه اريد توضيح النقطة الخاصة بعمل الكيجن كاستوب لوس ويفضل تطبيقها على الكود المرفق للاكسبيرت بالمشاركة السابقة
    واريد ان يغلق الاكسبيرت الصفقات فى حالة وجود شمعه كاملة فوق التنكن او تحته ( اغلاقها وافتتاحها) فوق التنكن فى حالة البيع وتحت التنكن فى حالة الشراء
    وماهى فوائد اخفاء الهدف والاستوب لوس؟
    وشكرااااااااا
    إخفاء الهدف والاستوب مماثل لفكرة عمل مودفاى للأوردر ، وكلاهما يتم إستخدامهما حتى يعمل الاكسيبرت على منصات الـ ECN التى لاتسمح بوضع تارجت واستوب إلا بعد فتح الصفقة ، وإخفاء الهدف والاستوب مهم لمن يتعامل بواسطة الاسكالبينج أو يخشى ضرب الأستوبات بسبب البروكر أو إظهاره

  10. #2470
    الصورة الرمزية ahmedessam58
    ahmedessam58 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2008
    الإقامة
    مصر
    المشاركات
    493

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة spiders101 مشاهدة المشاركة
    إخفاء الهدف والاستوب مماثل لفكرة عمل مودفاى للأوردر ، وكلاهما يتم إستخدامهما حتى يعمل الاكسيبرت على منصات الـ ECN التى لاتسمح بوضع تارجت واستوب إلا بعد فتح الصفقة ، وإخفاء الهدف والاستوب مهم لمن يتعامل بواسطة الاسكالبينج أو يخشى ضرب الأستوبات بسبب البروكر أو إظهاره
    شكرا اخى الكريم وبإنتظار تفسير الكود وتعديل الاكسبيرت

  11. #2471
    الصورة الرمزية spiders101
    spiders101 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2011
    الإقامة
    مصــر
    المشاركات
    935

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

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

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة ahmedessam58 مشاهدة المشاركة
    كود PHP:
     //+------------------------------------------------------------------+
     //|                                                        Ambush    |
     //|                                   Copyright, created 20 july 2012|
     //|                                                                  |
     //|                                            Desined by Ahmed Essam|
     //|                                           [email protected] |
     //+------------------------------------------------------------------+
     
     #property copyright "Ambush"
     #property link      "[email protected]"

     
    extern int   MaxTrades 1;    // ---------------- 1 
     
    extern int   stoploss 50;       // ---------------- 2 
     
    extern int   takeprofit 50;      // ---------------- 3
     
    extern double TrailingStop =0;       // ---------------- 4
     
    extern bool  UseHourTrade false;        // ---------------- 5
     
    extern int   FromHourTrade 7;            // ---------------- 6
     
    extern int   ToHourTrade 17;          // ---------------- 7
     
    extern string  MM_Parameters "---------- Money Management";
     
    extern double  Lots 0.01;                                           
     
    extern bool  MM false,                  // ---------------- 8
                  
    AccountIsMicro true;
     
    extern int   Risk 10;                      // ---------------- 9
     
     
    int MagicNumber=148;                             // -------------------- 10
     
    extern int tenkansen=9
     
    extern int kijunsen=26
     
    extern int senkospan=52;
     
    extern int shift=1;
     
    extern int shift2=26;
     
    //+------------------------------------------------------------------+
     //| FUNCTION DEFINITIONS    deinitialization function                |
     //+------------------------------------------------------------------+

     
    void deinit() {
        
    Comment("");
      }

     
    int orderscnt(){
     
    int cnt=0;
       for(
    int i =0;i<OrdersTotal();i++){
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
             
    cnt++;
           }
         }
       }
        return(
    cnt);
      }

     
    //+------------------------------------------------------------------+
     //| FUNCTION DEFINITIONS   Start function                            |
     //+------------------------------------------------------------------+

     
    int start()
       {
           if (
    UseHourTrade){
            if(!(
    Hour()>=FromHourTrade&&Hour()<=ToHourTrade)){
               
    Comment("Non-Trading Hours!");
               return(
    0);
             }
           }
         
    double  Tenkan=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_TENKANSEN,shift); 
    double  Kijun=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_KIJUNSEN,shift); 
    double  Senkou=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_CHINKOUSPAN,1+kijunsen); 
    double  Senkoua=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANA,shift); 
    double  Senkouaplus=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANA,shift+27);
    double  Senkoub=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANB,shift); 
    double  Senkoubplus=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANB,shift+27);
    double  Ichimoku_B=iCustom(Symbol(),0,"Ichimoku Trend Magic Histogram with Alert",1,shift);
    double  Ichimoku_S=iCustom(Symbol(),0,"Ichimoku Trend Magic Histogram with Alert",0,shift);
      
       
          
    double sl,tp

        if(
    MMLots subLotSize();
        
              
    //-----------------buy&sell   ----------------
         
    if((Close[1]>Tenkan)&&(Close[1]>Kijun)&&(Close[1]>Senkoub)&&(Close[1]>Senkoua)&&(Ichimoku_B==3)&&(Senkou>Senkoubplus&&Senkou>Senkouaplus)){        // ------------------------ 22
           
    if(orderscnt()<MaxTrades){
             if(
    stoploss==0){sl=0;}else{sl=Ask-stoploss*Point;}
               if(
    takeprofit==0){tp=0;}else{tp=Ask+takeprofit*Point;}
                
    OrderSend(Symbol(),OP_BUY,Lots,Ask,2,sl,tp,"Ambush",MagicNumber,0,Blue);
                 
    PlaySound("Alert.wav");
              }
           }

        if ((
    Close[1]<Tenkan)&&(Close[1]<Kijun)&&(Close[1]<Senkoua)&&(Close[1]<Senkoub)&&(Ichimoku_S==3)&&(Senkou<Senkoubplus&&Senkou<Senkouaplus)){       // ------------------------ 23
           
    if(orderscnt()<MaxTrades){
             if(
    stoploss==0){sl=0;}else{sl=Bid+stoploss*Point;}
               if(
    takeprofit==0){tp=0;}else{tp=Bid-takeprofit*Point;}
                
    OrderSend(Symbol(),OP_SELL,Lots,Bid,2,sl,tp,"Ambush",MagicNumber,0,Red); 
                 
    PlaySound("Alert.wav");
              }
           }
     
    //+------------------------------------------------------------------+
     //| FUNCTION DEFINITIONS   TrailingStop                              |
     //+------------------------------------------------------------------+
        
        
    if(TrailingStop>0)  
            {                 
              if(
    Bid-OrderOpenPrice()>Point*TrailingStop)
               {
                if(
    OrderStopLoss()<Bid-Point*TrailingStop)
                  {
                   
    OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,
                   
    OrderTakeProfit(),0,Green);
                   return(
    0);
                }
              }
            }
        if(
    TrailingStop>0)  
            {                 
             if((
    OrderOpenPrice()-Ask)>(Point*TrailingStop))
               {
                if((
    OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
                  {
                   
    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,
                   
    OrderTakeProfit(),0,Red);
                    return(
    0);
                 }
               }
            } 

         return(
    0);
       }

     
    //+------------------------------------------------------------------+
     //| FUNCTION DEFINITIONS   Money Managment                           |
     //+------------------------------------------------------------------+ 

     
    double subLotSize()
      {
          
    double lotMM MathCeil(AccountFreeMargin() *  Risk 1000) / 100
          
           if(
    AccountIsMicro==false)
           {
              if(
    lotMM 0.1)                  lotMM Lots;
              if((
    lotMM 0.5) && (lotMM 1)) lotMM 0.5;
              if(
    lotMM 1.0)                  lotMM MathCeil(lotMM);
              if(
    lotMM 100)                  lotMM 100;
           }
           else
           {
              if(
    lotMM 0.01)                 lotMM Lots;
              if(
    lotMM 1.0)                  lotMM MathCeil(lotMM);
              if(
    lotMM 100)                  lotMM 100;
           }
           
           return (
    lotMM);
      }

     
    //+---------------------------------------------------------------------------------+ 
    ارجو التعديل على الكود
    اقتباس المشاركة الأصلية كتبت بواسطة ahmedessam58 مشاهدة المشاركة
    بعد اذنك استاذ اسامه اريد توضيح النقطة الخاصة بعمل الكيجن كاستوب لوس ويفضل تطبيقها على الكود المرفق للاكسبيرت بالمشاركة السابقة
    واريد ان يغلق الاكسبيرت الصفقات فى حالة وجود شمعه كاملة فوق التنكن او تحته ( اغلاقها وافتتاحها) فوق التنكن فى حالة البيع وتحت التنكن فى حالة الشراء
    وماهى فوائد اخفاء الهدف والاستوب لوس؟
    وشكرااااااااا


    تفضل الكود كامل مع إضافة خيار الأستوب لوز فوق أو تحت الكيجن وإغلاق الصفقات عند إغلاق شمعة فوق أو تحت الكيجن
    كود PHP:
    //+------------------------------------------------------------------+ 
     //|                                                        Ambush    | 
     //|                                   Copyright, created 20 july 2012| 
     //|                                                                  | 
     //|                                            Desined by Ahmed Essam| 
     //|                                           [email protected] | 
     //+------------------------------------------------------------------+ 
      
     #property copyright "Ambush" 
     #property link      "[email protected]

     
    extern int   MaxTrades 1;    // ---------------- 1  
     
    extern int   stoploss 50;       // ---------------- 2  
     
    extern bool UseKijunStopLoss=false;
     
    extern int   takeprofit 50;      // ---------------- 3 
     
    extern double TrailingStop =0;       // ---------------- 4 
     
    extern bool  UseHourTrade false;        // ---------------- 5 
     
    extern int   FromHourTrade 7;            // ---------------- 6 
     
    extern int   ToHourTrade 17;          // ---------------- 7 
     
    extern string  MM_Parameters "---------- Money Management"
     
    extern double  Lots 0.01;                                            
     
    extern bool  MM false,                  // ---------------- 8 
                  
    AccountIsMicro true
     
    extern int   Risk 10;                      // ---------------- 9 
      
     
    int MagicNumber=148;                             // -------------------- 10 
     
    extern int tenkansen=9;  
     
    extern int kijunsen=26;  
     
    extern int senkospan=52
     
    extern int shift=1
     
    extern int shift2=26
     
    //+------------------------------------------------------------------+ 
     //| FUNCTION DEFINITIONS    deinitialization function                | 
     //+------------------------------------------------------------------+ 

     
    void deinit() { 
        
    Comment(""); 
      } 

     
    int orderscnt(){ 
     
    int cnt=0
       for(
    int i =0;i<OrdersTotal();i++){ 
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){ 
           if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){ 
             
    cnt++; 
           } 
         } 
       } 
        return(
    cnt); 
      } 

     
    //+------------------------------------------------------------------+ 
     //| FUNCTION DEFINITIONS   Start function                            | 
     //+------------------------------------------------------------------+ 

     
    int start() 
       { 
           if (
    UseHourTrade){ 
            if(!(
    Hour()>=FromHourTrade&&Hour()<=ToHourTrade)){ 
               
    Comment("Non-Trading Hours!"); 
               return(
    0); 
             } 
           } 
          
    double  Tenkan=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_TENKANSEN,shift);  
    double  Kijun=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_KIJUNSEN,shift);  
    double  Senkou=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_CHINKOUSPAN,1+kijunsen);  
    double  Senkoua=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANA,shift);  
    double  Senkouaplus=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANA,shift+27); 
    double  Senkoub=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANB,shift);  
    double  Senkoubplus=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANB,shift+27); 
    double  Ichimoku_B=iCustom(Symbol(),0,"Ichimoku Trend Magic Histogram with Alert",1,shift); 
    double  Ichimoku_S=iCustom(Symbol(),0,"Ichimoku Trend Magic Histogram with Alert",0,shift); 
       
       if(
    Close[1]>Kijun
       { 
        
    CloseSellOrders(); 
       } 
      if(
    Close[1]<Kijun
       { 
        
    CloseBuyOrders(); 
       }    
          
    double sl,tp;  

        if(
    MMLots subLotSize(); 
         
              
    //-----------------buy&sell   ---------------- 
         
    if((Close[1]>Tenkan)&&(Close[1]>Kijun)&&(Close[1]>Senkoub)&&(Close[1]>Senkoua)&&(Ichimoku_B==3)&&(Senkou>Senkoubplus&&Senkou>Senkouaplus)){        // ------------------------ 22 
           
    if(orderscnt()<MaxTrades){ 
             if(
    stoploss==0){sl=0;}else{sl=Ask-stoploss*Point;} 
               if(
    takeprofit==0){tp=0;}else{tp=Ask+takeprofit*Point;} 
               if(
    UseKijunStopLoss)sl=iIchimoku(Symbol(),0,9,26,52,MODE_KIJUNSEN,0)+5*Point;
                
    OrderSend(Symbol(),OP_BUY,Lots,Ask,2,sl,tp,"Ambush",MagicNumber,0,Blue); 
                 
    PlaySound("Alert.wav"); 
              } 
           } 

        if ((
    Close[1]<Tenkan)&&(Close[1]<Kijun)&&(Close[1]<Senkoua)&&(Close[1]<Senkoub)&&(Ichimoku_S==3)&&(Senkou<Senkoubplus&&Senkou<Senkouaplus)){       // ------------------------ 23 
           
    if(orderscnt()<MaxTrades){ 
             if(
    stoploss==0){sl=0;}else{sl=Bid+stoploss*Point;} 
               if(
    takeprofit==0){tp=0;}else{tp=Bid-takeprofit*Point;} 
                 if(
    UseKijunStopLoss)sl=iIchimoku(Symbol(),0,9,26,52,MODE_KIJUNSEN,0)+5*Point;
                
    OrderSend(Symbol(),OP_SELL,Lots,Bid,2,sl,tp,"Ambush",MagicNumber,0,Red);  
                 
    PlaySound("Alert.wav"); 
              } 
           } 
            if(
    TrailingStop>0)   
            {                  
              if(
    Bid-OrderOpenPrice()>Point*TrailingStop
               { 
                if(
    OrderStopLoss()<Bid-Point*TrailingStop
                  { 
                   
    OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop
                   
    OrderTakeProfit(),0,Green); 
                   return(
    0); 
                } 
              } 
            } 
        if(
    TrailingStop>0)   
            {                  
             if((
    OrderOpenPrice()-Ask)>(Point*TrailingStop)) 
               { 
                if((
    OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0)) 
                  { 
                   
    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop
                   
    OrderTakeProfit(),0,Red); 
                    return(
    0); 
                 } 
               } 
            }  

         return(
    0); 
       } 

     
    //+------------------------------------------------------------------+ 
     //| FUNCTION DEFINITIONS   TrailingStop                              | 
     //+------------------------------------------------------------------+ 
    void CloseBuyOrders() 

      for (
    int cnt cnt OrdersTotal() ; cnt++) 
      { 
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); 
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol()) 
        { 
          if (
    OrderType()==OP_BUY
          { 
            
    OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),3); 
          } 
        } 
      } 
    }   

    void CloseSellOrders() 

     for (
    int cnt cnt OrdersTotal() ; cnt++) 
      { 
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); 
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol()) 
        { 
          if (
    OrderType()==OP_SELL
          { 
           
    OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3); 
          } 
         } 
        } 
    }
       
     
    //+------------------------------------------------------------------+ 
     //| FUNCTION DEFINITIONS   Money Managment                           | 
     //+------------------------------------------------------------------+  

     
    double subLotSize() 
      { 
          
    double lotMM MathCeil(AccountFreeMargin() *  Risk 1000) / 100;  
           
           if(
    AccountIsMicro==false
           { 
              if(
    lotMM 0.1)                  lotMM Lots
              if((
    lotMM 0.5) && (lotMM 1)) lotMM 0.5
              if(
    lotMM 1.0)                  lotMM MathCeil(lotMM); 
              if(
    lotMM 100)                  lotMM 100
           } 
           else 
           { 
              if(
    lotMM 0.01)                 lotMM Lots
              if(
    lotMM 1.0)                  lotMM MathCeil(lotMM); 
              if(
    lotMM 100)                  lotMM 100
           } 
            
           return (
    lotMM); 
      } 

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

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

    افتراضي

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

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

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


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

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

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

  14. #2474
    الصورة الرمزية spiders101
    spiders101 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2011
    الإقامة
    مصــر
    المشاركات
    935

    افتراضي رد:موضوع مخصص للأسئلة البرمجية

    استاذ اسامة ، النسخة الأخيرة من الاكسيبرت بالمرفقات تعمل بشكل أفضل ونادرا ماتظهر بعض الأخطـاء مثل

    Order Send Error 146 ، Order Send Error 129 ، Order Send Error 128

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

  15. #2475
    الصورة الرمزية ahmedessam58
    ahmedessam58 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2008
    الإقامة
    مصر
    المشاركات
    493

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    تفضل الكود كامل مع إضافة خيار الأستوب لوز فوق أو تحت الكيجن وإغلاق الصفقات عند إغلاق شمعة فوق أو تحت الكيجن
    كود PHP:
    //+------------------------------------------------------------------+ 
     //|                                                        Ambush    | 
     //|                                   Copyright, created 20 july 2012| 
     //|                                                                  | 
     //|                                            Desined by Ahmed Essam| 
     //|                                           [email protected] | 
     //+------------------------------------------------------------------+ 
      
     #property copyright "Ambush" 
     #property link      "[email protected]

     
    extern int   MaxTrades 1;    // ---------------- 1  
     
    extern int   stoploss 50;       // ---------------- 2  
     
    extern bool UseKijunStopLoss=false;
     
    extern int   takeprofit 50;      // ---------------- 3 
     
    extern double TrailingStop =0;       // ---------------- 4 
     
    extern bool  UseHourTrade false;        // ---------------- 5 
     
    extern int   FromHourTrade 7;            // ---------------- 6 
     
    extern int   ToHourTrade 17;          // ---------------- 7 
     
    extern string  MM_Parameters "---------- Money Management"
     
    extern double  Lots 0.01;                                            
     
    extern bool  MM false,                  // ---------------- 8 
                  
    AccountIsMicro true
     
    extern int   Risk 10;                      // ---------------- 9 
      
     
    int MagicNumber=148;                             // -------------------- 10 
     
    extern int tenkansen=9;  
     
    extern int kijunsen=26;  
     
    extern int senkospan=52
     
    extern int shift=1
     
    extern int shift2=26
     
    //+------------------------------------------------------------------+ 
     //| FUNCTION DEFINITIONS    deinitialization function                | 
     //+------------------------------------------------------------------+ 

     
    void deinit() { 
        
    Comment(""); 
      } 

     
    int orderscnt(){ 
     
    int cnt=0
       for(
    int i =0;i<OrdersTotal();i++){ 
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){ 
           if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){ 
             
    cnt++; 
           } 
         } 
       } 
        return(
    cnt); 
      } 

     
    //+------------------------------------------------------------------+ 
     //| FUNCTION DEFINITIONS   Start function                            | 
     //+------------------------------------------------------------------+ 

     
    int start() 
       { 
           if (
    UseHourTrade){ 
            if(!(
    Hour()>=FromHourTrade&&Hour()<=ToHourTrade)){ 
               
    Comment("Non-Trading Hours!"); 
               return(
    0); 
             } 
           } 
          
    double  Tenkan=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_TENKANSEN,shift);  
    double  Kijun=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_KIJUNSEN,shift);  
    double  Senkou=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_CHINKOUSPAN,1+kijunsen);  
    double  Senkoua=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANA,shift);  
    double  Senkouaplus=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANA,shift+27); 
    double  Senkoub=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANB,shift);  
    double  Senkoubplus=iIchimoku(NULL,0,tenkansen,kijunsen,senkospan,MODE_SENKOUSPANB,shift+27); 
    double  Ichimoku_B=iCustom(Symbol(),0,"Ichimoku Trend Magic Histogram with Alert",1,shift); 
    double  Ichimoku_S=iCustom(Symbol(),0,"Ichimoku Trend Magic Histogram with Alert",0,shift); 
       
       if(
    Close[1]>Kijun
       { 
        
    CloseSellOrders(); 
       } 
      if(
    Close[1]<Kijun
       { 
        
    CloseBuyOrders(); 
       }    
          
    double sl,tp;  

        if(
    MMLots subLotSize(); 
         
              
    //-----------------buy&sell   ---------------- 
         
    if((Close[1]>Tenkan)&&(Close[1]>Kijun)&&(Close[1]>Senkoub)&&(Close[1]>Senkoua)&&(Ichimoku_B==3)&&(Senkou>Senkoubplus&&Senkou>Senkouaplus)){        // ------------------------ 22 
           
    if(orderscnt()<MaxTrades){ 
             if(
    stoploss==0){sl=0;}else{sl=Ask-stoploss*Point;} 
               if(
    takeprofit==0){tp=0;}else{tp=Ask+takeprofit*Point;} 
               if(
    UseKijunStopLoss)sl=iIchimoku(Symbol(),0,9,26,52,MODE_KIJUNSEN,0)+5*Point;
                
    OrderSend(Symbol(),OP_BUY,Lots,Ask,2,sl,tp,"Ambush",MagicNumber,0,Blue); 
                 
    PlaySound("Alert.wav"); 
              } 
           } 

        if ((
    Close[1]<Tenkan)&&(Close[1]<Kijun)&&(Close[1]<Senkoua)&&(Close[1]<Senkoub)&&(Ichimoku_S==3)&&(Senkou<Senkoubplus&&Senkou<Senkouaplus)){       // ------------------------ 23 
           
    if(orderscnt()<MaxTrades){ 
             if(
    stoploss==0){sl=0;}else{sl=Bid+stoploss*Point;} 
               if(
    takeprofit==0){tp=0;}else{tp=Bid-takeprofit*Point;} 
                 if(
    UseKijunStopLoss)sl=iIchimoku(Symbol(),0,9,26,52,MODE_KIJUNSEN,0)+5*Point;
                
    OrderSend(Symbol(),OP_SELL,Lots,Bid,2,sl,tp,"Ambush",MagicNumber,0,Red);  
                 
    PlaySound("Alert.wav"); 
              } 
           } 
            if(
    TrailingStop>0)   
            {                  
              if(
    Bid-OrderOpenPrice()>Point*TrailingStop
               { 
                if(
    OrderStopLoss()<Bid-Point*TrailingStop
                  { 
                   
    OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop
                   
    OrderTakeProfit(),0,Green); 
                   return(
    0); 
                } 
              } 
            } 
        if(
    TrailingStop>0)   
            {                  
             if((
    OrderOpenPrice()-Ask)>(Point*TrailingStop)) 
               { 
                if((
    OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0)) 
                  { 
                   
    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop
                   
    OrderTakeProfit(),0,Red); 
                    return(
    0); 
                 } 
               } 
            }  

         return(
    0); 
       } 

     
    //+------------------------------------------------------------------+ 
     //| FUNCTION DEFINITIONS   TrailingStop                              | 
     //+------------------------------------------------------------------+ 
    void CloseBuyOrders() 

      for (
    int cnt cnt OrdersTotal() ; cnt++) 
      { 
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); 
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol()) 
        { 
          if (
    OrderType()==OP_BUY
          { 
            
    OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),3); 
          } 
        } 
      } 
    }   

    void CloseSellOrders() 

     for (
    int cnt cnt OrdersTotal() ; cnt++) 
      { 
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); 
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol()) 
        { 
          if (
    OrderType()==OP_SELL
          { 
           
    OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3); 
          } 
         } 
        } 
    }
       
     
    //+------------------------------------------------------------------+ 
     //| FUNCTION DEFINITIONS   Money Managment                           | 
     //+------------------------------------------------------------------+  

     
    double subLotSize() 
      { 
          
    double lotMM MathCeil(AccountFreeMargin() *  Risk 1000) / 100;  
           
           if(
    AccountIsMicro==false
           { 
              if(
    lotMM 0.1)                  lotMM Lots
              if((
    lotMM 0.5) && (lotMM 1)) lotMM 0.5
              if(
    lotMM 1.0)                  lotMM MathCeil(lotMM); 
              if(
    lotMM 100)                  lotMM 100
           } 
           else 
           { 
              if(
    lotMM 0.01)                 lotMM Lots
              if(
    lotMM 1.0)                  lotMM MathCeil(lotMM); 
              if(
    lotMM 100)                  lotMM 100
           } 
            
           return (
    lotMM); 
      } 

     
    //+---------------------------------------------------------------------------------+ 
    شكرا استاذى الفاضل وسأدرس الكود الجديد جيدا وبارك الله فيك

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

  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