النتائج 1 إلى 13 من 13
- 03-08-2011, 04:28 AM #1
استفسار برمجي من اخي اسامه او المبرمجين
سلام عليكم الاخوه المبرمجين و خاصة ممستردولار رمضان كريم
حول الاكسبيرت ناسخ الصفقات المرفق قمت بتجربته على السريفر و لكن المشكله دائما من قسم المستلم تظهر منه نافذة تنبيه مزعجه بعباره التاليه:
MT4 Server Not Connected
و لكن الاكسبيرت يعمل بشكل طبيعي فقمت بحذف الكد التالي من المستلم لتخلص من التنبيه المزعم
Alert("TradeCopy :: MT4 Server Not Connected!");
Print("MT4 Server Not Connected!");
و ايضا يظهر تنبيه اخر فقمت بحذف العباره التاليه منه:
Print(li_52 + " No trade - ExpireMinutes limitation" + TimeToStr(gda_332[ai_0][5], TIME_DATE|TIME_MINUTES));
Alert(li_52 + " No trade - ExpireMinutes limitation" + TimeToStr(gda_332[ai_0][5], TIME_DATE|TIME_MINUTES));
و الحمد لله اختفت النوافذ و لكن صار الاكسبيرت يستهلك رام بشكل كبير و تصاعدي من السريفر و يجبرني ان اغلق المنصات و اشغلها مره ثانيه حتى يرجع الرام بشكل طبيعي هل السبب راجع لعدم حذف الكد بصوره كامله
او سبب هذا الاستهلاك راجع لامر اخر ؟ مرفق اكسبيرت المستلم
ايضا طلب بسيط في اكسبيرت المرسل المرفق و هو ااضافة خيار تحديد اللوت للصفقات التي نريد ان ننسخها
بحيث بواسطة هذا الخيار نطلب من الاكسبيرت ان ينسخ صفقات بحجم اكبر من X و هو الحجم المختار مثلا 0.5 و اكبر
و شكرا
- 04-08-2011, 04:27 PM #2
بتوفيق و بانتظار
- 06-08-2011, 05:19 PM #3
بانتظار استاذ اسامه
- 06-08-2011, 06:04 PM #4
بالنسبة للجزء الأول
كود PHP:if (g_datetime_384 + 10 <= TimeCurrent() && !IsConnected()) {
g_datetime_384 = TimeCurrent();
Alert("TradeCopy :: MT4 Server Not Connected!");
Print("MT4 Server Not Connected!");
}
حذفها لن يؤثر
الجزء الثاني
كود PHP:if (ExpireMinutes > 0.0 && TimeCurrent() + 60 * (60 * HourShiftGMT) - gda_332[ai_0][5] > 60.0 * ExpireMinutes) {
Print(li_52 + " No trade - ExpireMinutes limitation" + TimeToStr(gda_332[ai_0][5], TIME_DATE|TIME_MINUTES));
Alert(li_52 + " No trade - ExpireMinutes limitation" + TimeToStr(gda_332[ai_0][5], TIME_DATE|TIME_MINUTES));
AddNoTrade(li_52);
return (-1);
}
لذلك بالنسبة للمشكله فهذه الأكواد ليس لها علاقة بها لكن أعتقد أن المشكله موجود في الإكسبرت من الأساس
بالنسبة لإضافة حجم اللوت فأعتقد أنك تقصد إكسبرت المستلم لأنه هو الذي يفتح الصفقات
- 06-08-2011, 06:15 PM #5
بارك الله فيك اخي اسامه على الرد يعني سبب استهلاك الرام بشكل كبير و تصاعدي راجع لمشكلة خاصة او وجود امر او حلقة اوامر تتكرر و لكن عند اغلاق المنصتين يرجع الرام الى ما كان فهل ترى لها حل برمجيا؟
بلنسبه لاضافة فلتر لاحجام الصفقات التي نريد ان ننسخها يعني ينسخ صفقات باحجام معينه (اكبر من مقدار معين) المهم يتحقق المطلوب و اذا ترى حضرتك يضاف للمستلم لا مشكله فيه و لكن اتصور المرسل هو الذي يتابع صفقات المطلوب نسخها فيعمل عليها فلتر
و شكراآخر تعديل بواسطة amazing ، 06-08-2011 الساعة 06:28 PM
- 06-08-2011, 07:11 PM #6
السبب غالبا في الحلقه الأولى
كود PHP:while (IsStopped() == FALSE) {
حاول زيادة هذا المتغير CycleMilliseconds فهو الوقت الذي ينتظر فيه الإكسبرت قليلا حتى يستكمل عمل الحلقه 1000 تعني 1 ثانية انتظار
بالنسبة للمستلم فهو الذي يفتح الصفقه وخيار أقصى لوت وأقل لوت موجود فعلا في الإكسبرت
المتغيرين MinLots و MaxLots
- 08-08-2011, 07:01 PM #7
جزاك الله الف خير اخي اسامه على التوضيح و في ميزان حسناتك انشا الله
و لكن بلنسبه الى المتغييرين MinLots و MaxLots في اكسبيرت المستلم لا يعملان بشكل المطلوب و المطلوب هو نسخ صفقات بحجم معين (اكبر من X)من منصة المرسل و عمل هذا المتغييرين تحديد حجم اللوت في منصة المستلم ( اصغر و اكبر حجم الذي يمكن فتحه) فقط فلابد اضافة متغير اخر لاكسبيرت المرسل و ليس المستلم ليتم استنساخ صفقات بحجم معينه من منصة حساب المرسل فارجوا اضافة هذا الخيار لاكسبيرت المرسل المرفق في مشاركه الاولى لعمل فلتره
و شكرا
- 10-08-2011, 04:42 PM #8
بانتظار
- 10-08-2011, 06:14 PM #9
- 10-08-2011, 09:20 PM #10
- 11-08-2011, 01:01 AM #11
- 11-08-2011, 02:12 PM #12
اخي اسامه اضافة لطلب الاعلى و هو كما شرحت حضرتك: (لاكسبيرت signalprovide المرفق )
أن يتم نسخ فقط الصفقات التي حجمها أكبر من حجم لوت معين
مثلا إذا فتح إكسبرت المرسل صفقة بحجم 1 لوت ونحن جعلنا أقل حجم 2 لوت بالتالي لا يقوم بنسخة الصفقه التي بحجم 1 لوت
هناك طلب اخر و هو حل مشكله في اكسبيرت signalprocess المرفق و هي عندما يتم نسخ الصفقه بصوره عكسيه يتم اضافة الاسبيرد بصوره غير صحيحه للصفقه المعكوسه مما يسبب عدم اغلاقها على الهدف يعني المفروض اذا اغلقت الصفقه في حساب المرسل على الاستوب ( بلون الاحمر)تغلق الصفقه المعكوسه لها في منصة المستلم على الهدف (بلون الاخضر) و لم يحصل هذا يعني هناك اشكال في خيار add_seprade_SL_TP_InReverseMode
انظر الى مثال حي و الاعدادات المستخدمه
و هوطلب الاخير و لن اتعبك اكثرآخر تعديل بواسطة amazing ، 11-08-2011 الساعة 02:35 PM
- 12-08-2011, 01:07 PM #13
بتوفيق و ننتظر