النتائج 1 إلى 8 من 8
الموضوع: كود لم اجد له حل
- 19-03-2010, 10:57 AM #1
كود لم اجد له حل
السلام عليكم
الكود الموجود هنا تعبت وانا احاول احله ياريت تساعدوني
المشكله الي تواجهني انه يقراء الهيستوري ويفتح جميع الصفقات وانا محتاج انه يعيد فتح اخر صفقه فقط في الهستريكود PHP:int Bob(int a_magic_0) {
int l_count_4 = 0;
int l_ord_total_8 = OrdersHistoryTotal();
g_ticket_188 = -1;
g_ticket_192 = -1;
for (int l_pos_12 = 0; l_pos_12 < l_ord_total_8; l_pos_12++) {
OrderSelect(l_pos_12, SELECT_BY_POS, MODE_HISTORY);
if ( OrderSymbol() == Symbol() && OrderType() == OP_BUY && OrderClosePrice()<OrderOpenPrice()) {
if (g_ticket_188 == -1) {
if (OrderMagicNumber() == MagicNumber) OrderSend(Symbol(), OP_BUYSTOP, OrderLots(), OrderOpenPrice(), 3, OrderStopLoss(), OrderTakeProfit(), "looool", MagicNumber, 0, Blue);
l_count_4++;
}
}
}
return (l_count_4);
}
- 19-03-2010, 03:47 PM #2
رد: كود لم اجد له حل
فكر كالآتي بدلا من أن تجعله يقرأ جميع الهستوري خليه يقرأ آخر صفقة في الهستوري
بدلا من هذا الكود int l_pos_12 = 0
إجعله int l_pos_12 = OrdersHistoryTotal()-1
- 19-03-2010, 08:28 PM #3
رد: كود لم اجد له حل
يعني نفس كده
كود PHP:int Bob(int a_magic_0) {
int l_count_4 = 0;
int l_ord_total_8 = OrdersHistoryTotal();
g_ticket_188 = -1;
g_ticket_192 = -1;
for (int l_pos_12 = OrdersHistoryTotal()-1; l_pos_12 < l_ord_total_8; l_pos_12++) {
OrderSelect(l_pos_12, SELECT_BY_POS, MODE_HISTORY);
if ( OrderSymbol() == Symbol() && OrderType() == OP_BUY && OrderClosePrice()<OrderOpenPrice()) {
if (g_ticket_188 == -1) {
if (OrderMagicNumber() == MagicNumber) OrderSend(Symbol(), OP_BUYSTOP, OrderLots(), OrderOpenPrice(), 3, OrderStopLoss(), OrderTakeProfit(), "looool", MagicNumber, 0, Blue);
l_count_4++;
}
}
}
return (l_count_4);
}
بس ماتفعل ولا امر
احب قبل كل شي اشكرك لمساعدتك لي ثاني مره تكون السباق في المساعده
- 19-03-2010, 09:43 PM #4
رد: كود لم اجد له حل
الأخ الكريم إذا نحن نريد الصفقة الأخيرة فقط فلا أرى وجود العداد لازم
for (int l_pos_12 = OrdersHistoryTotal()-1; l_pos_12 < l_ord_total_8; l_pos_12++) {
فقط ممكن تطلب الصفقة الأخيرة برقمها (1-)
OrderSelect(OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS, MODE_HISTORY);
مع العلم ان MODE_HISTORY يسوف تهتم بالصفقات التي أغلقت و كذلك الصفقات المعلقة الملغات closed & canceled orders.
- 19-03-2010, 10:26 PM #5
رد: كود لم اجد له حل
نعم كلامك صحيح لكن أنا عرفت لماذا قد لا يفتح معك صفقة فإحتمال تكون الصفقة الأخيرة في الهستوري لا تنطبق عليها الشروط التي وضعتها
OrderType() == OP_BUY && OrderClosePrice()<OrderOpenPrice()
لذلك أرى الأفضل إنك تستخدم الأمر Break لإنهاء السلسلة عندما يتحقق المطلوب
بذلك لن يفتح الإكسبرت أكثر من صفقة
- 19-03-2010, 10:44 PM #6
رد: كود لم اجد له حل
if (g_ticket_188 == -1) {
كذلك هذا الشرط زائد
هو أصلا مساوي 1- و لا يوجد ما يغيره ولن يأخذ أي قيمة أخرى
إذا فهو شرط زائد
- 19-03-2010, 11:00 PM #7
رد: كود لم اجد له حل
شباب معليش بتعبكم معاي شوي عشان تخربط انا
ممكن احد يكتب شلون الامر كله بيصير
- 20-03-2010, 07:26 PM #8
رد: كود لم اجد له حل
هلا شباب ماكو احد رد علي ؟
الأكثر زيارة
رد مع اقتباس