النتائج 1 إلى 10 من 10
الموضوع: السلام عليكم طلب كود
- 23-04-2012, 06:42 PM #1
السلام عليكم طلب كود
السلام عليكم ورحمة الله وبركاته
اخي مستر دولار والخبراء فى البرمجه كنت قد طلبت كود مساعد للتوقيت اليومي فى موضوع ثاني
استخدم اكسبرت اومر معلقه باى وسل استوب كل المطلوب فى حال فعلنا التوقيت اليومي ونفترض كان من 7 الى 17 لو وصل الساعه 17 وكان عنده صفقات مفتوحه يكمل فتح باى وسل استوب الى ان يغلق الصفقات المفتوحه ولو اغلق الصفقات يوقف عن العمل الى بكره الساعه 7 وثم يعاود العمل
حاولت اضافة كود الى كود التوقيت ولاكن شكله عنيد ما يسمع الكلام
شكرا مقدما
- 23-04-2012, 07:49 PM #2
- 23-04-2012, 10:08 PM #3
نخدمك فى الافرااااااااح حاولت من قبل ولاكن ما نفع معي احتمال ما اخلى الكود مكانه الصحيح هل ممكن ضبط الاكسبرت او حتى المحاوله
المطلوب فى حال تم تفعيل خيار التوقيت UseTimeFilter ترو يعمل طول الفتره المتاحه وعند انهاء الوقت ينظر الى الصفقات الموجوده فى حال عنده صفقات يكمل عمله طبيعى وضع اومر معلقه حتى اغلاق الصفقات ومن ثم ينتظر الى اليوم الثاني وجزاك الله خير
مرفق الاكسبرت
- 23-04-2012, 11:03 PM #4
- 23-04-2012, 11:28 PM #5
- 24-04-2012, 08:19 AM #6
اخي Prog_Man صارت معي مشكله وهذه المششكله غير موجوده فى الباك تست فقط على التداول على الديمو وهي عند وصول الربح المحدد الاكسبرت لا يغلق جميع الصفقات المعلقه والمفتوحه ولاكن يكتفى باغلاق جزء بسيط من الصفقات ثم يعاود فتح اومر معلقه وينسى الباقيي شكله فيه الزهايمر لا يتعدى صفقتيني او ثلاث ويوقف شو الحل فى رايك مع العلم انى ركبت جميع الاكواد الموجوده فى المنتدى من دون فايده
- 24-04-2012, 09:00 AM #7هذا لأن في الباك التيست كل شي مثالي وخاصة في الاستجابة للأوامر لكن في التداول على اللايف (ديمو أو حقيقي)
فهناك عوامل أخرى تأثر مثل استجابة السيرفر أو سرعة الإنترنت وهذا ما يسبب تجاهل الإكسبرت لإغلاق بعض الأوامر وخاصة أنك محدد عدد المحاولات له بـ 10 محاولات للإغلاق وعند خروج البرنامج من الأمر while وقد أغلق بعض الأوامر فإن الربح قل وعند العودة مرة أخرى للشرط فلن يتحقق فيكمل مسيرته
التعديل
كود PHP:if((Profit(OP_BUY)+Profit(OP_SELL)>=USD_Profit&&CloseInUSD_Profit)||(Profit(OP_BUY)+Profit(OP_SELL)<=USD_Loss&&CloseInUSD_Loss)||
(UseCloseDaily&&Hour()==Close_Hour)||(Hour()==WeeklyClose_Hour&&UseWeeklyClose&&DayOfWeek()==5)||a>0)
{
a=1;
while(a>0)
{
CloseAllOrders();DeletePendingOrders();
if(orderscnt(OP_BUY)+orderscnt(OP_SELL)+orderscnt(OP_BUYSTOP)+orderscnt(OP_SELLSTOP)==0) a=0;
}
if(a>0)return(0);
}
هذا والله أعلم
- 24-04-2012, 10:01 AM #8
اسمحلى عاد ناوى اتعبك لانى اشوف فيك الخبره فى هذا المجال
وصحيح مثل ما قلت المشكله من السيفر ومدى الاستجابه من ملاحظتى للاكسبرت عند الاغلاق يقوم باغلاق الاومر المعلقه قبل وبداء اغلاق بعض العقود قد تغلق كامله وفى اغلب الاوقات لازم يخلى كم عقد المشكله اتوقع انا معطين الاكسبرت امر فى حال عدم وجود صفقات معلقه يفتح صفقه معلقه وعند الاغلاق الصفقات المعلقه يكتشف انه ما عنده صفقات معلقه ويحاول يفتح صفقات معلق ويصير ضغط على السيفر وخاصه مثل ما شفت مخليله عدة محاولات لفتح الصفقه هل ممكن نخلى الاكسبرت ينام دقائق ويرتاح لحين الاغلاق بعدها يبداء عمله
شئ اخر يمكن شفت انا مخلى اغلاق الاومر المعلقه اذا كانت اكبر من 1 والسب انى حصلت الاكسبرت فاتح اكثر من امر معلق وما عرفت احلها الا بهدذا الكود
if(orderscnt(OP_SELLSTOP)>1||orderscnt(OP_BUYSTOP) >1)DeletePendingOrders();
- 24-04-2012, 08:01 PM #9مرحبا بك أخي
نعم الإكسبرت عند عدم وجود صفقة معلقة من نوع BuyStop أو SellStop يضع أمر معلق
أما بخصوص جعل الإكسبرت في حالة انتظار هناك امر في اللغة هو
كود:void Sleep( int milliseconds)
أما الحل الذي اتبعته في التعديل السابق هو إضافة متغير a عند تحقق شرط الإغلاق للأوامر وإعطائه قيمة أكبر من صفر و منع الإكسبرت من التقدم مادام قيمة a أكبر من صفر ويرجع a إلى صفر عند حذف جميع الاوامر
لا أعلم إن كنت جربته وعمل بشكل جيد أو لا؟؟؟
أما بخصوص فتح الإكسبرت أكثر من صفقة معلقة فعلى ما أظن بسبب هذا الكود
كود:ticket= OrderSend(Symbol(),OP_BUYSTOP,Lots,NormalizeDouble(Ask+Step*point,Digits),Slippage*Q,SL,TP,"ALSHAMSIEA",MagicNumber,0,Blue); while(ticket<0&&Try<OpenOrderTry){ if(IsTradeAllowed())OrderSend(Symbol(),OP_BUYSTOP,Lots,NormalizeDouble(Ask+Step*point,Digits),Slippage*Q,SL,TP,"ALSHAMSIEA",MagicNumber,0,Blue);Sleep(2000);Try++;}
آسف على الإطالة لكن أحببت أن أوضح ما يحصل
على العموم مرفق الإكسبرت فيه تعديل ما ذكرت
والله الموفق
- 24-04-2012, 10:35 PM #10
جزاك الله خير اخي Prog_Man لك الشكر والتقدير اخي الكريم ما قصرت بحاول اعدل على الداله CloseAllOrders لانى اختبرت السابق ونفس المشكله مخصص الربح 500 ووصل الربح الى 2000 ولا اغلق ولاكن وجدت انه اغلق الصفقات المعلقه كذا مره وعند ما اغلقت الميتاتريدير ورجعت فتحته اغلق شكله عنده مشاكل عائليه هههه وما انتبه وبعد ان شاء الله بختبر هذا بكره اذن الله ونشوف تحياتي