النتائج 3,706 إلى 3,720 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 27-04-2013, 11:33 PM #3706
رد:موضوع مخصص للأسئلة البرمجية
شكرا استاذ أسامه لم أفهم هذه الجمله عذرا .. و قمت بعمل التعديلات و لكن ايضا أحيانا يهمل الإكسبيرت فتح أحد الأوامر المعلقة ولا يتم إغلاق جميع الصفقات سويا .. رجاء الإطلاع و جزاك الله خيرا .
try.mq4
- 27-04-2013, 11:37 PM #3707شكرا استاذ أسامه لم أفهم هذه الجمله عذرا .. و قمت بعمل التعديلات و لكن ايضا أحيانا يهمل الإكسبيرت فتح أحد الأوامر المعلقة ولا يتم إغلاق جميع الصفقات سويا .. رجاء الإطلاع و جزاك الله خيرا .
try.mq4
- 28-04-2013, 02:37 AM #3708
- 28-04-2013, 06:05 PM #3709
- 29-04-2013, 10:25 PM #3710
رد:موضوع مخصص للأسئلة البرمجية
عند الإغلاق أنت إستخدمت الحلقه while حتى يستمر في محاوله الإغلاق حتى يغلق جميع الصفقات لكن في نفس الوقت إستخدمت الأمر break لإنهاء الحلقه مباشرة فكأنك لم تفعل شيء
إحذف الأمر break أو يمكنك وضع شرط في حال قام بعمل 10 محاولات وما زالت الصفقات مفتوحه ينفذ الأمر بريك
مثال
كود PHP:int Tried;
while (firstclosed()=="lost" || firstclosed()=="profit" && orderscnt(OP_BUY)+orderscnt(OP_SELL)>1 )
{
CloseOrders();
Tried++;
if(Tried>=20)break ;
}
مرفق الإكسبرت بعد التعديل
- 29-04-2013, 10:30 PM #3711
رد:موضوع مخصص للأسئلة البرمجية
الخطأ لديك في أنك وضعت الشرط عند البيع
كود PHP:&&orderscnt(OP_SELL)==0
كود PHP:&&orderscnt(OP_BUY)==0
بالتالي أنت لا تحتاج إلى هذا الشرط أساسا ويكفي شرط نوع آخر صفقه
- 29-04-2013, 10:58 PM #3712
السلام عليكم ورحمه الله
تحية طيبة للجميع
اخي اسامة
اكسبيرت التخرج يعمل مع بعض البروكر ولا يعمل مع البعض لا ادري ما السبب حتى ان بعض البروكر يعمل في الباك تيست ولا يعمل ديمو مع انة لا يعطي اي اخطاء ارجوا ان تذكر لى بعض الاسباب التى تسبب هذه المشاكل من خلال خبرتك وتجاربك حتى احاول اصلاحها والبحث فيها حتى اني استخدمت كود خارجي للتجربة ولم يعمل عليها
وجزاك الله كل خير
مع تمنياتي للجميع بالتوفيق
لاتنساني من دعائك
- 29-04-2013, 11:21 PM #3713
رد:موضوع مخصص للأسئلة البرمجية
شكرا جزيلا أستاذي .. أنا فعلا ألاحظ أن عدم وضع أمر معلق أحيانا يكون بعد الوصول لمضاعفات كبيره .
ولاحظت من مراقبة أسعار الدخول في نتائج الباك تيست أن أحيانا يكون الهدف والإستوب مختلفين من صفقه لأخرى في حدود نقطتان لذلك لا يكون إغلاق جميع الصفقات مع بعض و لكن كل صفقتين متتاليتين يغلقو في نفس التوقيت و ليس جميعهم سويا وحاولت حعل الهدف و الإستوب للصفقات الأمر المعلق هي هدف واستوب أول صفقه ربما يكون حلا لكن يعطي أخطاء ..
قمت بعمل دالتين ليعودا بستوب لوس و هدف آخر صفقه بالنوع و اللوت :
كود PHP:double last_sl(int type , double lot)
{
double last_sl ;
for(int i=OrdersTotal();i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&& type==OrderType()&& lot==OrderLots() )
{
last_sl=OrderStopLoss();
}
}
return(last_sl);
}
////
double last_tp(int type , double lot)
{
double last_tp ;
for(int i=OrdersTotal();i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&& type==OrderType()&& lot==OrderLots() )
{
last_tp=OrderTakeProfit();
}
}
return(last_tp);
}
كود PHP:
if(orderscnt(OP_BUY)>=1 && PendingOrders(OP_SELLSTOP)+PendingOrders(OP_BUYSTOP)==0 && last_type==OP_BUY )
{
// TP=s-(TakeProfit*point);
// SL=s+(StopLoss*point);
if(UseSLTP) TP=last_sl(OP_BUY,Lot1) ;
if(UseSLTP) SL=last_tp(OP_BUY,Lot1)+spr ;
OrderSend(Symbol(),OP_SELLSTOP,new(),s,3*Q,SL,TP,"dentist_hussein EA",MagicNumber,0,Red);
}
////////////////////////
if(orderscnt(OP_SELL)>=1 && PendingOrders(OP_BUYSTOP)+PendingOrders(OP_SELLSTOP)==0 && last_type==OP_SELL )
{
// TP=b+(TakeProfit*point);
// SL=b-(StopLoss*point);
if(UseSLTP) TP=last_sl(OP_SELL,Lot1) ;
if(UseSLTP) SL=last_tp(OP_SELL,Lot1)-spr ;
OrderSend(Symbol(),OP_BUYSTOP,new(),b,3*Q,SL,TP,"dentist_hussein EA",MagicNumber,0,Blue);
}
و أعتقد أن دالة إغلاق الصفقات لا تعمل لأن الصفقات جميعها تغلق على الستوب أو الهدف في لاباك تيست و لم يغلقها الإكسبيرت بنفسه .. هل ممكن السبب لأني أضفت إليها الحلقة بريك :
كود PHP:void CloseOrders()
{
for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
while (OrderType()==OP_BUY && orderscnt(OP_BUY)>0 ){
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,digits),3*Q);
if (orderscnt(OP_BUY)==0 )break;
}
while(OrderType()==OP_SELL && orderscnt(OP_SELL)>0 ){
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,digits),3*Q);
if (orderscnt(OP_SELL)==0 )break;
}
}
}
}
try.mq4
وجزاك الله كل خير .
- 30-04-2013, 08:16 AM #3714
رد:موضوع مخصص للأسئلة البرمجية
- 30-04-2013, 09:50 AM #3715
- 30-04-2013, 12:57 PM #3716
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم استاذى الكريم
وكل عام وانت بخير
استاذى سؤال صعب على تلميذك
هو كيف يتم رابط الاكسبيرت بموقع اخبار : forexfactory
حتى يتم عمل اكسبيرت اخبار
هو لازم يكون فى ملف DLL
او ممكن عادى رابط الاكسبيرت بموقع الاخبار
وجزاك الله خيرا وزادك الله من علمه الذى لاينفذ
- 30-04-2013, 10:14 PM #3717
رد:موضوع مخصص للأسئلة البرمجية
وعليكم السلام ورحمة الله وبركاته
أول ملاحظه هي هل البروكر من نوع ECN أو لا
بروكر ECN لا يقبل فتح الصفقه مع وضع هدف أو ستوب لها بل يجب فتح الصفقه وجعل الهدف والأستوي يساوي صفر ثم بعد فتحها تقوم بعمل مودفاي للأمر ووضع الهدف والأستوب الذي تريده
ثانيا إذا كان الأمر معلق فهل يقبل البروكر وضع الأمر المعلق عند هذه المسافه بعد البروكرات مثلا تقبل وضع الأمر المعلق على مسافه 5 نقاط من السعر الحالي وبعض البروكرات يجب أن يكون الأمر المعلق على بعد مثلا 20 نقطه على الأقل عن السعر الحالي
ثالثا الهدف والأستوب لوز بعض البروكرات تسمح بوضع حتى حتى 4 أو 5 نقاط بعض البروكرات لا تقبل أقل من 10 نقاط مثلا
رابعا السليبج أو إعادة التسعير تأكد إذا كان البروكر 5 أرقام أن تجعل إعادة التسعير مثلا بدل من 3 تجعلها 30
بعض البروكرات لا تقبل تشغيل الإكسبرتات أساسا على الديمو ويجب أن تراسلهم حتى تسمح لك بتشغيل الإكسبرت
أخيرا وفقك الله
- 30-04-2013, 10:36 PM #3718
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم ورحمه الله
تحية طيبة للجميع
اخي اسامة
جزاك الله كل خير
معلومات مفيدة سوف استفيد منها عند كتابة الاكواد
هل ممكن رابط الاكسبيرت الذكي الذي صنعتة للبحث عن افضل اعدادات للموشر
وهل ممكن قلب موشر الحد الاسفل والاعلى للبلنجرباند وما هو الامر المستخدم حاولت ولم اصل الى نتيجة
مع تمنياتي للجميع بالتوفيق
لاتنساني من دعائك
- 01-05-2013, 02:29 AM #3719
رد:موضوع مخصص للأسئلة البرمجية
أستاذي الفاضل ، هذه الدالة لتعديل العقود المفتوحة بالكامل لكن ماهي الأضافة الذي يجب أن تضاف بداخل الدالة لتعديل عقود فتحت اليوم فقط ودون أن تعدل عقود موجودة من الأيام السابقة ؟؟؟
كود PHP:void ModifyNewTP(int type)
{
for (int cnt = OrdersTotal() ; cnt >=0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol() &&OrderType()==type)
{
if(OrderTakeProfit()!=GetFirstOrderPrice(type))
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),GetFirstOrderPrice(type),0);
}
}
}
double GetFirstOrderPrice(int type)
{
for (int i=0;i<=OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol() && OrderType()==type)
{
return(OrderOpenPrice());
}
}
return(0);
}
- 01-05-2013, 04:43 AM #3720
رد:موضوع مخصص للأسئلة البرمجية
يمكنك تعديلها بالشكل ده
كود PHP:void ModifyNewTP(int type)
{
for (int cnt = OrdersTotal() ; cnt >=0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol() &&OrderType()==type && OrderOpenTime()>=iTime(Symbol(),PERIOD_D1,0))
{
if(OrderTakeProfit()!=GetFirstOrderPrice(type))
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),GetFirstOrderPrice(type),0);
}
}
}
بس حاول تجربها الاول لإني بعيد عن البرمجة من فترة وحاسس إن المعلومات كلها ساحت
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM