السلام عليكم
كيف اعرف ان صفقه تم اغلاقها من قبل اكسبير ام يدويا
حيث اريد اذا كان اغلاق يدويا لا يعيد الدخول اذا تحقق الشروط الدخول مره اخرى
اما اذا كان الاغلاق كان من اكسسبيرت يعيد الدخول مره اخرى
اكون شاكر
السلام عليكم
كيف اعرف ان صفقه تم اغلاقها من قبل اكسبير ام يدويا
حيث اريد اذا كان اغلاق يدويا لا يعيد الدخول اذا تحقق الشروط الدخول مره اخرى
اما اذا كان الاغلاق كان من اكسسبيرت يعيد الدخول مره اخرى
اكون شاكر
وعليكم السلام
ستحتاج إلى شرط حفظ قيمة ما، مثلا كأن تضع متغير ثابث من نوع static يأخذ قيمة معينة عند الاغلاق بواسطة الاكسبيرت أي بعد الدالة OrderClose
ومن خلال هذه القيمة تستطيع تنفيذ ما تريد وبمجرد التنفيذ تعيد القيمة إلى أصلها، وهكذا...
التعديل الأخير تم بواسطة kira-h ; 28-02-2020 الساعة 01:16 AM
السلام عليكم
الله يعطيكم العافيه جميعا
عندي استفسار عن كيفية عمل داله لما هو آت
عندي صفقات شراء عددها اربعه او اكثر
كيف امنع الاكسبيرت من فتح صفقة شراء اخرى رغم تحقق شروط الشراء بين سعرين محددين
لوجود صفقة شراء موجوده فعلا بين السعرين المحددين
اشكر جهودكم الطيب
وعليكم السلام
مثال :
بحيث price1 و price2 السعرين
الله يعطيك العافيه
هنا اذا كان شرط الشراء هو
if(Bid>Price1)
يضاف شرط الداله بهذا الشكل
if(Bid>Price2&&Price1>Price2&&OrderOpenPrice()>Pri ce1&&OrderOpenPrice()<Price2)
و اذا كان هناك اكثر من سعر
P1=x
P2=y
P3=z
وهكذا
هل يتم تعريف الداله بهذا الشكل
int OrdersP()
{
int cnt=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Ma gicNo&&OrderType()<=OP_SELL)
{
if((price1>price2&&OrderOpenPrice()<price1&&OrderO penPrice()>Price2)
||(price2>price3&&OrderOpenPrice()<price2&&OrderOp enPrice()>Price3)
||(price3>price4&&OrderOpenPrice()<price3&&OrderOp enPrice()>Price4)
||(price4>price5&&OrderOpenPrice()<price4&&OrderOp enPrice()>Price5))cnt++;
}
}
}
return(cnt);
}
اشكرك على مجهودك الطيب و اعتذر على الاطاله
العفو خي الكريم
اقتراحك خاطئ إذا تريد معرفة عدد الصفقات المفتوحة بين سعرين محددين
الصحيح ما جاء بمشاركتي السابقة
يعطيك العافيه اخي العزيز
اذا كانت شروط الشراء مثلا كالتالي
if((Bid>Price1&&Ask<Price2)
||(Bid>Price2&&Ask<Price3)
||(Bid>Price3&&Ask<Price4)
||(Bid>Price4&&Ask<Price5)
&&BUY==0))
فاذا تحقق شرط الشراء وفقا للشروط السابقه و تم فتح صفقة شراء
و المطلوب اضافة شروط اخرى في حالة وجود صفقة شراء
هل الدالة التاليه صحيحه
||BUY!=0&&((!OrderOpenPrice()>Price1&&!OrderOpenPr ice<Price2)
||(!OrderOpenPrice()>Price2&&!OrderOpenPrice<Price 3)
||(!OrderOpenPrice()>Price3&&!OrderOpenPrice<Price 4)
||(!OrderOpenPrice()>Price4&&!OrderOpenPrice<Price 5))
التعديل الأخير تم بواسطة kira-h ; 04-03-2020 الساعة 02:31 AM
الدالة غير مفهومة لانها منطقيا غير صحيحة
اشرح المطلوب تفصيلا لعمل التصحيح
التعديل الأخير تم بواسطة kira-h ; 04-03-2020 الساعة 02:35 AM
الله يسعدك ما قصرت
في البدايه اذا كانت شروط الشراء تتكون من 7 مستويات سعريه كالآتي
P1
P2
P3
P4
P5
P6
P7
مع العلم ان P7 اكبر من P6 و هكذا الى P1 هي الاصغر
و شروط الشراء في حالة ان buy==0
هي ان Bid اكبر من المستوى السعري P1 و اصغر من المستوى السعري P2
او Bid اكبر من المستوى السعري P3 و اصغر من المستوى السعري P4
او Bid اكبر من المستوى السعري P5 و اصغر من المستوى السعري P6
او Bid اكبر من P7
اما في حالة ان BUY!=0
فهي نفس الشروط السابقه في حالة عدم وجود شراء فعلي بين P1 و P2
او عدم وجود شراء فعلي بين P3 و P4
او عدم وجود شراء فعلي بين P5 و P6
او عدم وجود شراء فعلي اكبر من P7
ان شاء الله اكون قدرت اوصل فكرتي
كل الشكر و التقدير لمجهودك الطيب
العلامات المرجعية