صفحة 1 من 11 1234567 ... الأخيرةالأخيرة
النتائج 1 إلى 15 من 154
  1. #1
    الصورة الرمزية أبو نـاصر
    أبو نـاصر غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Jun 2013
    الإقامة
    السعودية
    المشاركات
    3,189

    افتراضي في كود اغلاق الصفقات

    السلام عليكم


    كثرت الاسئلة ولكني لا اسأل غالبا الا بعد بحث ومحاولات للحل بدون جدوى



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

    لكنه لا ينفذ في كثير من الأحيان

    عند انشاء صفقات احيانا لا يحذفها

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





    (هدفي النهائي .. احتاج تريلينج ستوب للربح والخسارة في مجمل الحساب .. منذ انشاء اول صفقة الى ان تنتهي جلسة التداول )



    كود:
      if (profit()<0 || profit()>0 ){
       
      close_Orders();
          
         }
    وهذه دالة اغلاق الصفقات والأوامر
    https://forum.arabictrader.com/t233129.html

    كود:
       
        void close_Orders(){
    
    for(int i=0;i<OrdersTotal();i++){
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    
    //if(OrderSymbol()==Symbol()){
        
                   
          if (OrderType()==OP_BUY)
          {
           bool close= OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),3);
            
          }
          if (OrderType()==OP_SELL)
          {
           close=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3);
          }
          
          if(OrderType()>OP_SELL)
          {
           close=OrderDelete(OrderTicket());
          }
    }
    
    
    }

    وهذه لحساب الربح والخسارة

    كود:
               double profit(){
    double c;
    for(int i=0;i<OrdersTotal();i++){
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    //if(OrderSymbol()==Symbol()){
    c+=OrderProfit();
    }
    // }
    return(c);
    }

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

    افتراضي

    كود إغلاق الصفقات يجب أن يكون بحلقة عكسية .. أي تبدأ من OrdersTotal-1 وحتى الصفر .
    توقيع العضو
    اثنان لا يجتمعان علم وسوء خلق

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

    افتراضي

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

  4. #4
    الصورة الرمزية أبو نـاصر
    أبو نـاصر غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Jun 2013
    الإقامة
    السعودية
    المشاركات
    3,189

    افتراضي

    جزاك الله خير على التنبيه
    عدلته لهذا
    كود:
    for(int i=OrdersTotal()-1;i>=0;i--){
    نعم حاولت استدعاء الكود أكثر من مرة .. ويضا انشاء اوامر شراء وبيع معلقة بين الاستدعاءات باسعار بعيدة عن الحالية

    وحاولت ربطه بالوقت مع التيك

    وحاولت استخدام
    while(OrdersTotal()>=0)

    ولكن لم اصل لدرجة من الأمان معه فلا بد أن يبقي أوامر ما

    حتى لو لم يوجد الا صفقة واحدة في الأصل .. فقد لا يغلقها



    لاحظت مع هذا البروكر ان المطب عند أي زوج مرتبط مع الين .. لاادري ان كنت اتوهم

    لكنه يحذفها فورا ان وضعت الاكسبيرت على شارته (مع ان شرط الكود لا يشترط الشارت نفسه )



    ----------------------

    هل لديك اكسبيرت لعمل تريلينج ستوب للحساب كامل

    شكرا لك استاذي

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

    افتراضي

    فهمت منك الآن أن هذا الكود هو لأي عملة وليست فقط لعملة الشارت ..

    ولذلك فإن كود إغلاقك فيه خطأ ويجب أن يكون هكذا ...

    كود:
    void close_Orders(){
     
    for(int i=0;i<OrdersTotal();i++){
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
     
     
    //if(OrderSymbol()==Symbol()){
     
     
     
     
    if (OrderType()==OP_BUY)
    {
    bool close= OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3);
     
     
    }
    if (OrderType()==OP_SELL)
    {
    close=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3);
    }
     
     
    if(OrderType()>OP_SELL)
    {
    close=OrderDelete(OrderTicket());
    }
    }
     
     
     
     
    }
    توقيع العضو
    اثنان لا يجتمعان علم وسوء خلق

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة أبو نـاصر مشاهدة المشاركة
    جزاك الله خير على التنبيه
    عدلته لهذا
    كود:
    for(int i=OrdersTotal()-1;i>=0;i--){
    نعم حاولت استدعاء الكود أكثر من مرة .. ويضا انشاء اوامر شراء وبيع معلقة بين الاستدعاءات باسعار بعيدة عن الحالية

    وحاولت ربطه بالوقت مع التيك

    وحاولت استخدام
    while(OrdersTotal()>=0)

    ولكن لم اصل لدرجة من الأمان معه فلا بد أن يبقي أوامر ما

    حتى لو لم يوجد الا صفقة واحدة في الأصل .. فقد لا يغلقها



    لاحظت مع هذا البروكر ان المطب عند أي زوج مرتبط مع الين .. لاادري ان كنت اتوهم

    لكنه يحذفها فورا ان وضعت الاكسبيرت على شارته (مع ان شرط الكود لا يشترط الشارت نفسه )



    ----------------------

    هل لديك اكسبيرت لعمل تريلينج ستوب للحساب كامل

    شكرا لك استاذي
    أهلا أبو ناصر

    لم أفهم السطر بالأحمر ...

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

  7. #7
    الصورة الرمزية Outsider
    Outsider غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Dec 2015
    الإقامة
    الكويت
    المشاركات
    40

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة أبو نـاصر مشاهدة المشاركة
    جزاك الله خير على التنبيه
    عدلته لهذا
    كود:
    for(int i=OrdersTotal()-1;i>=0;i--){
    نعم حاولت استدعاء الكود أكثر من مرة .. ويضا انشاء اوامر شراء وبيع معلقة بين الاستدعاءات باسعار بعيدة عن الحالية

    وحاولت ربطه بالوقت مع التيك

    وحاولت استخدام
    while(OrdersTotal()>=0)

    ولكن لم اصل لدرجة من الأمان معه فلا بد أن يبقي أوامر ما

    حتى لو لم يوجد الا صفقة واحدة في الأصل .. فقد لا يغلقها



    لاحظت مع هذا البروكر ان المطب عند أي زوج مرتبط مع الين .. لاادري ان كنت اتوهم


    لكنه يحذفها فورا ان وضعت الاكسبيرت على شارته (مع ان شرط الكود لا يشترط الشارت نفسه )



    ----------------------

    هل لديك اكسبيرت لعمل تريلينج ستوب للحساب كامل

    شكرا لك استاذي
    ابو ناصر غالبا المشكلة في ازواج الين بسبب انها ثنائية او ثلاثية الخانة بعد الفاصلة بينما باقي الازواج ؤباعية او خماسية حسب البروكر

    عالج هذا الامر وستحل المشكلة عندك ان شاء الله
    آخر تعديل بواسطة Outsider ، 12-01-2016 الساعة 08:03 PM

  8. #8
    الصورة الرمزية أبو نـاصر
    أبو نـاصر غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Jun 2013
    الإقامة
    السعودية
    المشاركات
    3,189

    افتراضي

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

    لم أفهم السطر بالأحمر ...

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

    لأني امس تأزمت جدا

    وصلت الارباح في تداول امس الى تدبيلة ونصف في بيع الاسترالي وكان هدفي القاع (الذي تحقق) ثم الشراء منه

    لكني لم احافظ على الارباح وللاسف


    لعلي اجد في هذه البرمجيات بديلا مناسبا (لإدارة النفسية)

    ----------

    ما كتب بالأحمر

    لاحظت انه يغلق كل الازواج ما عدا اي زوج مرتبط بالين (audjpy - chfjpy - ...) يقف عنده أو يتأخر في اغلاقه

    مع انه يغلق الاوامر المعلقه له

    ---------

    بعد قليل سأعرض عليك برنامجي

  9. #9
    الصورة الرمزية أبو نـاصر
    أبو نـاصر غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Jun 2013
    الإقامة
    السعودية
    المشاركات
    3,189

    افتراضي

    اضغط على الصورة لعرض أكبر

الاســـم:	22.png
المشاهدات:	43
الحجـــم:	39.2 كيلوبايت
الرقم:	450863



    ارجوا مراجعة هذا الكود

    اي اغلاق للصفقات بسبب المارجين لن يؤخذ بالحساب حتى الآن
    الملفات المرفقة الملفات المرفقة
    آخر تعديل بواسطة أبو نـاصر ، 12-01-2016 الساعة 09:21 PM

  10. #10
    الصورة الرمزية أبو نـاصر
    أبو نـاصر غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Jun 2013
    الإقامة
    السعودية
    المشاركات
    3,189

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة Outsider مشاهدة المشاركة
    ابو ناصر غالبا المشكلة في ازواج الين بسبب انها ثنائية او ثلاثية الخانة بعد الفاصلة بينما باقي الازواج ؤباعية او خماسية حسب البروكر

    عالج هذا الامر وستحل المشكلة عندك ان شاء الله
    شكرا لك عزيزي

    يبدو لي ان اشكالية الارقام حلها في كود الاستا وضاح

    MarketInfo(OrderSymbol(),MODE_BID)

    اليس كذلك

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

    افتراضي

    أخي أبو ناصر اختر أحد الخيارين :

    - كود جاهز يحل لك مشكلتك .

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

  12. #12
    الصورة الرمزية أبو نـاصر
    أبو نـاصر غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Jun 2013
    الإقامة
    السعودية
    المشاركات
    3,189

    افتراضي

    توجد اشكالية هنا

    لماذا نزل عن 200 مع اول صفقة
    اضغط على الصورة لعرض أكبر

الاســـم:	22.png
المشاهدات:	31
الحجـــم:	21.6 كيلوبايت
الرقم:	450868

  13. #13
    الصورة الرمزية أبو نـاصر
    أبو نـاصر غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Jun 2013
    الإقامة
    السعودية
    المشاركات
    3,189

    افتراضي

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

    - كود جاهز يحل لك مشكلتك .

    - أن أشرح لك وتكتبه بنفسك .
    كما تحب استاذي

    الكود الجاهز فيه اختصار لوقتك

    شكرا للوقتك الثمين الذي منحتني

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

    افتراضي

    ولا يهمك أخي أبو ناصر ...

    سأبدأ ببعض الأسئلة :

    - هل يوجد في بروكرك خاصية CloseBy أم لا .

    لأنه في حال وجودها سنعتمد على إغلاق الصفقات جميعها بهيدج أولا ... ثم الإغلاق بكلوز باي تباعا ...

    وهو ما يجعل الإغلاق أسرع ما يمكن وأدق ما يمكن .

    في حال عدم وجود هذه الخاصية سنضطر للإغلاق صفقة صفقة .


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


    أخيرا البرنامج سيكون سكريبت لأننا نتعامل مع عدة أزواج في نفس الوقت ...


    توكلنا على الله .
    توقيع العضو
    اثنان لا يجتمعان علم وسوء خلق

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

    افتراضي

    نسيت أيضا أن أسألك ... هل البروكر انستانت اكسكيوشين أم ماركت اكسكيوشين .
    توقيع العضو
    اثنان لا يجتمعان علم وسوء خلق

صفحة 1 من 11 1234567 ... الأخيرةالأخيرة

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