النتائج 1 إلى 12 من 12
الموضوع: كود العمل فى وقت معين
- 18-06-2010, 12:25 AM #1
كود العمل فى وقت معين
السلام عليكم
مستر دولار والاخوه المبرمجين
عندى اكسبيرت بسيط اريد ان ادخل عليه العمل فى اوقات معينه فاضفت الكود التالى ضمن الداله ستارت
كود:if (UseHourTrade){ if(!((FromHourTrade < ToHourTrade && TimeHour(TimeCurrent()) >= FromHourTrade && TimeHour(TimeCurrent()) < ToHourTrade) || (FromHourTrade > ToHourTrade && TimeHour(TimeCurrent()) >= FromHourTrade || TimeHour(TimeCurrent()) < ToHourTrade))){ Comment("Non-Trading Hours!"); return(0); } }
كود:extern bool UseHourTrade = false; extern int FromHourTrade = 7; extern int ToHourTrade = 17;
واصبح الاكسبيرت لا يعمل نهائيا مع انى عند عمل كومبايل لا يخرج اى اخطاء
ما هو السبب برجاء الافاده وشكرا لتعاونكم الدائم معى
- 18-06-2010, 02:32 AM #2
رد: كود العمل فى وقت معين
شوف حبيبي
والله اخوك ماله في الاكسبيرتات
بس هذا اكسبيرت هيدج فيه ميزه زمن البدء والانتهاء اكيد بيفيدك في عمل اكسبيرتك
- 18-06-2010, 02:57 AM #3
رد: كود العمل فى وقت معين
السلام عليكم
طلبت من الكود أن يعيد القيمة 0
إذا لم يتحقق الشرط 7 أصغر من 17
و بما أن الشرط 7 أصغر من 17 دائما
فالكود يعيد القيمة 0 دائما
بما أنك تريد العمل في الساعات المحصورة بين
7 و 17 لماذا لا تجعل الكود هكذا ؟
كود:if( Hour() <= FromHourTrade || Hour() > ToHourTrade ) {Comment("Non-Trading Hours!");return(0);}
- 18-06-2010, 11:09 AM #4
- 18-06-2010, 11:09 AM #5
رد: كود العمل فى وقت معين
إذا إستخدمت الكود بهذه الطريقه فلن يعمل بشكل صحيح إذا جعلت على سبيل المثال FromHourTrade =20 و ToHourTrade =3
فإذا كان التوقيت الحالي 22 فهو ما زال توقيت عمل الإكسبرت لكن راجع الشرط الذي وضعته
كود PHP:Hour() > ToHourTrade
لكن الشروط الحاليه التي وضعها
كود PHP:(FromHourTrade < ToHourTrade && TimeHour(TimeCurrent()) >= FromHourTrade && TimeHour(TimeCurrent()) < ToHourTrade)
أو
كود PHP:(FromHourTrade > ToHourTrade && TimeHour(TimeCurrent()) >= FromHourTrade ||
TimeHour(TimeCurrent()) < ToHourTrade)
فمثلا إذا جعلنا FromHourTrade =20 و ToHourTrade =3 ففي هذه الحاله سوف يقارن الإكسبرت التوقيت بالحاله الثانيه
فإذا كان الوقت الحاله أكبر من ساعة البدايه والوقت الحالي 23 فبالتالي الشرط صحيح أو التوقيت الحالي أقل من ساعة النهايه فإذا كان التوقيت 2 فالشرط أيضا صحيح
ثم إستخدام الرمز ! فإذا لم تتحقق الشرط السابقه سوف يعود بالقيمه 0 أما إذا تحققت أن التوقيت هو توقيت عمل الإكسبرت فسوف يكمل عمله
وهذا الكود أدق من الكود الإعتيادي
كود PHP:if(!(Hour()>=StartHour&&Hour()<=EndHour)){
Comment("Non-Trading Hours!");
return(0);
}
لذلك أضفنا الجزء الثاني في الكود الأول وهو إذا كان توقيت البدايه أكبر من توقيت النهايه
حيث انه حل مشكلة
- 18-06-2010, 05:50 PM #6
رد: كود العمل فى وقت معين
فعلا الكود طلع صحسيح وطلعت انا اجرب على اكسبيرت منتهى الصلاحيه وفعلا اشتغل معايا ولكن مازالت هناك مشكلة
انا اريد ان اجعل الاكسبيرت مثلا النهايه له الساعه 9 صباحا ومازالت هناك صفقات مفتوحه اريد ان يتابعها ويغير من التارجت وكل شيئ واول ما يغلق الصفقات لا يعمل مره اخرى يعنى لو قفل الصفقات الساعه 9:40 لا يفتح صفقات تانيه لانى لاحظت اول لما الساعه تيجى 9 ينهى الاكسبيرت عمله ويترك الصفقات بدون متابعه ففكرت انى اضع الشرط الخاص بالوقت قبل الداله OrderSend باى وسيل اى قبل اوامر البيع والشراء فهل هذا صحيح ام لا ؟ لو خطأ ماذا افعل شكرا للتعاون االدئم معى
- 18-06-2010, 06:42 PM #7
- 19-06-2010, 03:15 AM #8
رد: كود العمل فى وقت معين
بالفعل غيرت مكان الشرط من داله ستارت الى ما قبل اوامر الشراء والبيع وجدت شيئ غريب جدا الاكسبيرت نظام مضاعفات اول لما اجربه على البكا تست يعمل اوردر باى واوردر سيل ولا يضع اوامر معلقه الا وقت تحقق الوقت ولا يلغيها الا وقت انتهاء الوقت ولكن انا اريد ان يبدا جميع اجزاء الاكسبيرت فى الوقت المحدد ويتوقف عن وضع عمليات بيع وشرا بعد انتهاء الوقت ويتابع ويعمل modefy للعمليات المفتوحه بعد انتهاء الوقت وبمجرد ان تغلق لا يفعل اى شيئ اخر
اذن انا عندى جزء الاوامر الحيه وجزء الاوامر المعلقه وجزء التعديل وجزء ستارت اين اضع داله شرط الدخول؟
- 19-06-2010, 03:23 AM #9
رد: كود العمل فى وقت معين
الان جربت ان اضع الكود فى الاوردر باى والاوردر سيل والاوردر باى ليميت والاوردر سيل ليميت وتحقق ان الاكسبيرت يبدا فعلا كاملا بكل مشتملاته فى ساعه معينه وبعد انتهاء الفتره يقف ولكن مازالت الاوردرات سيل تتفعل فقط ما هو الخطأ؟
- 19-06-2010, 01:13 PM #10
رد: كود العمل فى وقت معين
أرفق الإكسبرت لكي نستطيع مساعدتك ولا فكيف سنعرف ما تتكلم عنه
- 20-06-2010, 01:36 PM #11
- 20-06-2010, 01:49 PM #12
رد: كود العمل فى وقت معين
ما أقصده هو أننا حاليا لا نعلم كيف قمت بترتيب الأكواد في الإكسبرت لذلك لن نستطيع مساعدتك بشكل كامل لكن بكل حال الداله الخاصه بالوقت السابق ذلك إذا وضعتها في أي مكان وكان التوقيت غير توقيت عمل الإكسبرت فعندما تقوم الداله بمقارنة التوقيت ولم يتحقق الشرط فسوف تنهي عمل الداله الحالي وتعود للعمل من البدايه مره أخرى وهذا وظيفة الأمر return وعلى هذا الأساس يجب أن تضع الكود ويمكنك التعديل في الداله حسب ما تريد وحتى تتناسب مع كيفية عمل الإكسبرت
المواضيع المتشابهه
-
حكم العمل فى الفوركس ومسئلة العمل بالهامش
By soltan ela7zan in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 20آخر مشاركة: 17-02-2010, 04:11 PM -
مرفق إكسبيرت للبيع بإغلاق الشمعه تحت مستوى معين أو الشراء بإغلاق فوق مستوى معين
By porto in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 8آخر مشاركة: 19-08-2009, 06:55 AM -
لة او معدن او مؤشر
By محمد111 in forum توقعات وتوصيات سوق العملاتمشاركات: 1آخر مشاركة: 24-10-2008, 01:59 PM -
التركيز على زوج معين ام .......
By الرادف in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 6آخر مشاركة: 05-07-2005, 01:14 AM