صفحة 656 من 686 الأولىالأولى ... 156556606646650651652653654655656657658659660661662666 ... الأخيرةالأخيرة
النتائج 9,826 إلى 9,840 من 10283
  1. #9826
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,851

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة ahmadwalwil مشاهدة المشاركة
    السلام عليكم
    الاخ اسامة الفاضل ارجو ان تكون في تمام الصحة والعافية انت واعضاء المندى جميعا
    هو مجرد اقتراح اتمنى ان تضعه في الحسبان
    يا ريت لو يكون في ورشة تعليمية تجمع ما بين ال python with mql
    لغة البايثون يوجد بها مميزات رائعة جدا وقد نستفيد من احدى هذه الخصائص

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

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة wahaab مشاهدة المشاركة
    لا اعرف من اين اتي بالاسم..مرفق لك المؤشر مع المفتاح وارجو المساعده..
    هذه هي الObjects التي تقوم برسم الدوائر على الشارت
    اضغط على الصورة لعرض أكبر

الاســـم:	sr.png
المشاهدات:	46
الحجـــم:	33.1 كيلوبايت
الرقم:	520941

    كما تلاحظ الإسم العام لها هو PERFZONES_SRZHLL بالتالي يمكنك البحث في جميع الObjects الموجوده على الشارت ولها هذا الإسم
    مثال
    كود PHP:
      for(int i=ObjectsTotal()-1;i>=0;i--)
       {
        
    string name=ObjectName(i);
        if(
    StringFind(name,"PERFZONES_SRZHLL",0)>=0)
        {
         
    datetime time=ObjectGet(name,OBJPROP_TIME1);
         
    double price=ObjectGet(name,OBJPROP_PRICE1);
         
         if(
    time==Time[1])
         {
          
    //do something
         
    }
        }
       } 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة Abdelbaset مشاهدة المشاركة
    دى حلقة مستمرة فهمتها خلاص
    for(int i=0;i<OrdersTotal();i++)
    يتبقى الباقى
    ادينى بحاول
    ستصل
    لكي تفهمها جرب الكود من دون وجود OrderSelect

    هذه دالة اجبارية --لانك تريد ان تتعامل مع امر, وبالتالي لابد ان تختاره او تحدده--ولايمكن ذلك الا من خلال OrderSelect
    اذا حددته بشكل دقيق -- اصبح السيرفر مثلا علم اي امر تريد اغلاقه او حذفه او تعديل التيك بروفت له او معرفة ربحه او اسم الزوج او نوع الامر وهلم جراً.

    وبناء على هذا الكلام هي تتعامل مع اوامر موجودة مسبقاً

    اقرا بين السطور---جميع الدوال المحوطة باالأحمر لايمكن ان تعرفها او تتعامل معها--لأنها كلها تتحدث عن أمر جاهز وموجود مسبقاً, الا اذا حددت الأمر بدالة OrderSelect


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

