النتائج 1 إلى 9 من 9
  1. #1
    الصورة الرمزية Abdelbaset
    Abdelbaset غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2016
    الإقامة
    مصر
    العمر
    35
    المشاركات
    152

    افتراضي سؤال خارج الصندوق

    السلام عليكم
    هل هناك طريقة لعمل باك تيست بداية من وقت محدد ليس هو بداية اليوم
    يعنى هل ممكن احدد بداية الباك تيست من اى دقيقة خلال اليوم ؟
    الباك تيست الموجود على الميتاتريدر فيه التاريخ فقط يعنى يبدأ من الساعة صفر لليوم المحدد .. انا عايز باك تيست من الساعة 11 مثلاً ...
    طبعا الرد المتوقع يدوياً ...
    شكرا مقدما للجميع
    توقيع العضو
    -- الصبر والثبات -- الإخلاص والعمل ثم العمل والإيمان والتصديق التام الكامل بأن كلُ من عند الله

  2. #2
    الصورة الرمزية forex_man_55
    forex_man_55 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2019
    الإقامة
    العراق
    المشاركات
    456

    افتراضي

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

  3. #3
    الصورة الرمزية وضاح عطار
    وضاح عطار غير متواجد حالياً عضو مميز ومشرف سابق
    تاريخ التسجيل
    Apr 2006
    الإقامة
    السعودية
    العمر
    52
    المشاركات
    7,041

    افتراضي

    وعليكم السلام

    عندك حلين :

    تعديل بكود الاكسبيرت ليبدأ بعد تاريخ وزمن محدد داخله .


    أو من خلال الهيستوري سنتر بحذف كل الشموع السابقة للتي تريد البدء بعدها مباشرة . مع مراعاة عمل الحذف على كل الفريمات التي هي مساوية لفريم التست والاقل منها ايضا .
    توقيع العضو
    اثنان لا يجتمعان علم وسوء خلق

  4. #4
    الصورة الرمزية Abdelbaset
    Abdelbaset غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2016
    الإقامة
    مصر
    العمر
    35
    المشاركات
    152

    افتراضي

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

    عندك حلين :

    تعديل بكود الاكسبيرت ليبدأ بعد تاريخ وزمن محدد داخله .


    أو من خلال الهيستوري سنتر بحذف كل الشموع السابقة للتي تريد البدء بعدها مباشرة . مع مراعاة عمل الحذف على كل الفريمات التي هي مساوية لفريم التست والاقل منها ايضا .
    وعليكم السلام وعليكم السلام وعليكم السلام ورحمة الله وبركاته
    اخيراً .. افتكرت حضرتك اعتزلت المنتديات
    من ساعة ما قرأت موضوعك الخاص بالعشوائية والتحدى الخاص بنقل الرصيد من حساب معين ثابت الى حساب آخر معين ثابت وانا تفكيرى اتغير تماما للنظر الى الأشياء
    بالمناسبة انا وصلت لنص الحل النص التانى هو اللى مطلع عنيا من 3 شهور ولسة كل ما اوصل لطريق الاقية مغلق فى النهاية بس ربنا بيفتح قدامى طريق تانى والطريق اللى اتغلق بيعطينى اضافة كانت ناقصة ...
    عسى يوم أن شاء الله أوصل الى نهاية ناجحة بأذن الله ...
    وشكرا لحضرتك على الحل لمشكلتى ... هجربها وان شاء الله تنجح
    توقيع العضو
    -- الصبر والثبات -- الإخلاص والعمل ثم العمل والإيمان والتصديق التام الكامل بأن كلُ من عند الله

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

    افتراضي

    ده كود اكسبيرت بيفتح صفقتين بيع وشراء وبعد كدة اللى تحقق الربح او الخسارة بيفتح مكانها صفقة اخرى من نفس نوعها
    عدلت عليه بأكثر من طريقة لكى يبدأ عند وقت معين لكن فشلت المحاولات وكل مرة يبدأ من الساعة صفر لليوم اللى هبدأ فيه التيست او على حساب ديمو بمجرد تشغيله يضع اوامر بدون اى أعتبار لساعة البداية اللى موجوة فى الإعدادات
    هو يعتبر اكسبيرت خدمى لأنى بقوم بدراسة النتائج ...
    عايز اعرف ايه الخطأ وكمان ازاى نظبط ساعة البداية للأكسبيرت
    كود:
    input string TradeTime="00:00";
    input int TP=500;
    input int SL=500;
    input double lot=0.1;
    
    
    datetime Time0;
    int buyTicket,sellTicket;
    double buyPrice,sellPrice;
    bool r;
    
    int OnInit()
    {
    return(INIT_SUCCEEDED);
    }
    
    void OnDeinit(const int reason)
    {
    }
    
    void OnTick()
    {
    GetTicket();
    
    if(buyTicket<=0)
    {
    buyTicket=OrderSend(Symbol(),OP_BUY,lot,Ask,0,Ask-SL*Point,Ask+TP*Point,"",0,0);
    }
    if(sellTicket<=0)
    {
    sellTicket=OrderSend(Symbol(),OP_SELL,lot,Bid,0,Bi d+SL*Point,Bid-TP*Point,"",0,0);
    }
    }
    
    void GetTicket()
    {
    buyTicket=-1;
    sellTicket=-1;
    buyPrice=0;
    sellPrice=0;
    
    for(int i=0;i<OrdersTotal();i++)
    {
    r=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if(OrderType()==OP_BUY && OrderSymbol()==Symbol())
    {
    buyTicket=OrderTicket();
    buyPrice=OrderOpenPrice();
    }
    
    if(OrderType()==OP_SELL && OrderSymbol()==Symbol())
    {
    sellTicket=OrderTicket();
    sellPrice=OrderOpenPrice();
    }
    }
    }
    توقيع العضو
    -- الصبر والثبات -- الإخلاص والعمل ثم العمل والإيمان والتصديق التام الكامل بأن كلُ من عند الله

  6. #6
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    هذا اسلؤال من عمق الصندوق
    ردك الاخير دالة oNTICK لابد تحصر مدة التداول
    يعني كل اسطرها تكون محصورة بين جملة شرطية تحدد بداية ونهاية وقت التداول

  7. #7
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    بحيث خارج تلك الفترة التي تحددها يصبح الاكسبيرت كأنه غير موجود على التشارت

  8. #8
    الصورة الرمزية Abdelbaset
    Abdelbaset غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2016
    الإقامة
    مصر
    العمر
    35
    المشاركات
    152

    افتراضي

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

  9. #9
    الصورة الرمزية forex_man_55
    forex_man_55 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2019
    الإقامة
    العراق
    المشاركات
    456

    افتراضي

    كان سابقا هناك دالة return(0) لكنها لم تعد شغالة ولا اعرف السبب

    لذا يمكن تعريف متغير منطقي كالاتي

    bool trade=true;
    if (Hour()==x) trade =false;

    وتضيف شرط
    if (trade==true)
    OrderSend(Symbol(),OP_SELL,lot,Bid,0,Bi d+SL*Point,Bid-TP*Point,"",0,0);

    هذا الحل الذي استخدمه بعد الغاء دالة return(0) وربما بعض الاخوة لديه حل اسهل


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