النتائج 1 إلى 5 من 5
- 01-02-2026, 03:14 PM #1
اكسبيرت يغلق الصفقه بعد عدد معين من الشموع
الاخوه الاساتذه المبرمجين
كل عام وانتم بخير
هل يمكن مساعدتى بكتابه هذا الاكسبيرت وتجربته
input int MaxCandles = 5; // عدد الشموع المطلوبة للإغلاق
void OnTick() {
for (int i = OrdersTotal() - 1; i >= 0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
// حساب عدد الشموع التي مرت منذ فتح الصفقة
int candlesPassed = iBarShift(Symbol(), Period(), OrderOpenTime());
if (candlesPassed >= MaxCandles) {
bool closed = OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 3);
if(closed) Print("تم إغلاق الصفقة بعد مرور ", MaxCandles, " شموع.");
}
}
}
}
شرح الإعدادات:
MaxCandles: المتغير الذي تحدد من خلاله عدد الشموع (مثلاً 5 شموع).iBarShift: دالة برمجية تقوم بحساب "كم شمعة" مرت بين وقت فتح الصفقة والوقت الحالي على نفس الفريم الزمني.التنفيذ: بمجرد وصول عدد الشموع للرقم المحدد، يرسل الإكسبيرت أمر إغلاق فوري للسوق.*
ملاحظة:*يعمل هذا الإكسبيرت على الفريم الزمني الذي تضعه عليه؛ فإذا وضعته على فريم الساعة (H1) سيغلق بعد عدد الساعات المحدد، وإذا كان على الدقيقة (M1) سيغلق بعد عدد الدقائق المحددآخر تعديل بواسطة ابوالعلاحركات ، 01-02-2026 الساعة 03:16 PM
- 01-02-2026, 07:18 PM #2
نسخه اولى والنسخه الثانيه
اذا كان ال magic number صفر سيغلق كل الصفقات او اضف الماجيك نمبر للصفقه المراد اغلاقها
- 02-02-2026, 01:37 AM #3
شكرا جزيلا
- 03-02-2026, 01:18 AM #4
- 01-03-2026, 05:10 PM #5
الأكثر زيارة
رد مع اقتباس