النتائج 6,286 إلى 6,300 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 20-02-2015, 03:56 PM #6286
وعليكم السلام ورحمة الله وبركاته
نعم كما شرح لك الأخ Kira-h سوف تبدأ في البحث عن الصفقات التي حددتها وتحدد الربح و الخساره لها وتحدد الفرق بين الهدف والأستوب الموجود للصفقه وبين سعر إغلاقها
لديك في البدايه بعض الأخطاء في عمل الدوال
أولا أنت تريد البحث في جميع الصفقات التي أغلقت يوم الجمعه بعد الساعه 19 ولم تغلق على الهدف أو الأستوب لوز لكن أغلقت يدويا فلا تحتاج لعمل دوال منفصله لتحديد آخر نوع صفقه وآخر حجم لوت للصفقه
لأنه من الممكن أن يكون أغلقت ثلاث صفقات وليس صفقه واحده بالتالي أنت ستحدد آخر صفقه فقط
مثال
كود PHP:void RepeatFridayClosedOrders()
{
double TP,SL;
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
datetime ClosedTime=OrderCloseTime();
int type=OrderType();
double lots=OrderLots();
double OrderP=OrderProfit();
double OrderO=OrderOpenPrice();
double OrderC=OrderClosePrice();
double OrderSL=OrderStopLoss();
double OrderTP=OrderTakeProfit();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&type<=OP_SELL)
{
if(TimeHour(ClosedTime)>=19&&TimeDay(ClosedTime)==5)
{
if(OrderC!=OrderSL&&OrderC!=OrderTP)
{
if(type==OP_BUY)
{
TP=Ask+(OrderTP-OrderO)+MathMin(0,(OrderO-OrderC));
SL=Ask-(OrderO-OrderSL)-MathMax(0,(OrderO-OrderC));
OrderSend(Symbol(),OP_BUY,lots,NormalizeDouble(Ask,Digits),3,SL,TP,"EA",MagicNumber,0,Blue);
}
else if(type==OP_SELL)
{
TP=Bid-(OrderO-OrderTP)+MathMax(0,(OrderO-OrderC));
SL=Bid+(OrderSL-OrderO)-MathMin(0,(OrderO-OrderC));
OrderSend(Symbol(),OP_SELL,lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",MagicNumber,0,Red);
}
}
}
else
{
break;
}
}
}
}
كود PHP:static datetime time;
if(DayOfWeek()==1&&time!=iTime(Symbol(),1440,0))
{
RepeatFridayClosedOrders();
time=iTime(Symbol(),1440,0);
}
آخر تعديل بواسطة MR.dollar ، 20-02-2015 الساعة 03:59 PM
- 20-02-2015, 04:50 PM #6287
بارك الله فيكم
جاري التجربة
تحياتي وتقديري
- 20-02-2015, 07:37 PM #6288
حاولت بشتى الأكواد بمختلف الاحتمالات ولم يستطع الاكسبيرت أن يفتح الصفقة على الباكتيست
أيضا جربت شرط الدخول أن يكون عند الساعة 1 يوم الاثنين ولم يعمل
كود:if(DayOfWeek()==1&&Hour()==1) { RepeatFridayClosedOrders(); }
- 23-02-2015, 04:11 PM #6289
السلام عليكم ورحمة الله وبركاتة
اساتذتي المبرمجين
لدي اسكربت لاظهار ال stop level لزوج العملات
عند تشغبل الاسكربت على زوج معين مثلا يعطي stop level = 20
وعند تشغيل اكسبيرت خدمي على نفس الزوج يستطيع الاكسبيرت وضع استوب لوس = 10 نقاط
السؤال : كيف يستطيع هذا الاكسبيرت وضع استوب لوز 10 نقاط بالرغم من ان stop level المنصة 20 نقطة
الرجاء التوضيح
بارك الله فيكم جميعا ولا يحرمنا من علمكم
- 24-02-2015, 01:50 AM #6290
- 24-02-2015, 01:53 AM #6291
وعليكم السلام ورحمة الله وبركاته
هل تقصد أن الإكسبرت يقوم بعمل مودفاي للأمر وجعل الأستوب 10 نقاط ؟ أم تقصد يكون الأستوب مخفي ويغلق الصفقه عند الوصول إلى الأستوب
إذا كنت تقصد يقوم بعمل مودفاي للأمر ووضع الأستوب 10 نقاط فقط يكون البروكر وضع شروط مختلفه للاستوب إذا كان يدوي أو كان بواسطة إكسبرت
- 24-02-2015, 07:56 AM #6292
استاذي مستر دولار
الإكسبرت يقوم بعمل مودفاي للأمر وجعل الأستوب 10 نقاط للصفقات التي بدون استوب
والذى افهمه من اجابتك استاذي مستر دولار
ان شروط وضع الاستوب اليدوي تختلف عن شروط وضع الاستوب بواسطة الاكسبيرت
او يكون stop level = 20 عند ارسال الامر فقط
وبعد ذلك يسمح البروكر بعمل مودفاي للامر بالاستوب الذي تريده
- 24-02-2015, 09:41 AM #6293
- 24-02-2015, 12:40 PM #6294
بارك الله فيك استاذي جميل واستاذي مستر دولار
الاسكربت الذي كنت استعمله اعطاني stop level = 20
بينما المؤشر الذي ارفقه استاذي جميل اعطاني stop level = 2
الان اتضحت الرؤيه
بارك الله فيكم جميعا
مرفق الاسكربيت الذي كنت استعمله
- 24-02-2015, 03:28 PM #6295
بارك الله فيكم
وفي مجهوداتكم
تحياتي وتقديري
- 24-02-2015, 11:25 PM #6296
- 25-02-2015, 07:43 AM #6297
السلام عليكم ورحمة الله وبركاتة
قمت بعمل اكسبيرت خدمي لعمل مودفاي للاستوب لوس
عند تشغيل الاكسبيرت يضع استوب 10 نقاط للصفقات المفتوحة
وما اريد عمله هو ان يضع الاكسبيرت 10 نقاط ويضيف لها الاسبريد
يعني اذا كان الاسبريد 3 نقاط يضع الاكسبيرت استوب 13 نقطة
كيف يمكن عمل ذلك
بارك الله فيكم
كود://+------------------------------------------------------------------+ //| Modify_Order_New.mq4 | //| Copyright 2014, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2014, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" #property strict extern int Stop_loss = 10; double A; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- if(Digits==3||Digits==5)A=10; else A=1; //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- Modify_Order(); } //+------------------------------------------------------------------+ void Modify_Order() { for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if (Stop_loss>0 && OrderStopLoss()==0&& OrderSymbol()==Symbol()) { if (OrderType()==OP_BUY) { bool res = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-Stop_loss*A*MarketInfo(OrderSymbol(),MODE_POINT),OrderTakeProfit(),0,CLR_NONE); if(!res) Print("Error in OrderModify. Error code=",GetLastError()); else Print("Order modified successfully."); } if (OrderType()==OP_SELL) { bool res = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+Stop_loss*A*MarketInfo(OrderSymbol(),MODE_POINT),OrderTakeProfit(),0,CLR_NONE); if(!res) Print("Error in OrderModify. Error code=",GetLastError()); else Print("Order modified successfully."); } } } } //--//
- 25-02-2015, 08:00 AM #6298
- 25-02-2015, 01:39 PM #6299
شكرا جزيلا استاذي جميل
- 25-02-2015, 04:41 PM #6300
السلام عليكم
لدي سؤال اخواني كيف يمكنني تصدير اسعار الميتاتريدر لحظيا الي سكربت بحيث تظهر في ملف دي ال ال او اي خيار اخر او نافذة سطح المكتب
يمكنني ان استعمله بعد ذلك بان اجعل برنامج يقراه
جربت اكتب الكود بنفسي مرات عديدة ولكنه يظهر قيمة واحدة فقط وذلك عند اضافته للشارت وليس باستمرار
شكرا لكم
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM