النتائج 1 إلى 7 من 7
الموضوع: أحتاج مساعدة بليز في فهم هذا الكود
- 14-04-2010, 08:37 PM #1
أحتاج مساعدة بليز في فهم هذا الكود
كود:int MyOrdersTotal(int Magic) { int c=0; int total = OrdersTotal(); for (int cnt = 0 ; cnt < total ; cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()) { c++; } } return(c); }
السلام عليكم يا اخوان
في كود حساب عدد الصفقات سواء كانت منفذة أو معلقة اش وظيفة المتغيرmagic
ونحن في بداية الكود عرفنا متغير magicnumber لكي يميز صفقات هذا الاكسبرت
كود:extern int MagicNumber = 123456;// الماجيك نمبر
الآن المتغير c يمثل الصفقات المختارة ( هل المقصود هنا الصفقات المنفذة )
المتغير total يمثل مجموع جميع الصفقات سواء كانت منفذة أو معلقة
أتمنى الحصول على إجابة وافية لكي تتضح لي ملابسات الكود
شكر كبير لجهودكم جميعا
في حفظ الرحمن / هاشمية
- 14-04-2010, 09:04 PM #2
رد: أحتاج مساعدة بليز في فهم هذا الكود
بالنسبة للسؤال الأول يمكنك الإستغناء عن المتغير Magic وإزالته وستعطي نفس النتيجة
وسيكون الكود كالآتي
كود PHP:int MyOrdersTotal()
{
int c=0;
int total = OrdersTotal();
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
c++;
}
}
return(c);
}
المتغير c يمثل عدد الصفقات المختارة والتي تنطبق عليها الشروط التي قمت بتحديدها
المتغير total هو عدد جميع الصفقات المفتوحه سواء كانت ماركت أو أوامر معلقه وهو أيضا عدد الحلقات التي سيتم تنفيذها
- 14-04-2010, 09:39 PM #3
رد: أحتاج مساعدة بليز في فهم هذا الكود
كود://+------------------------------------------------------------------+ //| Byu_Sell_Day.mq4 | //| Copyright © 2007, www.****forex.net | //| http://www.****forex.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2007, www.****forex.net" #property link "http://www.****forex.net" extern int Step=20; extern int Takeprofit=50; extern int Stoploss=50; extern double Lots=1; int Magicnumber=234561; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { if(Hour()==0 && Minute()<5 && MyOrdersTotal(Magicnumber)>0) { DeletePendingOrders(Magicnumber); CloseOrders(Magicnumber); } if(Hour()==0 && Minute()>5 && MyOrdersTotal(Magicnumber)==0) { double DayClose=iClose(Symbol(),PERIOD_D1,1); double BuyPrice=DayClose+Step*Point; double BuyTP=BuyPrice+Takeprofit*Point; double BuySL=BuyPrice-Stoploss*Point; double SellPrice=DayClose-Step*Point; double SellTP=SellPrice-Takeprofit*Point; double SellSL=SellPrice+Stoploss*Point; OrderSend(Symbol(),OP_BUYSTOP,Lots,BuyPrice,3,BuySL,BuyTP,"",Magicnumber,0,Green); OrderSend(Symbol(),OP_SELLSTOP,Lots,SellPrice,3,SellSL,SellTP,"",Magicnumber,0,Green); } return(0); } int MyOrdersTotal(int Magic) { int c=0; int total = OrdersTotal(); for (int cnt = 0 ; cnt < total ; cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()) { c++; } } return(c); } int DeletePendingOrders(int Magic) { int total = OrdersTotal()-1; for (int cnt = total ; cnt > 0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY || OrderType()!=OP_SELL)) { OrderDelete(OrderTicket()); } } return(0); } int CloseOrders(int Magic) { int total = OrdersTotal()-1; for (int cnt = total ; cnt > 0 ; cnt--) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()) { if (OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,3); } if (OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Ask,3); } } } return(0); }
جزاك الله ألف خير يا اخي الكريم
من خلال هذا الكود الذي يسير ضمن الاستيراتجية التالية
1) الساعة 12:15 بتوقيت جرينتش نأخذ سعر اغلاق اخر شمعة (15 دقيقة) للكيبل وهو GBPUSD ولنفرض ان سعر الاغلاق هو 1.5260
2 ، 3) يتم وضع امر معلق BUYSTOP فوق سعر الاغلاق السابق بـ 50 نقطة
يعني عند السعر 1.5310 والهدف 20 نقطة يعني عند 1.5330 والوقف 20 نقطة يعني عند 1.5290
و يتم وضع امر معلق آخر SELLSTOP تحت سعر الاغلاق السابق بـ 50 نقطة
يعني عند السعر 1.5210 والهدف 20 نقطة يعني عند 1.5190 والوقف 20 نقطة يعني عند 1.5230
4) عند تفعل أي أمر يُلغى الآخر
يعني يجب وضع أمرين ولكن يتم تنفيذ أمر واحد فقط
وإذا كان هذا الكلام صحيح هنا إذا يبدأ عمل المتغير c
سؤال آخر يعطيك العافية :
بالنسبة لسير الكود بعد الدالة mytotalsorder التي قمنا نحن بصنعها
ما هي الدالة التي ستعمل هل هي ordersend وإن كانت كذلك لماذا ؟
أثابك ربي ورزقك من أسوع أبوابه أينما كنت
- 14-04-2010, 10:10 PM #4
رد: أحتاج مساعدة بليز في فهم هذا الكود
سيبدأ عمل المتغير c ويأخذ قيمة عدد الصفقات بمجرد وضع الأوامر المعلقة لأني كما أخبرت في المشاركة السابقه أن OrdersTotal تعود بجميع الصفقات المفعله وكذلك الصفقات المعلقه
لكن إذا أردت حساب فقط الصفقات المفعله ماركت وليست الصفقات المعلقه ضعي شرط آخر هو
كود PHP:OrderType()<=1
كود PHP:OrderType()==OP_SELL||OrderType()==OP_BUY
بالنسبة للداله
كود PHP:MyOrdersTotal()
ثم تأتي الدالة التي تليها في الكود سواء كانت OrderSend أو غيرها وهكذا تأتي الأوامر تباعا
- 15-04-2010, 07:37 AM #5
رد: أحتاج مساعدة بليز في فهم هذا الكود
السلام عليكم
شكرا كثيرا اخي الكريم
أثابك الله وجعل ما قدمته في ميزان حسناتك
وضعت الاكسبرت على الشارت وعند الساعة 12
لم يحدث شي لم يفتح اي صفقة
ظل ساكنا ما المشكلة برأيك
- 16-04-2010, 10:59 PM #6
رد: أحتاج مساعدة بليز في فهم هذا الكود
UP
- 17-04-2010, 01:49 PM #7
المواضيع المتشابهه
-
مطلوب مساعدة في هذا الكود
By t4fast in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 3آخر مشاركة: 20-03-2010, 04:36 PM -
محتاج تصحيح لهدا الكود
By atalj in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 7آخر مشاركة: 28-07-2008, 06:03 PM -
كيف أتعامل مع التوصيات متعددة الأهداف ..
By شذى in forum استفسارات وأسئلة المبتدئينمشاركات: 5آخر مشاركة: 09-04-2008, 09:05 AM -
عاااجل / مساعدة بليز
By شمريه وافتخر in forum استراحة اعضاء المتداول العربيمشاركات: 2آخر مشاركة: 21-11-2007, 07:45 AM -
انا محتاج مساعدة
By Atto in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 7آخر مشاركة: 16-01-2007, 03:04 PM