النتائج 1 إلى 11 من 11
  1. #1
    الصورة الرمزية mohamed86
    mohamed86 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2011
    الإقامة
    مصر
    المشاركات
    92

    افتراضي مساعدة فى كود برمجة بارك الله فيكم

    السلام عليكم

    لى سؤالين
    الأول: كيف نستدعى باقى المؤشرات إلى الميتا إديتور بخلاف الموفنج
    مثلا الموفنج
    iMA(NULL,240,3,0,MODE_EMA,PRICE_WEIGHTED,1)
    دى سهلة اما باقى المؤشرات إزاى؟

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

    ومعلش مش هعرف أرفق الإكسبرت لعدم موافقة صاحبة وهوة أساسا إكسبرت يودى فى داهية بس أنا بحاول أصلحه يمكن ينفع
    والله المستعان
    آخر تعديل بواسطة mohamed86 ، 14-03-2013 الساعة 01:32 AM

  2. #2
    الصورة الرمزية mohamed86
    mohamed86 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2011
    الإقامة
    مصر
    المشاركات
    92

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

    دا مثال لكود البيع اللى المطلوب تكرار العمليات كل ما يرجع السعر لنقطة الإفتتاح

    كود:
    void SellPendingOrder_3()
    {
        for (int i=2; i<=5; i++){
        if (SellOrder && total(OP_SELLSTOP)>=2 && Bid<=open_price+pip*point &&  total(OP_SELL)>=2 && (Bid-last_price(OP_SELLSTOP))>i*pip*point)
        {
        double price = last_price(OP_SELLSTOP)+spread*point+NormalizeDouble(pip*(i-1),0)*point;
        double TP=Bid-NormalizeDouble(pip,0)*point;
        OrderSend(Symbol(), OP_SELLSTOP, sellstop, price, 4, 0, TP, "aaa", magic1, 0, Red);
       }
      }
    }

  3. #3
    الصورة الرمزية Mgd_Elislam
    Mgd_Elislam غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2010
    المشاركات
    135

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

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

    لى سؤالين
    الأول: كيف نستدعى باقى المؤشرات إلى الميتا إديتور بخلاف الموفنج
    مثلا الموفنج
    iMA(NULL,240,3,0,MODE_EMA,PRICE_WEIGHTED,1)
    دى سهلة اما باقى المؤشرات إزاى؟
    هذه هى المسئولة عن هذا الشئ

    كود:
    iCustom( string symbol, int timeframe, string name, ..., int mode, int shift)
    ومدخلاته : العملة ، الاطار الزمنى الذى تريد المؤشر ان يعمل عليه
    اسم المؤشر باسم الملف بدون اى امتداد

    ثم قيم مدخلات المؤشر بالترتيب

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

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

  4. #4
    الصورة الرمزية Mgd_Elislam
    Mgd_Elislam غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2010
    المشاركات
    135

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

    انا الصراحة لم افهم ما تريد بالظبط لكن

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

    يعنى المطلوب أن الإكسبرت يعيد فتح الصفقات التى تمت وانتهت إلا الصفقات التى من نفس النوع التى مازالت معلقة أو مفعلة وذلك بدون التعارض مع صفقات الإكسبرت الأخرى

    والله المستعان
    لكى تبحث عن الصفقات التى تمت واتهت ستستخدم او الل Loop For , والذى سيبحث فى جميع صفقات الهيستورى

    اعطيك مثال لمعرفة توع اخر صفقة من هذا الاكسيبرت
    كود:
      datetime OCT;   // order close time
      int OT; // order typy
      for(int i=0; i<OrdersHistoryTotal();i++)
       {
       OrderSelect(i;SELECT_BY_POS;MODE_HISTORY);
       if(OrderSymbol()== Symbol() && OrderMagicNumber()==MagicNumber && OrderCloseTime() >OCT )
          {
          OCT = OrderCloseTime();
          OT  = OrderType();
          }
       }
    ثم حين ياتى وقت فتح هذه الصفقة الاخيرة سيكون الامر

    كود:
       OrderSend(OrderSymbol(),OT,OrderLots(),Ask,0,OrderStopLoss(),OrderTakeProfit(),"",MagicNumber,0)
    لكن طبعا عليك ان تدخل معادلة او داله لتحدد سعر فتح الصفقة و نوعها بناء على السعر الحالى (اى مثلا هل هى امر ماركت ام امر معلق وهل الامر المعلق Limit ام Stop

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

  5. #5
    الصورة الرمزية mohamed86
    mohamed86 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2011
    الإقامة
    مصر
    المشاركات
    92

    افتراضي

    جزاكم الله خيرا أخ مجد ومعلش الواحد إما يضطر بيركب الصعاب

    كود الأمر المطلوب وضع دالة التكرار له هو التالى وليس الذى بالأعلى
    كود:
    void SellPendingOrder_2()
    {
        if (SellOrder && total(OP_SELLSTOP)==1 )
        {
        double price = last_price(OP_SELL)-NormalizeDouble(pip,0)*point-spread*point;
        if (total(OP_SELL)<=1)selllot=SellLot;
        if (MultiLot==true && total(OP_SELL)>1)selllot=multilot*last_lot(OP_SELL);  
        if (MultiLot==false && total(OP_SELL)>1)selllot=SellLot+last_lot(OP_SELL);
        OrderSend(Symbol(), OP_SELLSTOP, selllot, price, 4, 0, 0, "aaa", magic1, 0, Red);
      }
      
    }

  6. #6
    الصورة الرمزية mohamed86
    mohamed86 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2011
    الإقامة
    مصر
    المشاركات
    92

    افتراضي

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

    بالنسبة لـ
    icustom
    مثلا إستدعاء مؤشر داخلى مثل الآر اس آى
    أو خارجى وليكن إسمه great

  7. #7
    الصورة الرمزية mohamed86
    mohamed86 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2011
    الإقامة
    مصر
    المشاركات
    92

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة mohamed86 مشاهدة المشاركة
    جزاكم الله خيرا أخ مجد ومعلش الواحد إما يضطر بيركب الصعاب

    كود الأمر المطلوب وضع دالة التكرار له هو التالى وليس الذى بالأعلى
    كود:
    void SellPendingOrder_2()
    {
        if (SellOrder && total(OP_SELLSTOP)==1 )
        {
        double price = last_price(OP_SELL)-NormalizeDouble(pip,0)*point-spread*point;
        if (total(OP_SELL)<=1)selllot=SellLot;
        if (MultiLot==true && total(OP_SELL)>1)selllot=multilot*last_lot(OP_SELL);  
        if (MultiLot==false && total(OP_SELL)>1)selllot=SellLot+last_lot(OP_SELL);
        OrderSend(Symbol(), OP_SELLSTOP, selllot, price, 4, 0, 0, "aaa", magic1, 0, Red);
      }
      
    }
    مطلوب إضافة كود التكرار ياإخوة كلما رجع السعر لإفتتاح الشمعة الأم

  8. #8
    الصورة الرمزية Jmeel
    Jmeel غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Sep 2008
    الإقامة
    في أرض الله
    المشاركات
    7,610

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

    اخي استدعاء اي مؤشر خارجي بالصيغة
    كود PHP:
    double val=iCustom(NULL0"SampleInd",1,0); 
    اسم المؤشر SampleInd

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

  9. #9
    الصورة الرمزية mohamed86
    mohamed86 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2011
    الإقامة
    مصر
    المشاركات
    92

    افتراضي

    جزاكم الله خيرا

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

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

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

    لى سؤالين
    الأول: كيف نستدعى باقى المؤشرات إلى الميتا إديتور بخلاف الموفنج
    مثلا الموفنج
    iMA(NULL,240,3,0,MODE_EMA,PRICE_WEIGHTED,1)
    دى سهلة اما باقى المؤشرات إزاى؟

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

    ومعلش مش هعرف أرفق الإكسبرت لعدم موافقة صاحبة وهوة أساسا إكسبرت يودى فى داهية بس أنا بحاول أصلحه يمكن ينفع
    والله المستعان
    وعليكم السلام ورحمة الله وبركاته
    بالنسبه لإعادة الأوامر المعلقه المغلقه
    راجع الإكسبرت المرفق
    سوف تجد هذه الدالة
    كود PHP:
     bool CheckOpenedOrders(string comment){
      for(
    int i=0;i<OrdersTotal();i++){
       
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
       
    string com=OrderComment();
       if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
        if(
    com==comment)return(true);
       }
      }
     return(
    false);
    }

    void OpenClosedOrders(int type)
     {
     for(
    int i=0;i<OrdersHistoryTotal();i++){
      
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      
    string comment=OrderComment();double open=OrderOpenPrice();
      
    double lott=OrderLots();double stop=OrderStopLoss();double profit=OrderTakeProfit();
      
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type){
       if(
    CheckOpenedOrders(comment)==false){
       if((
    type==OP_BUY&&!ReverseClosedOrders)||(type==OP_SELL&&ReverseClosedOrders)){ 
        if(
    Ask>open+MarketInfo(Symbol(),MODE_STOPLEVEL)*Point){
         
    OrderSend(Symbol(),OP_BUYLIMIT,lott,open,3,stop,profit,comment,MagicNumber,0,Green);}
        
        if(
    Ask<open-MarketInfo(Symbol(),MODE_STOPLEVEL)*Point){
         
    OrderSend(Symbol(),OP_BUYSTOP,lott,open,3,stop,profit,comment,MagicNumber,0,Green);}
       }
       if((
    type==OP_SELL&&!ReverseClosedOrders)||(type==OP_BUY&&ReverseClosedOrders)){
       if(
    Bid>open+MarketInfo(Symbol(),MODE_STOPLEVEL)*Point){
         
    OrderSend(Symbol(),OP_SELLSTOP,lott,open,3,stop,profit,comment,MagicNumber,0,Green);}
        
        if(
    Bid<open-MarketInfo(Symbol(),MODE_STOPLEVEL)*Point){
         
    OrderSend(Symbol(),OP_SELLLIMIT,lott,open,3,stop,profit,comment,MagicNumber,0,Green);}
         }
        }
       }
      }
     } 
    المسئوله عن فتح الأوامر المعلقه بعد إغلاقها
    إذا كنت تريد تحديد شرط وضع الأوامر المعلقه التي فتحت مع إفتتاح الشمعه فقط فسوف تضيف الشرط إلى نفس الداله

    بالنسبه لإستدعاء المؤشرات الأخرى
    فكما ذكر الإخوه بالنسبه للمؤشرات الخارجيه فتستخدم الداله iCustom
    أما بالنسبه للمؤشرات الأخرى الموجوده في الميتاتريدر فتقريبا نفس إستدعاء مؤشر الموفينج
    مثلا الآر إس آي
    كود PHP:
    iRSI(Symbol(),0,14,PRICE_CLOSE,1); 
    مؤشر الإستوكاستيك
    كود PHP:
    iStochastic(Symbol(),0,5,3,3,0,0,MODE_CLOSE,1); 
    الملفات المرفقة الملفات المرفقة
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  11. #11
    الصورة الرمزية mohamed86
    mohamed86 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2011
    الإقامة
    مصر
    المشاركات
    92

    افتراضي

    شكرا يانجم جزاكم الله خيرا , إجابة موفقة بإذن الله


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