النتائج 1 إلى 4 من 4
  1. #1
    الصورة الرمزية bahoma31
    bahoma31 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2016
    الإقامة
    الجزائر
    المشاركات
    46

    افتراضي اريد دالة تفعل كل هذه الاشياء في وقت واحد

    لنفترض اني دخلت في صفقت بيع لم اضع لها لا التيكت بروفيت ولا الستوب لوز

    هبطت وانا رابح فيها لكني لم اغلقها اكمل القراءة فقط

    ثم دخل صفقة بيع بلوت اقل من الاولى

    الان اصبح لدي 2 صفقات

    لنفترض الان عندي 10 صفقات بيع بحجم عقود متسلسلة

    الان يا اخوتي ما اريده هو كالاتي


    سعر دخول الصفقة الاولى
    -
    سعر دخول الصفقة الاخيرة وهي رقم 10

    الناتج الان لنفترض انه 0.0350 نقطة

    نقسم هذه النقاط على 100

    ثم نضربها في قيمة اسمها فيبو بروفيت ونعطيها 37 (fibou_profit=37.0)

    الان سيصبح عدد النقاط هو 0,01295

    نضيف هذا الرقم الى الصفقة العاشرة والناتج هو موديفاي اوردر

    اي ستوب لوس جماعي لكل الصفقات العشر

    يا رب تكون فكرتي وضحت لكم بالنسبة
    __________________________________________________ ___________________________________
    ثانيا

    لنفترض اني دخلت في صفقت شراء لم اضع لها لا التيكت بروفيت ولا الستوب لوز

    هبطت وانا خاسر فيها لكني لم اغلقها اكمل القراءة فقط

    ثم دخل صفقة شراء بلوت اكبر من الاولى

    الان اصبح لدي 2 صفقات

    لنفترض الان عندي 10 صفقات بيع بحجم عقود متسلسلة

    الان يا اخوتي ما اريده هو كالاتي


    سعر دخول الصفقة الاولى
    - ناقص
    سعر دخول الصفقة الاخيرة وهي رقم 10

    الناتج الان لنفترض انه 0.0350 نقطة

    نقسم هذه النقاط على 100

    ثم نضربها في قيمة اسمها فيبو لوس ونعطيها 37 (fibou_loss=37.0)

    الان سيصبح عدد النقاط هو 0,01295

    نضيف هذا الرقم الى الصفقة الاخير والناتج هو موديفاي اوردر

    اي ستوب لوس جماعي لكل الصفقات العشر

    يا رب تكون فكرتي وضحت لكم ايضا يا اخوتي
    __________________________________________________ __________________________________
    ثالثا
    لنفترض اني دخلت في صفقت شراء لم اضع لها لا التيكت بروفيت ولا الستوب لوز

    صعدت وانا رابح فيها لكني لم اغلقها اكمل القراءة فقط

    ثم دخلت صفقة شراء بلوت اقل من الاولى

    الان اصبح لدي 2 صفقات

    لنفترض الان عندي 10 صفقات بيع بحجم عقود متسلسلة

    الان يا اخوتي ما اريده هو كالاتي


    سعر دخول الاخير وهي رقم 10
    - ناقص
    سعر دخول الصفقة الاولى وهي رقم 1

    الناتج الان لنفترض انه 0.0350 نقطة

    نقسم هذه النقاط على 100

    ثم نضربها في قيمة اسمها فيبو لوس ونعطيها 37

    الان سيصبح عدد النقاط هو 0,01295

    نطرح هذا الرقم الى الصفقة الاخيرة والناتج هو موديفاي اوردر

    اي ستوب لوس جماعي لكل الصفقات العشر

    يا رب تكون فكرتي وضحت لكم ايضا يا اخوتي
    __________________________________________________ ________________________________________
    رابعا
    لنفترض اني دخلت في صفقت بيع لم اضع لها لا التيكت بروفيت ولا الستوب لوز

    صعدت وانا خاسرفيها لكني لم اغلقها اكمل القراءة فقط

    ثم دخل صفقة بيع بلوت اكبرمن الاولى

    الان اصبح لدي 2 صفقات

    لنفترض الان عندي 10 صفقات بيع بحجم عقود متسلسلة

    الان يا اخوتي ما اريده هو كالاتي


    سعر دخول الاخير وهي رقم 10
    - ناقص
    سعر دخول الصفقة الاولى وهي رقم 1

    الناتج الان لنفترض انه 0.0350 نقطة

    نقسم هذه النقاط على 100

    ثم نضربها في قيمة اسمها فيبو لوس ونعطيها 37

    الان سيصبح عدد النقاط هو 0,01295

    نطرح هذا الرقم الى الصفقة الاخيرة والناتج هو موديفاي اوردر

    اي ستوب لوس جماعي لكل الصفقات العشر

    يا رب تكون فكرتي وضحت لكم ايضا يا اخوتي

    __________________________________________________ __________________________________________
    بالنسبة الى fibou_profit و fibou_loss انا من احددهما من الاعدادات كما ريد
    يا رب تكون الفكرة وصلت وانا بدأت فيها لكن تضهر لي مشاكل ولا تعمل كلها مع بعضها يعني مثلا لو 10 شراء خاسرة و10 بيع رابحة
    يضهر مستوى الاغلاق للصفقات الشراء فقط ولا يضهر الاغلاق لصفقات البيع او العكس يظهر مستوى اغلاق البيع ولا يظهر مستوى اغلاق الشراء وانا اريد ان يظهرا معا اذا تحققت كل الشروط وكانت الصفقات اكثر من 4 من نوع واحد
    شكرا مقدما

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

    افتراضي

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

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

    افتراضي

    كود PHP:
     void AvTakeProfit(int type

     
    double SLS=/*Av_Prices*/modify_sell_(OP_SELL); 
     
    double SLB=/*Av_Prices*/modify_buy_(OP_BUY); 
     
    double TPS=/*Av_Prices*/modify_sell_(OP_SELL); 
     
    double TPB=/*Av_Prices*/modify_buy_(OP_BUY); 
     for(
    int cnt=0;cnt<OrdersTotal();cnt++) 
     { 
      
    bool s=OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); 
      
    double sl=OrderStopLoss(),
             
    tp=OrderTakeProfit(),
             
    op=OrderOpenPrice(); 
      
    int    tk=OrderTicket(); 
      
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==magic_number&&OrderType()==type
      { 
       if(
    OrderType()==OP_BUY
       { 
        if(
    NormalizeDouble(sl,Digits)!=NormalizeDouble(SLB,Digits)&&Bid>SLB/*Orderscnt(OP_BUY)>0 && buy1>Bid*/)bool m2=OrderModify(tk,op,SLB,tp,0,Red);operation();
        if(
    NormalizeDouble(tp,Digits)!=NormalizeDouble(TPB,Digits)&&Bid<TPB/*Orderscnt(OP_BUY)>0 && buy1<Bid*/)     m2=OrderModify(tk,op,sl,TPB,0,Red);operation();
       }
       if(
    OrderType()==OP_SELL
       { 
        if(
    NormalizeDouble(sl,Digits)!=NormalizeDouble(SLS,Digits)&&Ask<SLS/*Orderscnt(OP_SELL)>0 && sell1<Bid*/)bool m1=OrderModify(tk,op,SLS,tp,0,Blue);operation();
        if(
    NormalizeDouble(tp,Digits)!=NormalizeDouble(TPS,Digits)&&Ask>TPS/*Orderscnt(OP_SELL)>0 && sell1>Bid*/)     m1=OrderModify(tk,op,sl,TPS,0,Blue);operation();    
       } 
      } 
     }  


    كود PHP:
    double modify_sell_(int type)
    {
    double fibouloss2=fibouloss-5,fibouloss3=fibouloss-7,fibouloss4=fibouloss-10,fibouloss5=fibouloss-20;
    double fibouprofit2=fibouprofit-5,fibouprofit3=fibouprofit-7,fibouprofit4=fibouprofit-10,fibouprofit5=fibouprofit-20;
    if(
    Orderscnt(OP_SELL)<&& Orderscnt(OP_SELL)>0)
    {
    double Price;
     for(
    int i=0;i<=OrdersTotal();i++) 
     { 
      
    bool s=OrderSelect(i,SELECT_BY_POS,MODE_TRADES); 
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==magic_number
      { 
       if(
    OrderType()==type)
       {
        
    Price+=OrderOpenPrice(); 
       }
      }  
     } 
     if(
    Orderscnt(type)>&& Orderscnt(type)<=)return(Price/Orderscnt(type));else return(0); 
    }

    if(
    Orderscnt(OP_SELL)>&& sell1<Bid)
    {
     if(
    Orderscnt(OP_SELL)>=&& Orderscnt(OP_SELL)<=&& sell1<Bid){return(MathAbs(HighestPrice_bid(OP_SELL)-(((HighestPrice_bid(OP_SELL)-sell1)*fibouloss)/100)));}
     else if(
    Orderscnt(OP_SELL)==&& sell1<Bid ){return(MathAbs(HighestPrice_bid(OP_SELL)-(((HighestPrice_bid(OP_SELL)-sell1)*fibouloss2)/100)));}
     else if(
    Orderscnt(OP_SELL)==&& sell1<Bid ){return(MathAbs(HighestPrice_bid(OP_SELL)-(((HighestPrice_bid(OP_SELL)-sell1)*fibouloss2)/100)));}
     else if(
    Orderscnt(OP_SELL)==10 && sell1<Bid){return(MathAbs(HighestPrice_bid(OP_SELL)-(((HighestPrice_bid(OP_SELL)-sell1)*fibouloss3)/100)));}
     else if(
    Orderscnt(OP_SELL)==11 && sell1<Bid){return(MathAbs(HighestPrice_bid(OP_SELL)-(((HighestPrice_bid(OP_SELL)-sell1)*fibouloss4)/100)));}
     else if(
    Orderscnt(OP_SELL)>=12 && sell1<Bid){return(MathAbs(HighestPrice_bid(OP_SELL)-(((HighestPrice_bid(OP_SELL)-sell1)*fibouloss4)/100)));}
     else return(
    0);
    }
    else if(
    Orderscnt(OP_SELL)>&& sell1>Bid)
    {
     if(
    Orderscnt(OP_SELL)>=&& Orderscnt(OP_SELL)<=&& sell1>Bid){return((((HighestPrice_bid(OP_SELL)-LowestPrice_bid(OP_SELL))/100)*fibouprofit)+LowestPrice_bid(OP_SELL));}
     else if(
    Orderscnt(OP_SELL)==8  && sell1>Bid ){return((((HighestPrice_bid(OP_SELL)-LowestPrice_bid(OP_SELL))/100)*fibouprofit2)+LowestPrice_bid(OP_SELL));}
     else if(
    Orderscnt(OP_SELL)==9  && sell1>Bid ){return((((HighestPrice_bid(OP_SELL)-LowestPrice_bid(OP_SELL))/100)*fibouprofit2)+LowestPrice_bid(OP_SELL));}
     else if(
    Orderscnt(OP_SELL)==10 && sell1>Bid){return((((HighestPrice_bid(OP_SELL)-LowestPrice_bid(OP_SELL))/100)*fibouprofit3)+LowestPrice_bid(OP_SELL));}
     else if(
    Orderscnt(OP_SELL)==11 && sell1>Bid){return((((HighestPrice_bid(OP_SELL)-LowestPrice_bid(OP_SELL))/100)*fibouprofit4)+LowestPrice_bid(OP_SELL));}
     else if(
    Orderscnt(OP_SELL)>=12 && sell1>Bid){return((((HighestPrice_bid(OP_SELL)-LowestPrice_bid(OP_SELL))/100)*fibouprofit4)+LowestPrice_bid(OP_SELL));}
     else return(
    0);
    }else return(
    0);

    }

    double modify_buy_(int type)
    {
    double fibouloss2=fibouloss-5,fibouloss3=fibouloss-7,fibouloss4=fibouloss-10,fibouloss5=fibouloss-20;
    double fibouprofit2=fibouprofit-5,fibouprofit3=fibouprofit-7,fibouprofit4=fibouprofit-10,fibouprofit5=fibouprofit-20;
    if(
    Orderscnt(OP_BUY)<&& Orderscnt(OP_BUY)>0)
    {
    double Price;
     for(
    int i=0;i<=OrdersTotal();i++) 
     { 
      
    bool s=OrderSelect(i,SELECT_BY_POS,MODE_TRADES); 
      if(
    OrderSymbol()==Symbol()&&OrderMagicNumber()==magic_number
      { 
       if(
    OrderType()==type)
       {
        
    Price+=OrderOpenPrice(); 
       }
      }  
     } 
     if(
    Orderscnt(type)>&& Orderscnt(type)<=)return(Price/Orderscnt(type));else return(0); 
    }

    if(
    Orderscnt(OP_BUY)<&& Orderscnt(OP_BUY)>0){return(MathAbs((buy1-LastOrderCurrent("OpenPrice",OP_BUY))/Orderscnt(OP_BUY)));}
    if(
    Orderscnt(OP_BUY)>&& buy1>Bid)
    {
     if (
    Orderscnt(OP_BUY)>=&& Orderscnt(type)<=7&& buy1>Bid){return(LowestPrice_bid(OP_BUY)+(((buy1-LowestPrice_bid(OP_BUY))*fibouloss)/100));}
     else if (
    Orderscnt(OP_BUY)==&& buy1>Bid){return(LowestPrice_bid(OP_BUY)+(((buy1-LowestPrice_bid(OP_BUY))*fibouloss2)/100));}
     else if (
    Orderscnt(OP_BUY)==9&& buy1>Bid){return(LowestPrice_bid(OP_BUY)+(((buy1-LowestPrice_bid(OP_BUY))*fibouloss2)/100));}
     else if (
    Orderscnt(OP_BUY)==10&& buy1>Bid){return(LowestPrice_bid(OP_BUY)+(((buy1-LowestPrice_bid(OP_BUY))*fibouloss3)/100));}
     else if (
    Orderscnt(OP_BUY)==11&& buy1>Bid){return(LowestPrice_bid(OP_BUY)+(((buy1-LowestPrice_bid(OP_BUY))*fibouloss4)/100));}
     else if (
    Orderscnt(OP_BUY)>=12&& buy1>Bid){return(LowestPrice_bid(OP_BUY)+(((buy1-LowestPrice_bid(OP_BUY))*fibouloss4)/100));}
    else return(
    0);
    }
    else if(
    Orderscnt(OP_BUY)>&& buy1<Bid)
    {
     if (
    Orderscnt(OP_BUY)>=&& Orderscnt(type)<=7&& buy1<Bid){return((((buy1-LowestPrice_bid(OP_BUY))/100)*fibouprofit)+LowestPrice_bid(OP_BUY));}
     else if (
    Orderscnt(OP_BUY)==&& buy1<Bid){return((((buy1-LowestPrice_bid(OP_BUY))/100)*fibouprofit2)+LowestPrice_bid(OP_BUY));}
     else if (
    Orderscnt(OP_BUY)==9&& buy1<Bid){return((((buy1-LowestPrice_bid(OP_BUY))/100)*fibouprofit3)+LowestPrice_bid(OP_BUY));}
     else if (
    Orderscnt(OP_BUY)==10&& buy1<Bid){return((((buy1-LowestPrice_bid(OP_BUY))/100)*fibouprofit3)+LowestPrice_bid(OP_BUY));}
     else if (
    Orderscnt(OP_BUY)==11&& buy1<Bid){return((((buy1-LowestPrice_bid(OP_BUY))/100)*fibouprofit4)+LowestPrice_bid(OP_BUY));}
     else if (
    Orderscnt(OP_BUY)>=12&& buy1<Bid){return((((buy1-LowestPrice_bid(OP_BUY))/100)*fibouprofit4)+LowestPrice_bid(OP_BUY));}
    else return(
    0);
    }else return(
    0);


    بارك الله فيك اخي اسامة لقد انتهيت منه وبرمجته بنفسي وهو الان يعمل واضعه للأعضاء بكل سعادة وفخر

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

    افتراضي

    السلام عليكم اخي الكريم

    شيئ جميل جدا ان يضع المرء عصارة عملية تفكير طويلة بين يدي اخوانه للفائدة حياك الله اخي الكريم

    ولكن يجب ان يكون بدون اخطاء للاستفادة منه وتنقيحة او تطويره .. انت قمت باجتزاء الدوال من برنامجك وبه العديد

    من المتغيرات والدوال الاخرى المعرفة لديك والمجهولة بالنسبة لنا فما الفائدة اذا

    تقبل مروري وبدون زعل

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

الاســـم:	Errors.jpg
المشاهدات:	18
الحجـــم:	47.8 كيلوبايت
الرقم:	491712


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