النتائج 1 إلى 13 من 13
  1. #1
    الصورة الرمزية 4X Trader
    4X Trader غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2009
    الإقامة
    Riyadh
    المشاركات
    296

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

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

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

    بمعنى يفتح صفقة جديدة بنفس النوع عند نقطة إغلاق الصفقة الحالية وبسعر السوق

    ولكي يكون الإكسبيرت يقوم بهذه المهمة باكمل وجه فهل يحتاج كود التكرار .. وما هو الكود اللازم لهذا التكرار

    ثم كيف بالإمكان إمكانية ارسال امر ببيع او شراء بماجيك نمبر ثانوي عند اول عملية ببيع اوشراء مستقبلية تحمل نفس الماجيك نمبر الاساسي.

    وتقبلوا تحياتي

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

    افتراضي رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟

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

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

    بمعنى يفتح صفقة جديدة بنفس النوع عند نقطة إغلاق الصفقة الحالية وبسعر السوق

    ولكي يكون الإكسبيرت يقوم بهذه المهمة باكمل وجه فهل يحتاج كود التكرار .. وما هو الكود اللازم لهذا التكرار

    ثم كيف بالإمكان إمكانية ارسال امر ببيع او شراء بماجيك نمبر ثانوي عند اول عملية ببيع اوشراء مستقبلية تحمل نفس الماجيك نمبر الاساسي.

    وتقبلوا تحياتي
    بالنسبة للسؤال الثاني كمثال بسيط جدا يمكنك إضافة الماجيك نمبر+ عدد الصفقات الحاليه بالتالي أي صفقه جديده يتم فتحها سوف تكون مختلفه عن الماجيك نمبر لأي صفقات أخرى مفتوحه
    كود PHP:
    MagicNumber=MagicNumber+OrdersTotal(); 
    بالنسبة للسؤال الأول فلم أفهم قصدك تماما لكن إذا أردت فتح صفقه بمجرد إغلاق صفقه أخرى فيمكنك وضع
    أمر OrderSend بعد أمر OrderClose حتى يفتح الصفقه مباشرة بعد إغلاق الصفقه السابقه
    أرجو أن توضح أكثر ماذا تقصد بالنسبة للسؤال الأول
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  3. #3
    الصورة الرمزية 4X Trader
    4X Trader غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2009
    الإقامة
    Riyadh
    المشاركات
    296

    افتراضي رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    بالنسبة للسؤال الثاني كمثال بسيط جدا يمكنك إضافة الماجيك نمبر+ عدد الصفقات الحاليه بالتالي أي صفقه جديده يتم فتحها سوف تكون مختلفه عن الماجيك نمبر لأي صفقات أخرى مفتوحه
    كود PHP:
    MagicNumber=MagicNumber+OrdersTotal(); 
    بالنسبة للسؤال الأول فلم أفهم قصدك تماما لكن إذا أردت فتح صفقه بمجرد إغلاق صفقه أخرى فيمكنك وضع
    أمر OrderSend بعد أمر OrderClose حتى يفتح الصفقه مباشرة بعد إغلاق الصفقه السابقه
    أرجو أن توضح أكثر ماذا تقصد بالنسبة للسؤال الأول
    المقصود امر اضافي مرادف للامر القادم بماجيك نمبر ثانوي .. بمعني يكون امرين من نفس النقطة احدهما اساسي بماجيك اساسي .. والاخر مرادف بماجيك ثانوي ويختللف عنه في عدد العقود مثلا

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

    افتراضي رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟

    اقتباس المشاركة الأصلية كتبت بواسطة 4X Trader مشاهدة المشاركة
    المقصود امر اضافي مرادف للامر القادم بماجيك نمبر ثانوي .. بمعني يكون امرين من نفس النقطة احدهما اساسي بماجيك اساسي .. والاخر مرادف بماجيك ثانوي ويختللف عنه في عدد العقود مثلا
    في هذه الحاله يمكنك إستخدام الحلقه for لتكرار الأمر عدد المرات التي تريدها كمثال

    كود PHP:
    for(int i=0;i<=Max_Orders;i++){
    OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SL,TP,"EA",MagicNumber+i,0,Blue);

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

  5. #5
    الصورة الرمزية 4X Trader
    4X Trader غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2009
    الإقامة
    Riyadh
    المشاركات
    296

    افتراضي رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    في هذه الحاله يمكنك إستخدام الحلقه for لتكرار الأمر عدد المرات التي تريدها كمثال

    كود PHP:
    for(int i=0;i<=Max_Orders;i++){
    OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SL,TP,"EA",MagicNumber+i,0,Blue);

    سوف تجد أن الأمر الأساسي سيأخذ رقم الماجيك نمبر MagicNumber
    ثم بعد ذلك الأوامر الفرعيه بالعدد الذي تريده ستأخذ الماجيك نمبر بالتتابع زياده 1 في كل مره
    عفوا اخي .. لم اوفق في شرح طلبي لك.

    هناك نوعان من الاوامر

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

    الثاني أمر مرادف ولكن بماجيك نمبر ثانوي .. يتم فتحه فقط عن تحقق شرط معين ليس هو نفس شرط الامر الاساسي.

    يكون الامر المرادف .. مصاحب لامر اساسي مستقبلي وليس حالي مفتوح.

    بمعنى لو تحقق الشرط المطلوب توفره لفتح الامر المرادف ... فإن الإكسبيرت ينتظر في فتح الامر لحين فتح امر اساسي في المستقبل.. بحيث يكون الثانوي والاساسي في نقطة سعرية معينة ولكن لكل منهما ماجيك مختلف

    بمعني ان الامر الثانوي يفتتح مع اول امر اساسي سيتم فتحه ... وثاني اخر ثانوي مع ثاني امر اساسي قادم.

    اتمنى قد وفقت في التوضيح
    آخر تعديل بواسطة 4X Trader ، 07-12-2010 الساعة 10:51 PM

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

    افتراضي رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟

    اقتباس المشاركة الأصلية كتبت بواسطة 4X Trader مشاهدة المشاركة
    عفوا اخي .. لم اوفق في شرح طلبي لك.

    هناك نوعان من الاوامر

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

    الثاني أمر مرادف ولكن بماجيك نمبر ثانوي .. يتم فتحه فقط عن تحقق شرط معين ليس هو نفس شرط الامر الاساسي.

    يكون الامر المرادف .. مصاحب لامر اساسي مستقبلي وليس حالي مفتوح.

    بمعنى لو تحقق الشرط المطلوب توفره لفتح الامر المرادف ... فإن الإكسبيرت ينتظر في فتح الامر لحين فتح امر اساسي في المستقبل.. بحيث يكون الثانوي والاساسي في نقطة سعرية معينة ولكن لكل منهما ماجيك مختلف

    بمعني ان الامر الثانوي يفتتح مع اول امر اساسي سيتم فتحه ... وثاني اخر ثانوي مع ثاني امر اساسي قادم.

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

  7. #7
    الصورة الرمزية 4X Trader
    4X Trader غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2009
    الإقامة
    Riyadh
    المشاركات
    296

    افتراضي رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    أعتقد أن مشكلتك الآن هي في كيف يعرف الإكسبرت أن شروط الأمر الثانوي قد تحققتك ويحفظ الأمر لحين فتح الأمر الأساسي حتى يفتحه معه هل هذا صحيح
    نعم اخي بارك الله فيك .. وزادك سعة في العلم

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

    افتراضي رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟

    اقتباس المشاركة الأصلية كتبت بواسطة 4X Trader مشاهدة المشاركة
    نعم اخي بارك الله فيك .. وزادك سعة في العلم
    أحد الطرق البسيطه هي إستخدام Global Variable
    وهي لحفظ أي متغيرات ثم إستدعائها في الوقت الذي تريده
    على سبيل المثال
    كود PHP:
     if(RSI>50)GlobalVariableSet("Buy",1); 
    ولنفرض أن شرط تحقق الأمر المرادف أن تصبح قيمة RSI أكبر من 50 في الكود السابق بمجرد أن تصبح قيمة RSI أكبر من 50 سوف يتم حفظ متغير بإسم Buy ويأخذ القيمه 1
    الآن سنرى تحقق شروط الأمر الأساسي
    كود PHP:
     if(ma10>ma20&&ma10P<ma20P){ //  شروط تحقق الأمر الأساسي
           
    OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"EA",MagicNumber,0,Blue);  //  الأمر الأساسي
           
    if(GlobalVariableGet("BUY")==1)OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"EA",MagicNumber+1,0,Blue); // الأمر المرادف 
           
    GlobalVariableSet("Buy",0);  //  تم فتح الأمر المرادف بالتالي تعود قيمة باي إلى صفر
           

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

  9. #9
    الصورة الرمزية 4X Trader
    4X Trader غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2009
    الإقامة
    Riyadh
    المشاركات
    296

    افتراضي رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    أحد الطرق البسيطه هي إستخدام Global Variable
    وهي لحفظ أي متغيرات ثم إستدعائها في الوقت الذي تريده
    على سبيل المثال
    كود PHP:
     if(RSI>50)GlobalVariableSet("Buy",1); 
    ولنفرض أن شرط تحقق الأمر المرادف أن تصبح قيمة RSI أكبر من 50 في الكود السابق بمجرد أن تصبح قيمة RSI أكبر من 50 سوف يتم حفظ متغير بإسم Buy ويأخذ القيمه 1
    الآن سنرى تحقق شروط الأمر الأساسي
    كود PHP:
     if(ma10>ma20&&ma10P<ma20P){ //  شروط تحقق الأمر الأساسي
           
    OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"EA",MagicNumber,0,Blue);  //  الأمر الأساسي
           
    if(GlobalVariableGet("BUY")==1)OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"EA",MagicNumber+1,0,Blue); // الأمر المرادف 
           
    GlobalVariableSet("Buy",0);  //  تم فتح الأمر المرادف بالتالي تعود قيمة باي إلى صفر
           

    بمجرد تحقق شرط الأمر الأساسي سوف يتم فتح الصفقه الأساسيه ثم يتم التحقق من شرط الأمر المرادف فإذا كان قيمة Buy تساوي 1 فهذا يعني أن الشرط قد تحقق والرقم 1 هو القيمه التي أخذها المتغير عندما تحقق الشرط
    ثم بعد ذلك نقوم بحذف قيمة Buy مره أخرى ونجعلها 0 وإلا فسوف تظل قيمتها 1 ولن تتغير دائما
    بارك الله فيك اخي مستر دولار ووفقك لما يحب ويرضى ورحم والديك

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

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

    موفق اخي

  10. #10
    الصورة الرمزية 4X Trader
    4X Trader غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2009
    الإقامة
    Riyadh
    المشاركات
    296

    افتراضي رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟

    اقتباس المشاركة الأصلية كتبت بواسطة 4X Trader مشاهدة المشاركة
    بارك الله فيك اخي مستر دولار ووفقك لما يحب ويرضى ورحم والديك

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

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

    موفق اخي
    انتظرك اخي اسامة .. أعانك الله ووفقك

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

    افتراضي رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟

    اقتباس المشاركة الأصلية كتبت بواسطة 4X Trader مشاهدة المشاركة
    بارك الله فيك اخي مستر دولار ووفقك لما يحب ويرضى ورحم والديك

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

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

    موفق اخي
    بداية سوف تحتاج إلى دالة لمعرفة آخر نوع صفقه أغلقت هل هي بيع أو شراء

    كود PHP:
    int LastOrderType(){
    for(
    int i=OrdersHistoryTotal();i>=0;i--){
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
    if(
    OrderMagicNumber()==MagicNumber&&OrderSymbol()==Symbol()){
    return(
    OrderType());
    }
     }
     return(-
    1);
      } 
    ثم ستضع في شروط الدخول ولا تنسى أن تضع شرط بأن عدد الصفقات المفتوحه يساوي 0 حتى يتأكد أن الصفقه المفتوحه تم إغلاقها
    كود PHP:
    if(LastOrderType()==0//Open Buy
      
    if(LastOrderType()==1//Open Sell 
    بالنسبة لفتح هيدج عند مستوى معين سوف تحتاج معرفة أولا سعر إفتتاح الصفقه الحاليه ثم ستحدد المسافه التي تريد فتح الهيدج عندها Step
    كود PHP:
    for(cnt=0;cnt<OrdersTotal();cnt++){
           
    OrderSelect(cnt,SELECT_BY_POSMODE_TRADES);
           if(
    OrderSymbol() == Symbol() && OrderMagicNumber () == MagicNumber){
            
    double openprice OrderOpenPrice();int type=OrderType();
            }     
            }{
               if(
    type==OP_BUY&&openprice-Bid>=Step*Point){
             
    OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),Slippage,0,0," EA",MagicNumber,0,Red);
               
                
              }} 
    والعكس في حالة البيع
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  12. #12
    الصورة الرمزية 4X Trader
    4X Trader غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2009
    الإقامة
    Riyadh
    المشاركات
    296

    افتراضي رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟

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

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

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

    افتراضي رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟

    اقتباس المشاركة الأصلية كتبت بواسطة 4X Trader مشاهدة المشاركة
    ربنا يوفقك اخي اسامة ويسهل أمرك ويحقق لك ماتريد

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

    كود PHP:
    double ClosedOrders(){
    double P;
    for(
    int i=0;i<=OrdersHistoryTotal();i++){
    OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
    if(
    OrderMagicNumber()==MagicNumber){
    P+=OrderProfit();
      }
     }  
    return(
    P);
    }
    double CurrentOrders(){
    double P;
    for(
    int i=0;i<=OrdersTotal();i++){
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if(
    OrderMagicNumber()==MagicNumber ){
    P+=OrderProfit();
      }
     }
     return(
    P);

    بدالة الداله start

    كود PHP:
    double ProfitAll=ClosedOrders()+CurrentOrders(); 
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات


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