النتائج 1 إلى 6 من 6
الموضوع: طلب مساعده من اخواننا المبرجين
- 03-06-2012, 08:58 AM #1
طلب مساعده من اخواننا المبرجين
السلام عليكم اخوانى
كود الدالة الأتى لمعرفة اخر سعر لعملية البيع او لعملية الشراء حسب ما هو محدد
كود:double last_price(int op) { double c; for (int cnt=0; cnt<OrdersTotal(); cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES) ; if(OrderSymbol()==Symbol() && OrderMagicNumber()== magic1 && OrderType()==op) c=OrderOpenPrice(); } return(c); }
كود:double price1(int op) { double c; OrderSelect(0,SELECT_BY_POS,MODE_TRADES) ; if(OrderSymbol()==Symbol() && OrderMagicNumber()== magic1 && OrderType()==op) c=OrderOpenPrice(); return(c); }
كود:double price2(int op) { double c; OrderSelect(1,SELECT_BY_POS,MODE_TRADES) ; if(OrderSymbol()==Symbol() && OrderMagicNumber()== magic1 && OrderType()==op) c=OrderOpenPrice(); return(c); }
المشكلة الأن هى ان الكود بيشتغل تمام فى حالة وجود صفقات بيع فقط او شراء فقط اما فى وجود الصفقتين بيع وشراء لا يعطينى النتيجة مظبوطة مع انى محددله price1(op_sell)or price1(op_buy)1 ومع ذالك الخانة اللتى بها الأرقام 0 , 1 , 2 فى الكود المرفق بتحسب اخر صفقة تم فتحها وتعد الصفقات بيع وشراء مجتمعين
حاولت افصل بينهم ولكن دون جدوى
من يعرف لنا مخرج لهذه المشكلة فليطرحها
وجزاكم الله خيرا
- 03-06-2012, 09:19 AM #2
رد:طلب مساعده من اخواننا المبرجين
انا لم اطلع على المطلوب من معرفة اخر سعر لعمية البيع او الشراء
لكن انت تستعمل نفس المتغير للبيع و الشراء
اظن لازم تعمل الدوال بالشكل التالى
كود PHP:double price1buy(int op)
{
double cb;
OrderSelect(0,SELECT_BY_POS,MODE_TRADES) ;
if(OrderSymbol()==Symbol() && OrderMagicNumber()== magic1 && OrderType()==op)
cb=OrderOpenPrice();
return(cb);
}
double price2buy(int op)
{
double cb;
OrderSelect(1,SELECT_BY_POS,MODE_TRADES) ;
if(OrderSymbol()==Symbol() && OrderMagicNumber()== magic1 && OrderType()==op)
cb=OrderOpenPrice();
return(cb);
}
double price1sell(int op)
{
double cs;
OrderSelect(0,SELECT_BY_POS,MODE_TRADES) ;
if(OrderSymbol()==Symbol() && OrderMagicNumber()== magic1 && OrderType()==op)
cs=OrderOpenPrice();
return(cs);
}
double price2sell(int op)
{
double cs;
OrderSelect(1,SELECT_BY_POS,MODE_TRADES) ;
if(OrderSymbol()==Symbol() && OrderMagicNumber()== magic1 && OrderType()==op)
cs=OrderOpenPrice();
و double cb للشراء
- 03-06-2012, 09:38 AM #3
رد:طلب مساعده من اخواننا المبرجين
إنت بتستخدم OrdersTotal () ودي بتعود بقيمة كل العقود المفتوحة سواء بيع أو شراء
-------------
المفروض إنك هتعمل دالة تعود بعدد عقود الشراء
كود PHP:int Buyorderstotal(){
int cnt=0;
for(int i =0;i<=OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber()== magic1 && OrderType()==OP_BUY){
cnt++;
}
}
return(cnt);
}
كود PHP:int Sellorderstotal(){
int cnt=0;
for(int i =0;i<=OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && OrderMagicNumber()== magic1 && OrderType()==OP_SELL){
cnt++;
}
}
return(cnt);
}
كود PHP:double PriceOf(int op , int OrderNumber){
double c;
if(op=OP_SELL){
for (int s=0; s<Sellorderstotal()(); s++){
OrderSelect(s,SELECT_BY_POS,MODE_TRADES);
if(s==OrderNumber && OrderSymbol()==Symbol() && OrderMagicNumber()== magic1)
c=OrderOpenPrice();
}
}
if(op=OP_BUY){
for (int b=0; b<Buyorderstotal()(); b++){
OrderSelect(b,SELECT_BY_POS,MODE_TRADES);
if(b==OrderNumber && OrderSymbol()==Symbol() && OrderMagicNumber()== magic1)
c=OrderOpenPrice();
}
}
return(c);
لو عايز قيمة العقد الأول للشراء
(PriceOf(OP_BUY , 1
لو عايز قيمة العقد الثاني بيع
(PriceOf(OP_SELL, 2
-----------------------------------------
- 03-06-2012, 09:58 AM #4
مشكور اخى على تعبك ولكن مازالت المشكلة قائمة
مرفق لك صوتين لتوضيح المشكلة اكثر
الصورة الأولى تم فتح عمليات شراء فقط وكانت النتيجة سليمة 100%100
الصورة الثانية بعد فتح عمليات بيع وشراء معا
ستجد ان اول سعر للشراء موجود فى price2buy والثانى موجود فى الثالث والثالث موجود فى الرابع وستجد السعر الثانى للبيع موجود فى price6sell
مرفق الأكسبيرت للتجربة
- 03-06-2012, 10:29 AM #5
شكرا أخى على تعبك وعجبتنى فكرة PriceOf(int op , int OrderNumber)
ولكن المعادلة محتاجة تتوزن اكتر
مرفق صورة بعد اضافة الدوال اللتى ارفقتها حيث ما زالت المشكلة قائمة فعند فتح بيع فقط او شراء فقط تكون القيم سليمة وعند فتح بيع وشراء معا يحدث لخبطة فى القيم
مرفق صورة والأكسبيرت بعد اضافة الدوال اللتى ارفقتها
- 03-06-2012, 02:28 PM #6
شكرا اخى xcv114 لقد قمت بتعديل بسيط على الدالة اللتى ارفقتها ومشى الحال والحمد لله