النتائج 1 إلى 8 من 8
  1. #1
    الصورة الرمزية alshakatan
    alshakatan غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2007
    الإقامة
    المملكة العربية السعودية
    المشاركات
    439

    افتراضي ما هو الكود لإحتساب البروفيت

    السلام عليكم جميـــــــــــــــــــع
    ماهي الدالة أو الكود اللي تحسبلي البروفيت للصفقات المفتوحة للإكسبيرت ؟؟........... ممكن يكون كزا إكسبيرت شغال في وقت واحد !! ........ و ممكن يكون على عملة واحدة!! ........... فأنا أبغ الإكسبيرت يحسبلي البروفيت للصفقات اللي فتحها فقط ......... و ليس البروفيت للأكاونت كله .
    إزا ما فيها كلافة ........... فيني أعزبك ............ إرفاق الكود أو الدالة ............. سامحوني .

  2. #2
    الصورة الرمزية cher90
    cher90 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2009
    العمر
    33
    المشاركات
    550

    افتراضي

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

    الدالة التي تبحث عنها هي حسب ما أعرف
    كود PHP:
    OrderProfit() 
    ويفضل وضع الاسئلة البرمجية في الموضوع المخصص لها https://forum.arabictrader.com/t37612.html

    بالتوفيق

  3. #3
    الصورة الرمزية alshakatan
    alshakatan غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2007
    الإقامة
    المملكة العربية السعودية
    المشاركات
    439

    افتراضي

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

    الدالة التي تبحث عنها هي حسب ما أعرف
    كود PHP:
    OrderProfit() 
    ويفضل وضع الاسئلة البرمجية في الموضوع المخصص لها https://forum.arabictrader.com/t37612.html

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

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

    افتراضي

    اهلا اخي اولا تضع هذا الخيار فى ضمن قائمة خيارات الاكسبرت الخارجيه
    كود PHP:
    extern int PipsProfit=10
    ثم فى قائمة ستار
    كود PHP:
     if((Pips(OP_BUY)>=PipsProfit))
           {while(
    orderscnt(OP_BUY)>0){CloseBuyOrders();}}
          
        if ((
    Pips(OP_SELL)>=PipsProfit))
           {while(
    orderscnt(OP_SELL)>0){CloseSellOrders();}} 
    ثم بعد ادخال اوامر الدخول والخروج من الصفقه او فى نهاية الاكسبرت
    كود PHP:
    void CloseBuyOrders()
    {
      for (
    int cnt cnt OrdersTotal() ; cnt++)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {
          if (
    OrderType()==OP_BUY)
          {
            
    OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3*Q);
          }
        }
      }
    }  

    void CloseSellOrders()
    {
     for (
    int cnt cnt OrdersTotal() ; cnt++)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {
          if (
    OrderType()==OP_SELL)
          {
           
    OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3*Q);
          }
         }
        }
      } 
    double Profit(int type){
    double P;
    for(
    int i=0;i<=OrdersTotal();i++){
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type){
    P+=OrderProfit();
     }
    }
    return(
    P);

    بتوفيق

  5. #5
    الصورة الرمزية alshakatan
    alshakatan غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2007
    الإقامة
    المملكة العربية السعودية
    المشاركات
    439

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة uae forex مشاهدة المشاركة
    اهلا اخي اولا تضع هذا الخيار فى ضمن قائمة خيارات الاكسبرت الخارجيه
    كود PHP:
    extern int PipsProfit=10
    ثم فى قائمة ستار
    كود PHP:
     if((Pips(OP_BUY)>=PipsProfit))
           {while(
    orderscnt(OP_BUY)>0){CloseBuyOrders();}}
          
        if ((
    Pips(OP_SELL)>=PipsProfit))
           {while(
    orderscnt(OP_SELL)>0){CloseSellOrders();}} 
    ثم بعد ادخال اوامر الدخول والخروج من الصفقه او فى نهاية الاكسبرت
    كود PHP:
    void CloseBuyOrders()
    {
      for (
    int cnt cnt OrdersTotal() ; cnt++)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {
          if (
    OrderType()==OP_BUY)
          {
            
    OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3*Q);
          }
        }
      }
    }  

    void CloseSellOrders()
    {
     for (
    int cnt cnt OrdersTotal() ; cnt++)
      {
        
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
        if (
    OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
        {
          if (
    OrderType()==OP_SELL)
          {
           
    OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3*Q);
          }
         }
        }
      } 
    double Profit(int type){
    double P;
    for(
    int i=0;i<=OrdersTotal();i++){
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type){
    P+=OrderProfit();
     }
    }
    return(
    P);

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

  6. #6
    الصورة الرمزية ahmedfeki
    ahmedfeki غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2010
    الإقامة
    تونس
    المشاركات
    506

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة alshakatan مشاهدة المشاركة
    شكرا أستاذي الكريم على المساعدة و الرد .............................
    بالنسبة ل Pips و orderscnt فين نعرفهم ......... هذه نقطة ........... النقطة الثانية ............ أنا أبغ الإكسبيرت يحسبلي مجموع البرفيت للعمليات كلها على بعضها .......... البيع و الشراء .................. الرابح و الخسران منها ............. و لازم نعرف هذه العمليات عشان ما تختلط الحسابات مع العمليات الأخرى و الخاصة بإكسبيرتات تانية شغالة في نفس الوقت ...... و قد تكون على زوج واحد .......... معليش أغلبك معاي شوي .

    تفضل أخي الكريم

    كود PHP:
    int Profit=TotalProfit();

    int TotalProfit()
    {
       
    int total=OrdersTotal();
       
    int totalPips 0;
       
    int totalProfits 0;
       for (
    int cnt=0;cnt<total;cnt++)
       { 
       
    OrderSelect(cntSELECT_BY_POS);   
       
    int mode=OrderType();
       
    bool condition false;
       if (  
    OrderMagicNumber() == MagicNumber condition true;  
          if (
    condition)
          {               
             switch (
    mode)
             {
             case 
    OP_BUY:
                
    totalPips += MathRound((MarketInfo(OrderSymbol(),MODE_BID)-OrderOpenPrice())/MarketInfo(OrderSymbol(),MODE_POINT));
                
    //totalPips += MathRound((Bid-OrderOpenPrice())/Point);
                
    totalProfits += OrderProfit();
                break;
                
             case 
    OP_SELL:
                
    totalPips += MathRound((OrderOpenPrice()-MarketInfo(OrderSymbol(),MODE_ASK))/MarketInfo(OrderSymbol(),MODE_POINT));
                
    //totalPips += MathRound((OrderOpenPrice()-Ask)/Point);
                
    totalProfits += OrderProfit();
                break;
             }
          }            
        }
        return(
    totalProfits); // or return(totalPips) 




    MagicNumber : هو معرف صفقات الإكسبيرت

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

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة alshakatan مشاهدة المشاركة
    شكرا أستاذي الكريم على المساعدة و الرد .............................
    بالنسبة ل Pips و orderscnt فين نعرفهم ......... هذه نقطة ........... النقطة الثانية ............ أنا أبغ الإكسبيرت يحسبلي مجموع البرفيت للعمليات كلها على بعضها .......... البيع و الشراء .................. الرابح و الخسران منها ............. و لازم نعرف هذه العمليات عشان ما تختلط الحسابات مع العمليات الأخرى و الخاصة بإكسبيرتات تانية شغالة في نفس الوقت ...... و قد تكون على زوج واحد .......... معليش أغلبك معاي شوي .
    اعذرنى اخي الكبر شين نسيت ارفق الداله Pips وطريقة تعريف orderscnt على العموم الكود لمجموع صفقات الشراء لحاله والبيع لحاله وانت مطلوبك المجموع للبيع والشراء وما راح تستفيد من الكود السابق اتبع طريقة الاخ ahmedfeki واذا ما وصلت الى نتيجه خبرنا وين وقفت وان شاء الله معااااك

  8. #8
    الصورة الرمزية alshakatan
    alshakatan غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2007
    الإقامة
    المملكة العربية السعودية
    المشاركات
    439

    افتراضي

    بالفعل الكود المرفق من الأستاذ ahmedfeki قد أدى بالغرض .
    زادكم الله علما ......... و نفع بكم أخواني ..................... وسامحوني .


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