الاســـم:	0000.jpg
المشاهدات:	37
الحجـــم:	125.6 كيلوبايت
الرقم:	521045
    آخر تعديل بواسطة سلمان_العتيبي ، 05-03-2020 الساعة 07:27 PM

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

    افتراضي

    السلام عليكم
    لو ممكن سؤال برمجى
    الان هذه الدالة تظهر لى رقم التكيت الى اكبر خسارة
    المطلوب الان معرفة رقم التكيت للصفقة اقل خسارة من الاكبر خسارة
    وشكرا على المساعدة
    كود PHP:
     int Tick_A_L(int Type){  int i,ticket=0;  double max=0;  RefreshRates();  for(i=0;i<OrdersTotal();i++){    if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){RefreshRates();return false;}     if(OrderSymbol()==Symbol()&&OrderType()==Type&&OrderMagicNumber()==MagicNumber){    if(OrderProfit()<max){max=OrderProfit();ticket=OrderTicket();}  }  }  return(ticket);} 

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

    افتراضي

    الكود ملتبس شوي,
    هل تريد اخي ترتيب التكتات في جدول مثلا, من الاكبر خسارة الى الاصغر خسارة لزوج محدد في اتجاه محدد؟
    ام تريد رقم تكت ثاني اسؤا صفقة.

    ملاحظة-1: RefreshRates() لاداعي لاستخدامها لانها مجرد تحديث للمعطيات الشهيرة لكل الأزواج وانت هنا تتعامل مع قيم OnAccount Events --مثل تغير الربح والخسارة وليس الأسعار--يعني يستحسن عدم استخدامها الا مع الدخول ماركت ordersend او الاغلاق ماركت او الموديفاي في حالات خاصة جدا

    ملاحظة-2: اللووووب بدأته من 0 الى اخر اورود OrdersTotal-1
    ويفترض تبدأه بالعكس مع دكرمنت i--
    كود:
    for(OrdersTotal()-1;i>=0;i--)
    ليش؟
    لأنك في الحالة الأولى لو صادف واغلق صفقة لاي سبب اخر بماجك نمبر اخر اثناء اللوب , فإنه سيقفز صفقة ولن يراها اللوووب
    ولكن الحالة الأخيرة امنة ضامنة للمرور على كل الصفقات--تأخذها من فوق الى تحت

    + اسرع للبرنامج لأن دالة OrderTotal في حالتي يستدعيها البرنامج مرة واحدة
    في حالتك يستدعيها البرنامج مرات كثيرة تساوي عدد الاوردرز


    ملاحظة-3: orderelct المنفية وإعادة false الخ
    تصور لاي سبب اخر, فشل اختيار احد الأوامر --لن يكمل اللوب!!

    والافضل حسب وجهة تظري, orderselect كبلوك لبقية الكود
    آخر تعديل بواسطة سلمان_العتيبي ، 09-03-2020 الساعة 09:06 AM

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

    افتراضي

    كود:
    int MagicNumber;
    int Tick_A_L(int Type)
    {    
        int ticket=0;
        int ticketSecond=0;
        double max=0;     
        for(int i=0;i<OrdersTotal();i++)
        {   
            if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
            {
                if(OrderSymbol()==Symbol()&&OrderType()==Type&&OrderMagicNumber()==MagicNumber)
                {    
                    if(OrderProfit()<max)
                    {
                        ticketSecond=ticket;
                        ticket=OrderTicket();
                        max=OrderProfit();
                    }  
                }  
            }
        }
        Print(ticketSecond+"   "+ticket);
        return(ticket);
    }

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة سلمان_العتيبي مشاهدة المشاركة
    كود:
    int MagicNumber;
    int Tick_A_L(int Type)
    {    
        int ticket=0;
        int ticketSecond=0;
        double max=0;     
        for(int i=0;i<OrdersTotal();i++)
        {   
            if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
            {
                if(OrderSymbol()==Symbol()&&OrderType()==Type&&OrderMagicNumber()==MagicNumber)
                {    
                    if(OrderProfit()<max)
                    {
                        ticketSecond=ticket;
                        ticket=OrderTicket();
                        max=OrderProfit();
                    }  
                }  
            }
        }
        Print(ticketSecond+"   "+ticket);
        return(ticket);
    }
    السلام عليكم اخى الكريم
    شكرا على المساعدة
    الان الدالة الخاص بيك تظهر لى رقم تكيت اكبر خسارة
    المطلوب هو دالة تظهر لى رقم تكيت الاخسارة الاقل من الاولى
    بمعنى الدالة الخاص بيك
    تظهر اكبر خسارة مثلا -100
    يوجد صفقة ايضا خاسرة -90
    وصفقة خاسرة -80
    انا اريد دالة تظهر لى تكيت الخسارة الاقل من الاخير وهى -90
    اعتقد كده وضحت الفكرة
    وشكرا على المساعدة

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

    افتراضي

    نعم وضحت جدا اخي
    في هذه الحالة في ال return
    ضع ticketSecond بدلا من ticket

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

    واذا كنت تريد إعادة القيمتين! -- هيكلة الدالة تتغير--لابد تخليها كحل م نضمن عدة حلول من نوع void
    والمتغيرين تخليهم global (خارج الدوال) مع تصفير قيمهم اثناء دخول الدالة وقبل اللووووووووووبنق

    انا افضل -1 بدلا من 0 (التصفير) لتكتات الأوامر عند الأنشلة.
    آخر تعديل بواسطة سلمان_العتيبي ، 09-03-2020 الساعة 12:40 PM

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

    افتراضي

    اذا كنت تريد تكرار الامر لكل الصفقات هناك مفهوم الريكيرشن recursion في البرمجة ولابد من مصفوفة
    -
    ticketSecond=ticket;
    ticket=OrderTicket();
    حفظنا القيمة السابقة قبل تغييرها
    لو بدلت السطرين مكان بعض
    سيكون نفس القيمة الأخيرة--زي بعض---ننتبه لهذه الامور

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة سلمان_العتيبي مشاهدة المشاركة
    نعم وضحت جدا اخي
    في هذه الحالة في ال return
    ضع ticketSecond بدلا من ticket

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

    واذا كنت تريد إعادة القيمتين! -- هيكلة الدالة تتغير--لابد تخليها كحل م نضمن عدة حلول من نوع void
    والمتغيرين تخليهم global (خارج الدوال) مع تصفير قيمهم اثناء دخول الدالة وقبل اللووووووووووبنق

    انا افضل -1 بدلا من 0 (التصفير) لتكتات الأوامر عند الأنشلة.
    السلام عليكم
    تم وضع
    ticketSecond
    تمام الان جزاك الله خيرا
    اشتغل تمام شكرا لك
    تحياتى

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة سلمان_العتيبي مشاهدة المشاركة
    اذا كنت تريد تكرار الامر لكل الصفقات هناك مفهوم الريكيرشن recursion في البرمجة ولابد من مصفوفة
    او السورتنق sorting
    لوبين داخل بعض ثم مقارنة خسائر كل أورد ثم المبادلة لو تحقق شرط المقارنة مع مبادلة كل ماله علاقة ومنها التكت نمبر

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

    افتراضي

    سمير ما فائدة معرفة ثاني اسؤا صفقة؟
    قد اتفهم اسؤا صفقة ولكن ثاني صفقة--لماذا؟
    اكيد لديك هدف منها

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

    افتراضي

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

    كود:
    int MagicNumber=0;
    int tick[]; 
    double LossInUSD[];
    
    void Tick_A_L(int Type)
    {
        ArrayResize(tick,0);
        ArrayResize(LossInUSD,0);
        int ordTotal=OrdersTotal();
        int m=-1;
        for(int k=0;k<ordTotal;k++)
        {
            if(OrderSelect(k,SELECT_BY_POS,MODE_TRADES))
            {
                if(OrderSymbol()==Symbol()&&OrderType()==Type&&OrderMagicNumber()==MagicNumber)
                {    
                    m++;
                    ArrayResize(tick,m+1);
                    ArrayResize(LossInUSD,m+1);
                    tick[m]=OrderTicket();
                    LossInUSD[m]=OrderProfit()+OrderCommission()+OrderSwap();
                } 
            }
        }
        for(int i=0;i<m;i++)
        {
            for(int j=i+1;j<=m;j++)
            {
                if(LossInUSD[i]<LossInUSD[j])
                {
                    int temp=tick[i];
                    tick[i]=tick[j];
                    tick[j]=temp;
                    double temd=LossInUSD[i];
                    LossInUSD[i]=LossInUSD[j];
                    LossInUSD[j]=temd;
                }
            }
        }
        for(int n=0;n<=m;n++)
        {
            Print(n,"    ",tick[n],"   ",LossInUSD[n]);                 
        }
    }
    
    int OnInit()
    {
        Tick_A_L(OP_BUY);
        return(INIT_SUCCEEDED);
    }
    void OnTick()
    {
    }
    وبالتالي اسؤا صفقة هي بـ ـتكت في الاندكس m يعني التكت tick[m]
    وثاني اسؤا صفقة تكت في اندكس رقم m-1
    وثالث اسؤا صفقة بتكتب بالاندكس رقم m-2
    وهكذا

    صورة توضح ناتج البرنامج:
    اضغط على الصورة لعرض أكبر

الاســـم:	0000.png
المشاهدات:	37
الحجـــم:	68.8 كيلوبايت
الرقم:	521252
    آخر تعديل بواسطة سلمان_العتيبي ، 09-03-2020 الساعة 01:44 PM

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

    افتراضي

    داخل if لو عكست اصغر من > الى اكبر من < ----- تصبح الامور اسهل تصبح اسواء صفقة في الاندكس رقم 0 و ليس m ---- m هي اخر اندكس لاخر عنصر في المصفوفة

    وهكذا
    حيث طول المصفوفة m+1

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

    افتراضي

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

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

  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