النتائج 1 إلى 9 من 9

الموضوع: استفسار برمجي

  1. #1
    الصورة الرمزية المبرمج
    المبرمج غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2012
    الإقامة
    الجزائر
    المشاركات
    274

    افتراضي استفسار برمجي

    هذه الدالة بروفيت بالدولار

    كود PHP:
    double Profit(int type)
         {
         
    double p;
         for(
    int i=0;i<=OrdersTotal();i++){
        
         
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
         if(
    OrderSymbol()==Symbol()&& MagicNumber==OrderMagicNumber()&&OrderType()==type)
         {
         
    p+=OrderProfit();
         }
         if(
    OrderSymbol()==Symbol()&& MagicNumber1==OrderMagicNumber()&&OrderType()==type)
         {
         
    p+=OrderProfit();
         }
       }
       return(
    p);

    عند وضع البروفيت بالموجب يعمل الاكسبيرت عادى
    لكن اذا اردنا غلق الصفقات على بروفيت سالب لا يعمل الاكسبيرت
    ارجو التوضيح او تعديل
    شكرا

  2. #2
    الصورة الرمزية Dr-GEnius
    Dr-GEnius غير متواجد حالياً موقوف
    تاريخ التسجيل
    Feb 2012
    الإقامة
    Alex
    المشاركات
    672

    افتراضي

    على ما اعتقد لازم تعكس الاشارة for(int i=0;i<=OrdersTotal();i++){

  3. #3
    الصورة الرمزية المبرمج
    المبرمج غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2012
    الإقامة
    الجزائر
    المشاركات
    274

    افتراضي رد:استفسار برمجي

    اقتباس المشاركة الأصلية كتبت بواسطة Dr-GEnius مشاهدة المشاركة
    على ما اعتقد لازم تعكس الاشارة for(int i=0;i<=OrdersTotal();i++){
    اخي ارجو ان تعذرني نسيت ان اذكر ان الداله تعمل بشكل عادي
    اظن المشكل في الكود التالى لاغلق الصفقات و حذف الاوامر المعلقة
    كود PHP:
    if (pro==proClose ){ Clorders(OP_BUY); Clorders(OP_SELL);DeletePendingOrders();} 
    pro هو المجموع الكلى للصفقات
    proClose هو المتغير الخارجي بالدولار
    الهدف المراد هو اغلاق الصفقات عند خسارة معينة تحدد بالدولار
    close at lose
    شكر

  4. #4
    الصورة الرمزية Dr-GEnius
    Dr-GEnius غير متواجد حالياً موقوف
    تاريخ التسجيل
    Feb 2012
    الإقامة
    Alex
    المشاركات
    672

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة المبرمج مشاهدة المشاركة
    اخي ارجو ان تعذرني نسيت ان اذكر ان الداله تعمل بشكل عادي
    اظن المشكل في الكود التالى لاغلق الصفقات و حذف الاوامر المعلقة
    كود PHP:
    if (pro==proClose ){ Clorders(OP_BUY); Clorders(OP_SELL);DeletePendingOrders();} 
    pro هو المجموع الكلى للصفقات
    proClose هو المتغير الخارجي بالدولار
    الهدف المراد هو اغلاق الصفقات عند خسارة معينة تحدد بالدولار
    close at lose
    شكر
    والله صراحة انا مليش ف البرمجة بس حاولت اساعدك

  5. #5
    الصورة الرمزية المبرمج
    المبرمج غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2012
    الإقامة
    الجزائر
    المشاركات
    274

    افتراضي

    شكرا اخى على مرورك

  6. #6
    الصورة الرمزية uae forex
    uae forex غير متواجد حالياً موقوف
    تاريخ التسجيل
    Apr 2009
    الإقامة
    ALAIN
    المشاركات
    1,101

    افتراضي رد:استفسار برمجي

    اقتباس المشاركة الأصلية كتبت بواسطة المبرمج مشاهدة المشاركة
    اخي ارجو ان تعذرني نسيت ان اذكر ان الداله تعمل بشكل عادي
    اظن المشكل في الكود التالى لاغلق الصفقات و حذف الاوامر المعلقة
    كود PHP:
    if (pro==proClose ){ Clorders(OP_BUY); Clorders(OP_SELL);DeletePendingOrders();} 
    pro هو المجموع الكلى للصفقات
    proClose هو المتغير الخارجي بالدولار
    الهدف المراد هو اغلاق الصفقات عند خسارة معينة تحدد بالدولار
    close at lose
    شكر
    فى هذا الكود انت ما استدعيت الداله Profit هذا اولا ثانيا pro==proClose علامة == تعنى تعادل وعلشان تغلق بخساره يجب ان تكون > والرقم يكون فى السالب
    مثال فى الكود التالى
    كود PHP:
    if((Profit(OP_BUY)+Profit(OP_SELL)>=USD_Profit&&CloseInUSD_Profit)||(Profit(OP_BUY)+Profit(OP_SELL)<=USD_Loss&&CloseInUSD_Loss
    USD_Profit خيار خارجي وهو رقم موجب اذا وصله يغلق صفقات البيع والشراء
    USD_Loss خيار خارجي وهو رقم سالب اذا وصله يغلق جميع الصفقات البيع والشراء هذا مثال فقط

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

    افتراضي رد:استفسار برمجي

    السلام عليكم اخى الكريم
    اولا يجب عمل دالة اغلاق الصفقات
    كود PHP:
    void closeordar(int typer){
     for(
    int c=0;c<OrdersTotal();c++){
     
    OrderSelect(c,SELECT_BY_POS,MODE_TRADES);
     if(
    OrderMagicNumber()==MagicNumber&&OrderSymbol()==Symbol()&&OrderType()== typer){
     if(
    OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,30);
     if(
    OrderType()==OP_SELL)OrderClose(OrderTicket(),OrderLots(),Ask,30);
        }
       }
      } 
    وعمل دالة تحسب الربح بعملة الدولار
    كود PHP:
    double pofet(){
     
     
    double pr;
     for(
    int p=0;p<OrdersTotal();p++){
     
    OrderSelect(p,SELECT_BY_POS,MODE_TRADES);
     if(
    OrderMagicNumber()==MagicNumber&&OrderSymbol()==Symbol()){
     
    pr=pr+OrderProfit();
     }
     }return(
    pr);
     } 
    وفى دالة ستارت
    تعمل هذا الكود
    كود PHP:
    if(pofet()<=-30){
        
    closeordar(OP_BUY);closeordar(OP_SELL);
      } 
    وطبعا
    هذا كل معندى ولاعلم عندى اكثر من ذلك حتى الان
    لو كان صح الحمدلله
    وان كان خطا
    احب اتعلم من الخطا
    وجزاك الله خير

  8. #8
    الصورة الرمزية المبرمج
    المبرمج غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2012
    الإقامة
    الجزائر
    المشاركات
    274

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة سمير محمد ارمان مشاهدة المشاركة
    السلام عليكم اخى الكريم
    اولا يجب عمل دالة اغلاق الصفقات
    كود PHP:
    void closeordar(int typer){
     for(
    int c=0;c<OrdersTotal();c++){
     
    OrderSelect(c,SELECT_BY_POS,MODE_TRADES);
     if(
    OrderMagicNumber()==MagicNumber&&OrderSymbol()==Symbol()&&OrderType()== typer){
     if(
    OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,30);
     if(
    OrderType()==OP_SELL)OrderClose(OrderTicket(),OrderLots(),Ask,30);
        }
       }
      } 
    وعمل دالة تحسب الربح بعملة الدولار
    كود PHP:
    double pofet(){
     
     
    double pr;
     for(
    int p=0;p<OrdersTotal();p++){
     
    OrderSelect(p,SELECT_BY_POS,MODE_TRADES);
     if(
    OrderMagicNumber()==MagicNumber&&OrderSymbol()==Symbol()){
     
    pr=pr+OrderProfit();
     }
     }return(
    pr);
     } 
    وفى دالة ستارت
    تعمل هذا الكود
    كود PHP:
    if(pofet()<=-30){
        
    closeordar(OP_BUY);closeordar(OP_SELL);
      } 
    وطبعا
    هذا كل معندى ولاعلم عندى اكثر من ذلك حتى الان
    لو كان صح الحمدلله
    وان كان خطا
    احب اتعلم من الخطا
    وجزاك الله خير
    شكرا اخى ساجرب الكود

  9. #9
    الصورة الرمزية المبرمج
    المبرمج غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2012
    الإقامة
    الجزائر
    المشاركات
    274

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة uae forex مشاهدة المشاركة
    فى هذا الكود انت ما استدعيت الداله Profit هذا اولا ثانيا pro==proClose علامة == تعنى تعادل وعلشان تغلق بخساره يجب ان تكون > والرقم يكون فى السالب
    مثال فى الكود التالى
    كود PHP:
    if((Profit(OP_BUY)+Profit(OP_SELL)>=USD_Profit&&CloseInUSD_Profit)||(Profit(OP_BUY)+Profit(OP_SELL)<=USD_Loss&&CloseInUSD_Loss
    USD_Profit خيار خارجي وهو رقم موجب اذا وصله يغلق صفقات البيع والشراء
    USD_Loss خيار خارجي وهو رقم سالب اذا وصله يغلق جميع الصفقات البيع والشراء هذا مثال فقط
    شكرا اخى


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