النتائج 1 إلى 9 من 9
الموضوع: حل آخر أفضل من OrdersToltals
- 19-12-2018, 07:57 PM #1
حل آخر أفضل من OrdersToltals
سلام الله عليكم ،
عادة في بداية اي اكسبيرت أضع أول شرط قبل تنفيذ الاوامر هو خلو الشارت من اي صفقة حتى لا تتكرر الصفقات أثناء فتح الصفقة الاولى و سيادة المبرمجين يعلمون بهذا و تعلمناه منهم ،
if (OrdersToltal==0) ،
لكن لاحظت مؤخرا ان هذا الشرط يصلح فقط في حال أردت تطبيق الاكسبيرت على شارط واحد أو زوج واحد ، ففي حال أردت تطبيق الاكسبيرت على شارتين أو أكثر لن ينفع ، حيث سيشتغل الاكسبيرت على الزوج الاول في الشارت الاول و ان سحبته على الزوج الثاني او الشارت الثاني فلن يشتغل نظرا لوجود صفقات مفتوحة على الزوج الاول ،،
كيف في نظركم اعالج المشكل أو كيف تعالجونه ؟؟؟؟
تحياتي و الشكر مسبقا لكم معلمينا ،،،
- 20-12-2018, 10:54 AM #2
استخدم دالة تعطيك عدد الصفقات المفتوحة بدلالة الماجيك نمبر (عليك تغيير الماجيك نمبر في كل شارت تفتحه او تضع عليه الإكسبرت )
- 20-12-2018, 06:46 PM #3
شكرا على ردك أستاذ وضاح (( أظنك أستاذ وضاح عطار على ما أظن )) ،
شرف لي أن ترد على سؤالي أستاذ وضاح ،
أنا متابع منشوراتك و ردودك من حوالي 2009 ،
حاولت صنع دالة تخبرني ان كان هناك صفقات مفتوحة على الزوج أم لا ،
بالفعل نجحت في صياغتها للاسف ما نجحت معي ،
int nbr_orders()
{ int typo;
for ( int a=OrdersTotal()-1; a>=0; a--)
{
if (OrderSelect(a,SELECT_BY_POS,MODE_TRADES))
{
if (OrderSymbol()==Symbol() && OrderMagicNumber()==magic)
{
if ( OrderType()!=typo )
typo=0;
if ( OrderType()==typo )
typo=1;
}
}
}
return(typo);
}
ان كان ممكن استاذ وضاح تعمل لي دالة تخبرني عن عدد الصفقات في الزوج ، و ان كان ممكن ايضا تعطيني حسابك فيسبوك راح اكون ممتن استاذ
- 20-12-2018, 06:53 PM #4
يمكنك استخدام داله تحسب الصفقات المفتوحه بالكومنت بشرط ان تغير الكومنت في الاكسبيرت
والاكسبيرتين يديرو كل الصفقات حسب الماجيك
كود PHP:int TotalOrders()
{
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && comment==OrderComment()){
cnt++;
}
}
}
return(cnt);
}
- 20-12-2018, 07:23 PM #5
شكرا حبيبي السمحان ، ربي يبارك فيك أخي و يرزقك من كل فضله في الدنيا و في الاخرة،
للاسف الدالة لم تعمل معي أخي ، فهي لا تعطي عدد الصفقات المفتوحة ،
العدد اللي تعطيه يزداد مع كل تيك ،
فالامر cnt++; يتفعل مع كل تيك مما يعطي عدد اكبر بكثير مقارنة مع عدد الصفقات المفتوحة ،
شكرا على مجهودك أخي و اتمنى تجتهد معي لحل هاذ المشكل
- 20-12-2018, 07:49 PM #6
العفو اخي الكريم
جرب هذه الداله باختيار نوع الصفقه
كود PHP:int TotalOrders(int type)
{
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && comment==OrderComment()&&(OrderType()==type)){
cnt++;
}
}
}
return(cnt);
}
- 20-12-2018, 08:37 PM #7
و الله أخوي السمحان ما أعرف كيف اشكرك ، أنا راح أخلي الله عز و جل هو اللي يشكرك بدالي ،
أنا استخدمت دالتك الاولى ، اكتشفت اني نسيت وضع الكومنت في الاوردرات ، و الان كل شيئ تمام ،
ربي يبارك فيك و ينورك و يغنيك دنيا و آخرة ،
و الشكر ايضا للاخ وضاح و لمستر دولار و للمشرفين و لكل واحد سخر نفسه لخدمة الناس ، و كيف ما كنتم سبب في تفريج كربات ربي يفرج كرباتكم و يفتح عليكم م حيث لا تعلمون ،،
- 20-12-2018, 08:39 PM #8
ان كان ممكن الفيسبوك بتاعك أخي السمحان
- 20-12-2018, 11:22 PM #9
امين واياك اخي الكريم
الفضل لله اولا
ثم لاستاذتا مستر دولار على تعليمنا فوالله ما قصر معنا في اي سؤال او داله
فجزيل الشكر لله
ثم له على مايقدمه من مساعده
---------------------------
بالنسبه للفيس بوك
والله ماعندي فيس بوك
سجلت فيه اول ما انشئ الموقع ثم حذفت الحساب
المعذره منك