صفحة 291 من 689 الأولىالأولى ... 191241281285286287288289290291292293294295296297301341391 ... الأخيرةالأخيرة
النتائج 4,351 إلى 4,365 من 10335
  1. #4351
    الصورة الرمزية dentist_hussein
    dentist_hussein غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Aug 2011
    الإقامة
    مصر
    المشاركات
    1,827

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

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    سوف تحتاج لمعرفة توقيت بدأ فتح أول صفقة حتى يبدأ الحساب من عندها للصفقات التي أغلقت لذلك ضع في كود أمر فتح أول صفقه عند فتح مثلا أول صفقة شراء
    كود PHP:
     FirstOrderTime=TimeCurrent
    وأيضا متغير لمعرفة الرصيد الحالي كم عند فتح أول صفقه
    كود PHP:
    CurrentBalance=AccountBalance(); 
    وتقوم بتعريف المتغير FirstOrderTime و CurrentBalance خارج الداله start
    الآن ستستخدم نفس الدالة التي تحسب ربح الصفقات مره للصفقات المغلقه والصفقات المفتوحه
    كود PHP:
    double CurrentProfit()
    {
     
    double Profit;
     for(
    int i=0;i<OrdersTotal();i++)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       
    Profit+=OrderProfit();
      }
     }
     return(
    Profit);
    }
    double ClosedProfit()
    {
     
    double Profit;
     for(
    int i=OrdersHistoryTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderOpenTime()>=FirstOrderTime)
      {
       
    Profit+=OrderProfit();
      }
      if(
    OrderOpenTime()<FirstOrderTime)break;
     }
     return(
    Profit);

    ثم ستحسب النسبه المئويه بدون مشاكل
    كود PHP:
    if((CurrentProfit()+ClosedProfit())/CurrentBalance*100>=PercentProfit)
    {
     
    // close all 


    شكرا أستاذي الغالي و جزاك الله كل خير
    توقيع العضو
    MetaTrader Login: 652105
    Investor Password: Z3UR9DA0

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

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

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

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

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

    اقتباس المشاركة الأصلية كتبت بواسطة zzeyani مشاهدة المشاركة
    هل يمكنك أن تقوم بتعديله على هدا السكريبت . مع خالص الشكر لك و لطاقم المنتدى
    تفضل مرفق الإكسبرت تم تعديله
    سوف تجد الشرط
    كود PHP:
    if(LastOrderProfit()<0&&LostOrderNumber()<10)
        
    Lots=MathMax(LastOrderLot()*1.5,MarketInfo(Symbol(),MODE_MINLOT)); 
    الملفات المرفقة الملفات المرفقة
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

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

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

  5. #4355
    الصورة الرمزية سمير محمد ارمان
    سمير محمد ارمان غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2009
    الإقامة
    مصر
    المشاركات
    834

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

    السلام عليكم استاذى الكريم
    مستر دولار
    ارجو من الله ان تكون فى اتم صحة واحسن حال
    استاذى الكريم
    عندى مشكلة برمجية
    وهى
    انا عايز اكسبيرت يعمل تعليق صفقات بيع استوب وشراء استوب
    كل هذا عادى لا يوجد مشاكل
    المشكلة هنا
    عايز عندما يتم تفعيل صفقة معلقة يتم حذف كل الصفقات المعاكسة للصفقة المفعلة
    ويتم تعليق نفس الصفقات وتكون البداية من سعر افتتاح الصفقة المفعلة
    مثال
    تم تعليق 5 صفقات بيع استوب من سعر الافتتاح
    ونفس الشئ فى الشراء استوب
    عند تفعيل صفقة من صفقات الشراء استوب
    يتم حذف كل صفقات البيع استوب
    والتعليق من جديد بنفس الاعدادات بس يكون البداية
    من سعر افتتاح صفقة الشراء
    وعند تفعيل صفقة اخرى شراء يتم حذف الصفقات وتعليق من سعر افتتاح الصفقة - الاستيب وهاكذا ونفس الشئ فى البيع
    هذه هى المشكلة عندى
    ولك منى كل شكر وتقدير
    آخر تعديل بواسطة سمير محمد ارمان ، 24-09-2013 الساعة 11:49 AM

  6. #4356
    الصورة الرمزية kira-h
    kira-h غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Oct 2011
    الإقامة
    المغرب
    المشاركات
    1,334

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    دائما يوجد حل فقط راجع كيف يتم الإغلاق الحالي وفي أي جزء الخطأ ولو ارفقت لي صوره توضح الخطأ لنحاول تعديل الكود
    للأسف الاغلاق برمجيا لا يمكن برمجتها لأنه يحتوي على إغلاق متناقض فهناك حالة يتم فيها الاغلاق والحالة المقابلة لها لا يتم فيه الاغلاق للحد من تراكم الخسائر
    فهي معادلة فارغة برمجيا

    أشكرك جزيل الشكر أستاذي على مساعدتك الدائمة
    أرجو الاطلاع على الرسائل...
    تحياتي
    توقيع العضو
    متداول فوركس، ومبرمج mql

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

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

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

  8. #4358
    الصورة الرمزية سمير محمد ارمان
    سمير محمد ارمان غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2009
    الإقامة
    مصر
    المشاركات
    834

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

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    وبالنسبه لو فتح صفقة بيع وصفقات شراء مفتوحه هل سيتم أيضا تغيير مكان الأوامر المعلقه الشراء ؟
    السلام عليكم استاذى الكريم
    هى طريقة تعليق صفقات بيع وشراء استوب من سعر الافتتاح
    عند تفعيل مثلا صفقة شراء هنا يتم حذف كل صفقات البيع المعلقة وتعليق صفقات بيع معلقة وتكون بداية التعليق من سعر افتتاح صفقة الشراء
    السوق صاعد وفعل صفقة شراء اخرى
    هنا ايضا يتم حذف صفقات البيع المعلقة
    ويتم وضعه من سعر الافتتتاح الجديد - الاستيب
    وكل مايصعد ويفعل صفقة يحدث ذلك
    لو تم تعليق 5 شراء معلق و5 بيع معلق
    لا يزيد عدد صفقات البيع او الشراء بعد تفعيل الصفقة او الاغلاق
    بعد الاغلاق كل الصفقات يتم العمل من جديد
    هذه هى فكرة الاكسبيرت
    ولك منى كل شكر وتقدير استاذى الكريم

  9. #4359
    الصورة الرمزية محمد آل مسيري
    محمد آل مسيري غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Jan 2010
    الإقامة
    السعودية
    العمر
    40
    المشاركات
    4,001

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

    أستاذنا الغالي MR.dollar لك ولجميع الأصدقاء تحية طيبة .. لدي هذا الاكسبيرت الذي يقوم بفتح صفقة ( شراء أو بيع ) في ساعات معينة باليوم قمت بتحديدها يدوياً بداخل الكود وليس عن طريق متغيرات .. لكني واجهت مشكلتين أثناء تشغيل الاكسبيرت :

    1- في حال تحقق شروط فتح صفقة في ساعة معينة مثلاً الساعة 1.00 صباحاً شراء واغلقت الصفقة بسرعه خلال ثواني يقوم البرنامج بفتح صفقة جديدة مرة أخرى وأنا أريده أن ينفذ صفقة واحدة فقط إذا تحققت الشروط ولا ينفذها مرة أخرى أبداً .

    2- في حال فتح الاكسبيرت لصفقة بيع وصفقة شراء ( هنا ستكون لدينا حالة هيدج ) فإن الإكسبيرت يتوقف تماماً عن فتح أي صفقة جديدة سواء بيع أو شراء ولا أعلم لماذا ؟

    أتمنى أن تستطيعوا مساعدتي ولكك جزيل الشكر .

    time trader.mq4
    توقيع العضو
    ماجستير تقنيات تعليم من جامعة الملك سعود، مهتم بأسواق الأسهم والعملات، تابعني عبر تويتر @almasseri

  10. #4360
    الصورة الرمزية kira-h
    kira-h غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Oct 2011
    الإقامة
    المغرب
    المشاركات
    1,334

    افتراضي

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

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

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

    اقتباس المشاركة الأصلية كتبت بواسطة سمير محمد ارمان مشاهدة المشاركة
    السلام عليكم استاذى الكريم
    هى طريقة تعليق صفقات بيع وشراء استوب من سعر الافتتاح
    عند تفعيل مثلا صفقة شراء هنا يتم حذف كل صفقات البيع المعلقة وتعليق صفقات بيع معلقة وتكون بداية التعليق من سعر افتتاح صفقة الشراء
    السوق صاعد وفعل صفقة شراء اخرى
    هنا ايضا يتم حذف صفقات البيع المعلقة
    ويتم وضعه من سعر الافتتتاح الجديد - الاستيب
    وكل مايصعد ويفعل صفقة يحدث ذلك
    لو تم تعليق 5 شراء معلق و5 بيع معلق
    لا يزيد عدد صفقات البيع او الشراء بعد تفعيل الصفقة او الاغلاق
    بعد الاغلاق كل الصفقات يتم العمل من جديد
    هذه هى فكرة الاكسبيرت
    ولك منى كل شكر وتقدير استاذى الكريم
    وعليكم السلام ورحمة الله وبركاته
    سوف تقوم بعمل دالة تقارن بين سعر الأوامر المعلقه الحاليه وبين سعرها المفترض من آخر صفقة شراء مفتوحه
    فإذا كان السعر مختلف يتم حذفها ووضعها من جديد
    مثال
    سأقوم بعمل دالة لمعرفة سعر آخر صفقة شراء مفتوحه ودالة لمعرفة عدد الصفقات المفتوحه
    كود PHP:
    double LastOrderPrice(int type)
    {
     for(
    int i=OrdersTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
      {
       return(
    OrderOpenPrice());
      }
     }
     return(
    0);
    }

     
    int orderscnt(int type){
     
    int cnt=0;
       for(
    int i =0;i<OrdersTotal();i++){
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&&OrderType()==type||type==-1){
             
    cnt++;
           }
         }
       }
        return(
    cnt);
      } 
    ودالة لحذف الأوامر المعلقه
    كود PHP:
    void DeletePendingOrders()
    {
     for(
    int i=OrdersTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()>OP_SELL)
      {
       
    OrderDelete(OrderTicket());
      }
     }

    ثم سأضع الشرط
    كود PHP:
     if(orderscnt(OP_BUY)>0)
      {
       if(
    LastOrderPrice(OP_BUY)-LastOrderPrice(OP_SELLSTOP)!=50*Point)
       {
        
    DeletePendingOrders();
        
       }
      } 
    فإذا كان فرق الإستيب بين آخر صفقة شراء مفتوحه والأمر المعلق مختلف عن عدد الإستيب المحدده فهذا دليل على أن صفقة شراء أخرى فتحت وبالتالي تغير السعر و المسافه
    ثم تقوم بوضع الأوامر المعلقه من جديد من آخر سعر صفقة شراء
    كود PHP:
      if(orderscnt(OP_SELLSTOP)==0)
      {
       for(
    int i=1;i<=5;i++)
       {
        
    double price=LastOrderPrice(OP_BUY)-50*Point*i;
         
    OrderSend(Symbol(),OP_SELLSTOP,Lot,price,3,0,0,"EA",MagicNumber,0,Red);
      
       }
      } 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

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

    اقتباس المشاركة الأصلية كتبت بواسطة محمد آل مسيري مشاهدة المشاركة
    أستاذنا الغالي MR.dollar لك ولجميع الأصدقاء تحية طيبة .. لدي هذا الاكسبيرت الذي يقوم بفتح صفقة ( شراء أو بيع ) في ساعات معينة باليوم قمت بتحديدها يدوياً بداخل الكود وليس عن طريق متغيرات .. لكني واجهت مشكلتين أثناء تشغيل الاكسبيرت :

    1- في حال تحقق شروط فتح صفقة في ساعة معينة مثلاً الساعة 1.00 صباحاً شراء واغلقت الصفقة بسرعه خلال ثواني يقوم البرنامج بفتح صفقة جديدة مرة أخرى وأنا أريده أن ينفذ صفقة واحدة فقط إذا تحققت الشروط ولا ينفذها مرة أخرى أبداً .

    2- في حال فتح الاكسبيرت لصفقة بيع وصفقة شراء ( هنا ستكون لدينا حالة هيدج ) فإن الإكسبيرت يتوقف تماماً عن فتح أي صفقة جديدة سواء بيع أو شراء ولا أعلم لماذا ؟

    أتمنى أن تستطيعوا مساعدتي ولكك جزيل الشكر .

    time trader.mq4
    بالنسبه للمشكله الأولى فيمكنك أن تقوم بتحديد أن يفتح صفقة واحده فقط ولا يفتح صفقة جديده حتى مرور وقت معين مثلا ساعه كامله
    مثال سوف أقوم بعمل دالة لمعرفة توقيت فتح آخر صفقة مغلقه
    كود PHP:
    datetime LastOrderOpenTime()
    {
     for(
    int i=OrdersHistoryTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
      {
       return(
    OrderOpenTime());
      }
     }
     return(
    0);

    ثم ستضع من ضمن شروط الدخول
    كود PHP:
    if(TimeCurrent()-LastOrderOpenTime()>=3600
    3600 ثانيه أي 60 دقيقه

    بالنسبه لعدم فتح صفقات فهذا لأنه يوجد من ضمن شروط الإكسبرت
    في حالة الشراء
    كود PHP:
    (halt1!=1
    فهو يحسب قبل أن يفتح صفقات الشراء أن لا يكون هناك أي صفقات شراء مفتوحه
    وأيضا بالنسبه للبيع
    كود PHP:
    (halt2!=1
    إذا حذفت هذه الشروط فسوف يفتح الصفقات في كل مره
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

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

    اقتباس المشاركة الأصلية كتبت بواسطة kira-h مشاهدة المشاركة
    السلام عليكم ورحمة الله وبركاته
    أستاذي مستر دولار لدي حل آخر جميل جدا لتحقيق المعادلة المرجوة
    ما هي الدالة إذا كانت هناك صفقة حرة (أي مثلا عدد صفقات البيع المفعلة أكبر أو أصغر من عدد صفقات الشراء المفعلة) يتم الانتقال إلى شرط الاغلاق
    يعني بصيغة أخرى لا يتم الاغلاق إذا كان عدد صفقات البيع = عدد صفقات الشراء
    علما أن كل الصفقات المفعلة والمعلقة بنفس اللوت
    منتظرك أستاذي الغالي بارك الله فيك
    وعليكم السلام ورحمة الله وبركاته
    بسيط أن تقوم بعمل دالة لحساب عدد الصفقات المفتوحه على حسب نوعها
    مثال
    كود PHP:
     int orderscnt(int type){
     
    int cnt=0;
       for(
    int i =0;i<OrdersTotal();i++){
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&&OrderType()==type){
             
    cnt++;
           }
         }
       }
        return(
    cnt);
      } 
    ثم ستضع الشروط
    كود PHP:
     if(orderscnt(OP_BUY)!=orderscnt(OP_SELL)) 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  14. #4364
    الصورة الرمزية سمير محمد ارمان
    سمير محمد ارمان غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2009
    الإقامة
    مصر
    المشاركات
    834

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

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    سوف تقوم بعمل دالة تقارن بين سعر الأوامر المعلقه الحاليه وبين سعرها المفترض من آخر صفقة شراء مفتوحه
    فإذا كان السعر مختلف يتم حذفها ووضعها من جديد
    مثال
    سأقوم بعمل دالة لمعرفة سعر آخر صفقة شراء مفتوحه ودالة لمعرفة عدد الصفقات المفتوحه
    كود PHP:
    double LastOrderPrice(int type)
    {
     for(
    int i=OrdersTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
      {
       return(
    OrderOpenPrice());
      }
     }
     return(
    0);
    }

     
    int orderscnt(int type){
     
    int cnt=0;
       for(
    int i =0;i<OrdersTotal();i++){
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&&OrderType()==type||type==-1){
             
    cnt++;
           }
         }
       }
        return(
    cnt);
      } 
    ودالة لحذف الأوامر المعلقه
    كود PHP:
    void DeletePendingOrders()
    {
     for(
    int i=OrdersTotal()-1;i>=0;i--)
     {
      
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()>OP_SELL)
      {
       
    OrderDelete(OrderTicket());
      }
     }

    ثم سأضع الشرط
    كود PHP:
     if(orderscnt(OP_BUY)>0)
      {
       if(
    LastOrderPrice(OP_BUY)-LastOrderPrice(OP_SELLSTOP)!=50*Point)
       {
        
    DeletePendingOrders();
        
       }
      } 
    فإذا كان فرق الإستيب بين آخر صفقة شراء مفتوحه والأمر المعلق مختلف عن عدد الإستيب المحدده فهذا دليل على أن صفقة شراء أخرى فتحت وبالتالي تغير السعر و المسافه
    ثم تقوم بوضع الأوامر المعلقه من جديد من آخر سعر صفقة شراء
    كود PHP:
      if(orderscnt(OP_SELLSTOP)==0)
      {
       for(
    int i=1;i<=5;i++)
       {
        
    double price=LastOrderPrice(OP_BUY)-50*Point*i;
         
    OrderSend(Symbol(),OP_SELLSTOP,Lot,price,3,0,0,"EA",MagicNumber,0,Red);
      
       }
      } 

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

  15. #4365
    الصورة الرمزية kira-h
    kira-h غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Oct 2011
    الإقامة
    المغرب
    المشاركات
    1,334

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

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    بسيط أن تقوم بعمل دالة لحساب عدد الصفقات المفتوحه على حسب نوعها
    مثال
    كود PHP:
     int orderscnt(int type){
     
    int cnt=0;
       for(
    int i =0;i<OrdersTotal();i++){
         if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
           if(
    OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&&OrderType()==type){
             
    cnt++;
           }
         }
       }
        return(
    cnt);
      } 
    ثم ستضع الشروط
    كود PHP:
     if(orderscnt(OP_BUY)!=orderscnt(OP_SELL)) 

    توقيع العضو
    متداول فوركس، ومبرمج mql

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

  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