النتائج 4,246 إلى 4,260 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 21-08-2013, 04:18 PM #4246
رد:موضوع مخصص للأسئلة البرمجية
وعليكم السلام ورحمة الله أهلا اخي سمير .
في البداية ملاحظة على الدالة الذي ارفقتها انت مش محتاجكود PHP:OrderType()<=1
حسب مافهمت من كلامك ان ماعندك مشكلة في الأغلاق فقط مشكلتك في تصفير الربح الخاص بالزوج ؟؟
اذا الفكرة مختصرة في ان هذا الزوج ، فرضا الدولار ين لديه صفقات مفتوحة وصفقات مغلقة وساتعامل مع هذا الزوج بدالتين على اساس هذه الفكرة وبعيد عن الأزواج الثانية .
الدالة الأولى لأحتساب العقود المفتوحة حاليا على هذا لزوج كالتالي
كود PHP:int TotalOrder(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && OrderMagicNumber() == MagicNo){
cnt++;
}
}
}
return(cnt);
}
وركز على أن مستخدم الأكسبيرت يغير الماجيك على كل شارت .
الدالة الثانية هي احتساب الربح للعقود المغلقة كما رأيتها في الدالة التي انت ارفقتها لكن مع التغيير
كود PHP:double profitxx(){
double c;
for(int i=0;i<OrdersHistoryTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo){
c=c+OrderProfit();
if(TotalOrder()==0) c=0;
}
}
return(c);
}
كود PHP:if(TotalOrder()==0) c=0;
وحياك الله اخي سمير .آخر تعديل بواسطة Jmeel ، 21-08-2013 الساعة 04:21 PM
- 21-08-2013, 07:24 PM #4247
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم اخى الكريم
وشكرا على المساعدة الكريمة من شخصك الكريم
تم العمل كما قلت
بس بعد اغلاق الصفقات وفتح صفقات اخرى على نفس الشارت بطريقة يدوية فقط
تجد الاكسبيرت يعمل اغلاق الصفقات الموجوده
كما مبين الاكسبيرت فى المرفقات
طريقة العمل
يتم فتح صفقات يدوى على اى شارت
بعد كده يتم وضع الاكسبيرت على هذا الشارت
عند اغلاق اى صفقة من هذه الصفقات على ربح او خسارة يتم اغلاق كل الصفقات الموجوده على هذا الشارت فقط
وعند فتح صفقات بطريقة يدوية على نفس الشارت لا يقوم الاكسبيرت باغلاق هذه الصفقات
حتى تكون فى صفقة خاسرة او رابحة
هذه هى الطريقة المطلوب العمل بيه
وشكرا على المساعدة الكريمة
- 21-08-2013, 08:21 PM #4248
رد:موضوع مخصص للأسئلة البرمجية
اخي سمير انت ذكرت ان مشكلتك في تصفير عداد الربح فقط وانا فعلا كنت مستغرب وكررت لك السؤال . والسبب ان هذا الشرط غير مقبول لأنه سيغلق اي صفقة حال فتحها .
كود PHP:if(Profit()>0||Profit()<0){CloseDeleteAll();}
جرب تعدل هذا الشرط وحيشتغل كما تريد .
- 21-08-2013, 10:27 PM #4249
- 22-08-2013, 07:19 AM #4250
- 22-08-2013, 07:23 AM #4251
- 22-08-2013, 10:52 AM #4252
رد:موضوع مخصص للأسئلة البرمجية
اهلا دكتور ، تفضل اجابة مؤقته ، نحتاج الى ثلاث اشياء اولا سعر افتتاح الصفقة الأخيرة ثانيا السعر الحالي ثالثا متغير نضع فيه عدد النقاط الفاصلة بين السعر الحالي وسعر آخر صفقة مفتوحة
هذه الدالة لتعود بسعر آخر صفقة لازالت مفتوحة وطبعا حسب نوعها .
كود PHP:double LastOrderOpenPrice(int type){
for(int i=OrdersTotal()-1; i>=0; i--){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo&&OrderType()==type){
return(OrderOpenPrice());
}
}
return(0);
}
كود PHP:extern int LastOrderDef =40;
كود PHP:if(Close[0]-LastOrderOpenPrice(OP_SELL)>LastOrderDef *Point) { //DoSell();}
- 22-08-2013, 03:02 PM #4253
رد:موضوع مخصص للأسئلة البرمجية
- 22-08-2013, 03:14 PM #4254
رد:موضوع مخصص للأسئلة البرمجية
أستاذ جميل جزاك الله خيرا على المساعدة
بالنسبة للدالة قمت بتجربتها ولاحظت أنه مثلا إذا حصلت خسارة ثم تحقق نسبة الربح يتم الاغلاق وهذا ما لا أريده
أريد دالة تعمل حسب المثال التالي للتوضيح
لدينا رأس مال 1000 دولار ثم حددنا الربح 20% أو 200 دولار
إذن عند تحقق أول ربح 200 دولار أي البالنس أصبح 1200 دولار يتم الاغلاق وتغيير الماجيك نمبر
عند تحقق البالنس 1400 دولار يتم الاغلاق وتغيير الماجيك نمبر
عند تحقق البالنس 1600 دولار يتم الاغلاق وتغيير الماجيك نمبر
وإذا مثلا انخفض البالنس إلى 800 دولار ينتظر الاكسبيرت تحقق البالنس 1800 دولار ويتم الاغلاق وتغيير الماجيك نمبر ...
وهكذا...
يمكن عمل دالة تحديد البالنس وإضافة دالة إيقاف عمل الاكسبيرت ثم أتدخل يدويا في تغيير الماجيك نمبر والبالنس
لكن أريد عمل باكتيست للطريقة!!! هذا هو الهدف الأساسي
بانتظارك وبارك الله فيكآخر تعديل بواسطة kira-h ، 22-08-2013 الساعة 03:19 PM
- 23-08-2013, 05:41 AM #4255
رد:موضوع مخصص للأسئلة البرمجية
جزاك الله خيرا أخي جميل و لو تسمح أخي توضحلى قصدك بموقع الخطوط من السعر اللحظي أكون شاكر .
أنا مثلا إذا اردت أن يكون السعر أسفل خط مقاومه و متجه من أسفل لأعلى أضع ف الشروط أن يكون
Open[0] أقل من الخط ثم إذا كان السعر Close[0] أكبر من أو يساوي خط المقاومه يتم فتح بيع ..
- 23-08-2013, 01:26 PM #4256
- 23-08-2013, 01:38 PM #4257
اهلين اخي سمير لاحظت في النسخة المرفقة من طرفك شرط اذا كان السعر اقل من 0 او اكبر من 0 وهذا شرط تلقائي ولاداعي لوجوده فهو مثل عدم وجودة ، ملاحظة اخرى لابد من اضافة رقم ماجيك 0 لتمييز الصفقات اليدوية حتى اذا استخدمت اكسبيرت على نفس الشارت لايكون هنك خلط مع الصفقات اليدوي وبالتالي اذا اغلقت عقد يدوي لا يغلق كل العقود بما فيها عقود الأكسبيرت ، ملاحظة اضافية كذلك الشرط الذي جعلته في الأكسبيرت هو زمن الدقيقة وهذا غير مناسب اذا اغلقت عقود مثلا فلن تستطيع فتح عقود خلال نفس الدقيقة لأنه سيغلقها تلقائيا ، والأفضل للمقارنة هو اما توقيت فتح الصفقة مع توقيت الصفقة المغلقة أو برقم Ticket لأن كل صفقة متأخرة سيكون لها تكت اكبر من التي قبلها ومشكلة التكت انه سيفرض عليك اغلاق آخر تكت .
- 23-08-2013, 08:48 PM #4258
- 23-08-2013, 09:35 PM #4259
رد:موضوع مخصص للأسئلة البرمجية
توجد رساله خطأ تظهر عند فتح اى ملف بأمتداد mql4 لا اعرف السبب ولا استطيع فتح اى ملف وقراءته بسبب ذلك الخطأ كما فى الصوره
- 24-08-2013, 12:17 AM #4260
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM