النتائج 1 إلى 10 من 10
  1. #1
    الصورة الرمزية uae forex
    uae forex غير متواجد حالياً موقوف
    تاريخ التسجيل
    Apr 2009
    الإقامة
    ALAIN
    المشاركات
    1,101

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

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

  2. #2
    الصورة الرمزية Prog_Man
    Prog_Man غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2012
    المشاركات
    90

    افتراضي

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

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

    مثال :

    كود PHP:
    if(OrdersTotal()==0&&(Hour()>17||Hour()<7)) return(0); 

    أرجو أن يكون هذا الحل يفيدك

    موفق بإذن الله

  3. #3
    الصورة الرمزية uae forex
    uae forex غير متواجد حالياً موقوف
    تاريخ التسجيل
    Apr 2009
    الإقامة
    ALAIN
    المشاركات
    1,101

    افتراضي

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


    وعليكم السلام ورحمة الله وبركاته

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

    مثال :

    كود PHP:
    if(OrdersTotal()==0&&(Hour()>17||Hour()<7)) return(0); 

    أرجو أن يكون هذا الحل يفيدك

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

  4. #4
    الصورة الرمزية Prog_Man
    Prog_Man غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2012
    المشاركات
    90

    افتراضي

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

    التعديل
    كود PHP:
    if (UseTimeFilter&&orderscnt(0)==0&&orderscnt(1)==0
    بالتوفيق
    الملفات المرفقة الملفات المرفقة

  5. #5
    الصورة الرمزية uae forex
    uae forex غير متواجد حالياً موقوف
    تاريخ التسجيل
    Apr 2009
    الإقامة
    ALAIN
    المشاركات
    1,101

    افتراضي

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


    تفضل بارك الله فيك

    التعديل
    كود PHP:
    if (UseTimeFilter&&orderscnt(0)==0&&orderscnt(1)==0
    بالتوفيق
    جزاك الله خير 100% شغال بارك الله فيك

  6. #6
    الصورة الرمزية uae forex
    uae forex غير متواجد حالياً موقوف
    تاريخ التسجيل
    Apr 2009
    الإقامة
    ALAIN
    المشاركات
    1,101

    افتراضي

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

  7. #7
    الصورة الرمزية Prog_Man
    Prog_Man غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2012
    المشاركات
    90

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة uae forex مشاهدة المشاركة
    اخي Prog_Man صارت معي مشكله وهذه المششكله غير موجوده فى الباك تست فقط على التداول على الديمو وهي عند وصول الربح المحدد الاكسبرت لا يغلق جميع الصفقات المعلقه والمفتوحه ولاكن يكتفى باغلاق جزء بسيط من الصفقات ثم يعاود فتح اومر معلقه وينسى الباقيي شكله فيه الزهايمر لا يتعدى صفقتيني او ثلاث ويوقف شو الحل فى رايك مع العلم انى ركبت جميع الاكواد الموجوده فى المنتدى من دون فايده
    هذا لأن في الباك التيست كل شي مثالي وخاصة في الاستجابة للأوامر لكن في التداول على اللايف (ديمو أو حقيقي)
    فهناك عوامل أخرى تأثر مثل استجابة السيرفر أو سرعة الإنترنت وهذا ما يسبب تجاهل الإكسبرت لإغلاق بعض الأوامر وخاصة أنك محدد عدد المحاولات له بـ 10 محاولات للإغلاق وعند خروج البرنامج من الأمر while وقد أغلق بعض الأوامر فإن الربح قل وعند العودة مرة أخرى للشرط فلن يتحقق فيكمل مسيرته

    التعديل
    كود PHP:
    if((Profit(OP_BUY)+Profit(OP_SELL)>=USD_Profit&&CloseInUSD_Profit)||(Profit(OP_BUY)+Profit(OP_SELL)<=USD_Loss&&CloseInUSD_Loss)||
            (
    UseCloseDaily&&Hour()==Close_Hour)||(Hour()==WeeklyClose_Hour&&UseWeeklyClose&&DayOfWeek()==5)||a>0)
          {
             
    a=1;
          while(
    a>0)
             {
                
    CloseAllOrders();DeletePendingOrders();
                if(
    orderscnt(OP_BUY)+orderscnt(OP_SELL)+orderscnt(OP_BUYSTOP)+orderscnt(OP_SELLSTOP)==0a=0;
             }
           if(
    a>0)return(0);
          } 
    ملاحظة : جربته فقط على الباك تيست.

    هذا والله أعلم
    الملفات المرفقة الملفات المرفقة

  8. #8
    الصورة الرمزية uae forex
    uae forex غير متواجد حالياً موقوف
    تاريخ التسجيل
    Apr 2009
    الإقامة
    ALAIN
    المشاركات
    1,101

    افتراضي

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


    هذا لأن في الباك التيست كل شي مثالي وخاصة في الاستجابة للأوامر لكن في التداول على اللايف (ديمو أو حقيقي)
    فهناك عوامل أخرى تأثر مثل استجابة السيرفر أو سرعة الإنترنت وهذا ما يسبب تجاهل الإكسبرت لإغلاق بعض الأوامر وخاصة أنك محدد عدد المحاولات له بـ 10 محاولات للإغلاق وعند خروج البرنامج من الأمر while وقد أغلق بعض الأوامر فإن الربح قل وعند العودة مرة أخرى للشرط فلن يتحقق فيكمل مسيرته

    التعديل
    كود PHP:
    if((Profit(OP_BUY)+Profit(OP_SELL)>=USD_Profit&&CloseInUSD_Profit)||(Profit(OP_BUY)+Profit(OP_SELL)<=USD_Loss&&CloseInUSD_Loss)||
            (
    UseCloseDaily&&Hour()==Close_Hour)||(Hour()==WeeklyClose_Hour&&UseWeeklyClose&&DayOfWeek()==5)||a>0)
          {
             
    a=1;
          while(
    a>0)
             {
                
    CloseAllOrders();DeletePendingOrders();
                if(
    orderscnt(OP_BUY)+orderscnt(OP_SELL)+orderscnt(OP_BUYSTOP)+orderscnt(OP_SELLSTOP)==0a=0;
             }
           if(
    a>0)return(0);
          } 
    ملاحظة : جربته فقط على الباك تيست.

    هذا والله أعلم
    اسمحلى عاد ناوى اتعبك لانى اشوف فيك الخبره فى هذا المجال
    وصحيح مثل ما قلت المشكله من السيفر ومدى الاستجابه من ملاحظتى للاكسبرت عند الاغلاق يقوم باغلاق الاومر المعلقه قبل وبداء اغلاق بعض العقود قد تغلق كامله وفى اغلب الاوقات لازم يخلى كم عقد المشكله اتوقع انا معطين الاكسبرت امر فى حال عدم وجود صفقات معلقه يفتح صفقه معلقه وعند الاغلاق الصفقات المعلقه يكتشف انه ما عنده صفقات معلقه ويحاول يفتح صفقات معلق ويصير ضغط على السيفر وخاصه مثل ما شفت مخليله عدة محاولات لفتح الصفقه هل ممكن نخلى الاكسبرت ينام دقائق ويرتاح لحين الاغلاق بعدها يبداء عمله
    شئ اخر يمكن شفت انا مخلى اغلاق الاومر المعلقه اذا كانت اكبر من 1 والسب انى حصلت الاكسبرت فاتح اكثر من امر معلق وما عرفت احلها الا بهدذا الكود
    if(orderscnt(OP_SELLSTOP)>1||orderscnt(OP_BUYSTOP) >1)DeletePendingOrders();

  9. #9
    الصورة الرمزية Prog_Man
    Prog_Man غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2012
    المشاركات
    90

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة uae forex مشاهدة المشاركة
    اسمحلى عاد ناوى اتعبك لانى اشوف فيك الخبره فى هذا المجال
    وصحيح مثل ما قلت المشكله من السيفر ومدى الاستجابه من ملاحظتى للاكسبرت عند الاغلاق يقوم باغلاق الاومر المعلقه قبل وبداء اغلاق بعض العقود قد تغلق كامله وفى اغلب الاوقات لازم يخلى كم عقد المشكله اتوقع انا معطين الاكسبرت امر فى حال عدم وجود صفقات معلقه يفتح صفقه معلقه وعند الاغلاق الصفقات المعلقه يكتشف انه ما عنده صفقات معلقه ويحاول يفتح صفقات معلق ويصير ضغط على السيفر وخاصه مثل ما شفت مخليله عدة محاولات لفتح الصفقه هل ممكن نخلى الاكسبرت ينام دقائق ويرتاح لحين الاغلاق بعدها يبداء عمله
    شئ اخر يمكن شفت انا مخلى اغلاق الاومر المعلقه اذا كانت اكبر من 1 والسب انى حصلت الاكسبرت فاتح اكثر من امر معلق وما عرفت احلها الا بهدذا الكود
    if(orderscnt(OP_SELLSTOP)>1||orderscnt(OP_BUYSTOP) >1)DeletePendingOrders();
    مرحبا بك أخي
    نعم الإكسبرت عند عدم وجود صفقة معلقة من نوع BuyStop أو SellStop يضع أمر معلق
    أما بخصوص جعل الإكسبرت في حالة انتظار هناك امر في اللغة هو
    كود:
    void Sleep( int milliseconds)
    لكن هو لن ينفع لأنه سيوقف عمل الاكسبرت بالكامل للفترة المحدده
    أما الحل الذي اتبعته في التعديل السابق هو إضافة متغير a عند تحقق شرط الإغلاق للأوامر وإعطائه قيمة أكبر من صفر و منع الإكسبرت من التقدم مادام قيمة a أكبر من صفر ويرجع a إلى صفر عند حذف جميع الاوامر

    لا أعلم إن كنت جربته وعمل بشكل جيد أو لا؟؟؟

    أما بخصوص فتح الإكسبرت أكثر من صفقة معلقة فعلى ما أظن بسبب هذا الكود
    كود:
    ticket= OrderSend(Symbol(),OP_BUYSTOP,Lots,NormalizeDouble(Ask+Step*point,Digits),Slippage*Q,SL,TP,"ALSHAMSIEA",MagicNumber,0,Blue); while(ticket<0&&Try<OpenOrderTry){ if(IsTradeAllowed())OrderSend(Symbol(),OP_BUYSTOP,Lots,NormalizeDouble(Ask+Step*point,Digits),Slippage*Q,SL,TP,"ALSHAMSIEA",MagicNumber,0,Blue);Sleep(2000);Try++;}
    حيث عند فشل وضع الأمر المعلق وإعطاء المتغير ticket =-1 فهنا سيدخل حلقة while وشرطها أن تقف حين تكون قيمة ticket أكبر من أو يساوي صفر وهذا لن يحدث لأنه لم يسند إلى المتغير ticket أي قيمة داخل الحلقة

    آسف على الإطالة لكن أحببت أن أوضح ما يحصل

    على العموم مرفق الإكسبرت فيه تعديل ما ذكرت

    والله الموفق
    الملفات المرفقة الملفات المرفقة

  10. #10
    الصورة الرمزية uae forex
    uae forex غير متواجد حالياً موقوف
    تاريخ التسجيل
    Apr 2009
    الإقامة
    ALAIN
    المشاركات
    1,101

    افتراضي

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

    مرحبا بك أخي
    نعم الإكسبرت عند عدم وجود صفقة معلقة من نوع BuyStop أو SellStop يضع أمر معلق
    أما بخصوص جعل الإكسبرت في حالة انتظار هناك امر في اللغة هو
    كود:
    void Sleep( int milliseconds)
    لكن هو لن ينفع لأنه سيوقف عمل الاكسبرت بالكامل للفترة المحدده
    أما الحل الذي اتبعته في التعديل السابق هو إضافة متغير a عند تحقق شرط الإغلاق للأوامر وإعطائه قيمة أكبر من صفر و منع الإكسبرت من التقدم مادام قيمة a أكبر من صفر ويرجع a إلى صفر عند حذف جميع الاوامر

    لا أعلم إن كنت جربته وعمل بشكل جيد أو لا؟؟؟

    أما بخصوص فتح الإكسبرت أكثر من صفقة معلقة فعلى ما أظن بسبب هذا الكود
    كود:
    ticket= OrderSend(Symbol(),OP_BUYSTOP,Lots,NormalizeDouble(Ask+Step*point,Digits),Slippage*Q,SL,TP,"ALSHAMSIEA",MagicNumber,0,Blue); while(ticket<0&&Try<OpenOrderTry){ if(IsTradeAllowed())OrderSend(Symbol(),OP_BUYSTOP,Lots,NormalizeDouble(Ask+Step*point,Digits),Slippage*Q,SL,TP,"ALSHAMSIEA",MagicNumber,0,Blue);Sleep(2000);Try++;}
    حيث عند فشل وضع الأمر المعلق وإعطاء المتغير ticket =-1 فهنا سيدخل حلقة while وشرطها أن تقف حين تكون قيمة ticket أكبر من أو يساوي صفر وهذا لن يحدث لأنه لم يسند إلى المتغير ticket أي قيمة داخل الحلقة

    آسف على الإطالة لكن أحببت أن أوضح ما يحصل

    على العموم مرفق الإكسبرت فيه تعديل ما ذكرت

    والله الموفق
    جزاك الله خير اخي Prog_Man لك الشكر والتقدير اخي الكريم ما قصرت بحاول اعدل على الداله CloseAllOrders لانى اختبرت السابق ونفس المشكله مخصص الربح 500 ووصل الربح الى 2000 ولا اغلق ولاكن وجدت انه اغلق الصفقات المعلقه كذا مره وعند ما اغلقت الميتاتريدير ورجعت فتحته اغلق شكله عنده مشاكل عائليه هههه وما انتبه وبعد ان شاء الله بختبر هذا بكره اذن الله ونشوف تحياتي


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