النتائج 7,366 إلى 7,380 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 09-05-2016, 10:27 PM #7366
- 09-05-2016, 10:46 PM #7367
- 09-05-2016, 11:48 PM #7368
- 10-05-2016, 02:10 AM #7369
السلام عليكم
أرجو المساعدة في تحديد آخر صفقة أقفلت، لأني وجدت ثلاثة أكواد تؤدي نفس الدور غير أنها ربما تحتاج إلى تصحيح
الكود الأول
كود:for(int o_pos=0;o_pos<OrdersHistoryTotal();o_pos++) { OrderSelect(o_pos, SELECT_BY_POS,MODE_HISTORY); if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { LastOrderTicket = OrderTicket(); } }
الكود الثاني
كود:for(int o_pos=OrdersHistoryTotal()-1;o_pos<=0;o_pos--) { OrderSelect(o_pos, SELECT_BY_POS,MODE_HISTORY); if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { LastOrderTicket = OrderTicket(); } }
الكود الثالث
وهو الكود الذي يظهر أقرب إلى أن يقوم بدوره بحيث وجدت من يعلق ويقول أن آخر صفقة أقفلت ليس بالضورة أن يكون ترتيبها هو الأول أو الآخر في OrdersHistoryTotal() لذا يتم الاعتماد على OrderCloseTime() لتحديد آخر صفقة في History
كود:static datetime lastOrderCloseTime=0; for(int iPos=OrdersHistoryTotal()-1; iPos >= 0; iPos--) { if( OrderSelect(iPos, SELECT_BY_POS, MODE_HISTORY) && OrderMagicNumber() == MagicNumber && OrderSymbol() == Symbol() && OrderCloseTime() > lastOrderCloseTime ) { lastOrderCloseTime = OrderCloseTime(); LastOrderTicket = OrderTicket(); } }
من منكم يستطيع أن يحسم لي في هذا الأمر ويعطيني كون نهائي يفي بالغرض جزاكم الله خيرا
- 10-05-2016, 02:41 AM #7370
بل هناك كود رابع، ما العمل؟؟
كود:OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS,MODE_HISTORY); if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { LastOrderTicket = OrderTicket(); }
- 10-05-2016, 11:50 AM #7371
- 10-05-2016, 01:36 PM #7372
وعليكم السلام ورحمة الله وبركاته
الكود الأول
صحيح لكن عيبه أنك ستبحث في جميع الصفقات المغلقه من البداية والأفضل أن تبحث عن الصفقات المغلقه من النهاية حتى تقلل حلقة البحث
الكود الثاني
هو الصحيح مع بعض التعديل بحيث يجب أن تستخدم الداله Break عندما تجد آخر صفقة التي تطابق الشروط
مثال
كود PHP:for(int o_pos=OrdersHistoryTotal()-1;o_pos<=0;o_pos--)
{
OrderSelect(o_pos, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
LastOrderTicket = OrderTicket();
break;
}
}
صحيح لكن لا داعي للبحث في جميع الصفقات ووضع المقارنه لأن آخر صفقة في الهيستوري هي آخر صفقة أغلقت
الكود الرابع
صحيح إذا كان الإكسبرت يعمل لوحده على الحساب ولا تفتح صفقات أخرى سواء يدويا أو بواسطة إكسبرت آخر و غير صحيح لأن الصفقة الأخيرة في الهيستوري ليست بالضروره هي الصفقة التي فتحها الإكسبرت قد تكون فتحت بواسطة إكسبرت آخر أو يدويا
- 10-05-2016, 01:37 PM #7373
- 10-05-2016, 01:44 PM #7374
اشكرك بعمق استاذي الفاضل
- 10-05-2016, 08:56 PM #7375
لك الشكر الجزيل أخي Mr. Dollar لقد أفدتني كثيرا بتعليقك على الأكواد
إذا أفضل كود بينهم هو الكود الثاني باضافة الدالة Break
كود:for(int o_pos=OrdersHistoryTotal()-1;o_pos<=0;o_pos--) { OrderSelect(o_pos, SELECT_BY_POS,MODE_HISTORY); if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { LastOrderTicket = OrderTicket(); break; } }
آخر تعديل بواسطة Ordla ، 10-05-2016 الساعة 09:00 PM
- 10-05-2016, 11:21 PM #7376
- 10-05-2016, 11:43 PM #7377
- 11-05-2016, 08:08 PM #7378
السلام عليكم ورحمة الله وبركاته
مساء الخير الجميع
قمت بوضع أمر شراء معلق عند تحقق شرط معين
كود PHP:if ( // شرط فتح امر شراء معلق )
{
OrderSend(Symbol(),OP_BUYSTOP,0.01,Ask,5,low,high,"Me",MagicNumber,0,Blue);
}
كيف ستكون آلية حذف هذا الأمر المعلق عند تحقق شرط آخر ،
وكيف ستكون الآليه مع الماجيك نمبر ( اذا كان هناك اكثر من أمر معلق )
وفقكم الله
- 11-05-2016, 08:23 PM #7379
وعليكم السلام ورحمة الله وبركاته
نفس طريقة حذف الأوامر المعلقه هي طريقة إغلاق الصفقات
قم بعمل دالة لإغلاق الصفقات
كود PHP:void CloseOrders(int type)
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
{
if(OrderType()==OP_BUY)
{
bool close=OrderClose(OrderTicket(),OrderLots(),Bid,3*P);
}
else if(OrderType()==OP_SELL)
{
bool close=OrderClose(OrderTicket(),OrderLots(),Ask,3*P);
}
else if(OrderType()>OP_SELL)
{
bool del=OrderDelete(OrderTicket());
}
}
}
}
- 11-05-2016, 08:37 PM #7380
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM