النتائج 4,831 إلى 4,845 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 01-02-2014, 11:24 PM #4831
- 02-02-2014, 01:41 AM #4832
الله يعطيك العافية ، مجهود يثنى عليه
بقي لي سؤالين أخرين لإكتمال الاكسبيرت وبشروط قمت بوضعها للدخول
1- كيف أضع كود لدخول الأب في حالة البيع بمجيك نمبر 111 وفق شروط الدخول التي وضعتها
2- واذا أرتفع السعرعند كل 30 نقطة عن نقطة دخول الأب كيف أقوم بوضع أوردر بيع للأبناء بمجيك نمبر 222 ، والعكس في الشراء.
هل هناك مثال لاكسبيرت كامل يحوي طلبي من ناحية الخروج والدخول معاً ، ودوري أقوم بتغير شروط الدخول والخروج ..
تحياتي لكم ..
- 02-02-2014, 04:32 AM #4833
بالنسبه للسؤال الأول فهي دالة وضع الأوامر فقط
كود PHP:if(condition)
{
OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",111,0,Red);
}
كود PHP:double LastOrderPrice(int type)
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111||OrderMagicNumber()==222)
{
return(OrderOpenPrice());
}
}
return(0);
}
كود PHP:if(Bid-LastOrderPrice(OP_SELL)>=30*Point)
{
OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",222,0,Red);
}
- 02-02-2014, 06:11 AM #4834
#Logy_EA.mq4
الله يعطيك العافية ، شرح رائع يا أخي
أضفت جميع الأكواد المراد الحصول عليها، وإلى الأن لم أضع شرط الخروج ويظهر لي خطأ وهو :
1;41;C:\Program Files\JJJ\experts\#Logy_EA_.mq4;167:4;'IsFatherClo sed' - expression on global scope not allowed
2;99;C:\Program Files\JJJ\experts\#Logy_EA_.mq4;170:1;'}' - semicolon expected
علماً بأني حاولت بكتابة كود الخروج للأب في حالة البيع والشراء ولم أوفق وتظهر لي أخطاء مختلفة عن الخطأ السابق.
أريد وضع شرط الخروج للأب وهذا شرط خروجي :
if(SC_B<5000)OrderClose(OP_BUY);
if(SC_S<5000)OrderClose(OP_SELL);
وهنا ملف الاكسبيرت بدون وضع شرط الخروج
تحياتي لك ...
#Logy_EA.mq4
كود://+------------------------------------------------------------------+ //| | //| | //| www.arabictrader.com/vb | //| | //| | //+------------------------------------------------------------------+ #property copyright "" #property link "" extern int MaxTrades = 100; extern double Lots = 1; extern int StopLoss=0; extern int TakeProfit=0; extern int MagicNumber=2533; datetime Time0; double point; int digits; int init() { Time0=Time[0]; if(Digits<4) { point=0.01; digits=2; } else { point=0.0001; digits=4; } return(0); } //+------------------------------------------------------------------+ //| FUNCTION DEFINITIONS deinitialization function | //+------------------------------------------------------------------+ void deinit() { Comment(""); } int orderscnt(){ int cnt=0; for(int i =0;i<OrdersTotal();i++){ if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){ if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){ cnt++; } } } return(cnt); } //+------------------------------------------------------------------+ //| FUNCTION DEFINITIONS Start function | //+------------------------------------------------------------------+ int start() { double buy_aa=iCustom(NULL,0,”PPP",0,1); double sell_aa=iCustom(NULL,0,”PPP",1,1); double buy_bb=iCustom(NULL,0,”NNN",3,1); double sell_bb=iCustom(NULL,0,”NNN",2,1); double SC_B=iCustom(NULL,0,”MMM",0,0); double SC_S=iCustom(NULL,0,"MMM",1,0); double SL,TP; if (buy_bb<5000&&buy_aa>sell_aa&&Time0!=Time[0]){ if(orderscnt()<MaxTrades){ if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*Point;} if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*Point;} OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",111,0,Blue); if(Bid-LastOrderPrice(OP_SELL)<=30*Point) { OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",222,0,Red); } PlaySound("Alert.wav"); Time0=Time[0]; } } if (sell_bb<5000&&sell_aa>buy_aa&&Time0!=Time[0]){ if(orderscnt()<MaxTrades){ if(StopLoss==0){SL=0;}else{SL=Bid+StopLoss*Point;} if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*Point;} OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",111,0,Red); if(Bid-LastOrderPrice(OP_SELL)>=30*Point) { OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",222,0,Red); } PlaySound("Alert.wav"); Time0=Time[0]; } } } double LastOrderPrice(int type) { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111||OrderMagicNumber()==222) { return(OrderOpenPrice()); } } return(0); } bool IsFatherClosed() { for(int i=0;i<OrdersTotal();i++) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111) { return(false); } } return(true); } void CloseOrder(int Magic) { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic) { if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,3); if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3); } } } if(IsFatherClosed()) { CloseOrder(222) } //+---------------------------------------------------------------------------------+
آخر تعديل بواسطة fbif ، 02-02-2014 الساعة 06:21 AM
- 02-02-2014, 08:05 PM #4835
لديك خطأ في الدالة iCustom
كود PHP:double buy_aa=iCustom(NULL,0,”PPP",0,1);
الصحيح
كود PHP:double buy_aa=iCustom(NULL,0,"PPP",0,1);
كود PHP:if(IsFatherClosed())
{
CloseOrder(222)
}
راجع كود الإكسبرت وإكتبه بشكل صحيح
- 02-02-2014, 10:57 PM #4836
الله يعطيك العافية ، مجهود رائع
إلى الأن لم أستطع وضع الأكواد في الاكسبيرت بطريقة صحيحة ، وعند وضع بعض الأكواد التالية تظهر لي أخطاء كثيرة
أريد وضع لمساتك في الاكسبيرت لوضع الأكواد بطريقة صحيحة.
الاكسبيرت:
كود://+------------------------------------------------------------------+ //| | //| | //| www.arabictrader.com/vb | //| | //| | //+------------------------------------------------------------------+ #property copyright "" #property link "" extern int MaxTrades = 100; extern double Lots = 1; extern int StopLoss=0; extern int TakeProfit=0; extern int MagicNumber=2533; datetime Time0; double point; int digits; int init() { Time0=Time[0]; if(Digits<4) { point=0.01; digits=2; } else { point=0.0001; digits=4; } return(0); } //+------------------------------------------------------------------+ //| FUNCTION DEFINITIONS deinitialization function | //+------------------------------------------------------------------+ void deinit() { Comment(""); } int orderscnt(){ int cnt=0; for(int i =0;i<OrdersTotal();i++){ if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){ if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){ cnt++; } } } return(cnt); } //+------------------------------------------------------------------+ //| FUNCTION DEFINITIONS Start function | //+------------------------------------------------------------------+ int start() { double buy_aa=iCustom(NULL,0,"PPP",0,1); double sell_aa=iCustom(NULL,0,"PPP",1,1); double buy_bb=iCustom(NULL,0,"NNN",3,1); double sell_bb=iCustom(NULL,0,"NNN",2,1); double SC_B=iCustom(NULL,0,"MMM",0,0); double SC_S=iCustom(NULL,0,"MMM",1,0); double SL,TP; if (buy_bb<5000&&buy_aa>sell_aa&&Time0!=Time[0]){ if(orderscnt()<MaxTrades){ if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*Point;} if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*Point;} OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",111,0,Blue); if(Bid-LastOrderPrice(OP_SELL)<=30*Point) { OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",222,0,Red); } PlaySound("Alert.wav"); Time0=Time[0]; } } if (sell_bb<5000&&sell_aa>buy_aa&&Time0!=Time[0]){ if(orderscnt()<MaxTrades){ if(StopLoss==0){SL=0;}else{SL=Bid+StopLoss*Point;} if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*Point;} OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",111,0,Red); if(Bid-LastOrderPrice(OP_SELL)>=30*Point) { OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",222,0,Red); } PlaySound("Alert.wav"); Time0=Time[0]; } } } double LastOrderPrice(int type) { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111||OrderMagicNumber()==222) { return(OrderOpenPrice()); } } return(0); } bool IsFatherClosed() { for(int i=0;i<OrdersTotal();i++) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111) { return(false); } } return(true); } void CloseOrder(int Magic) { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic) { if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,3); if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3); } } } //+---------------------------------------------------------------------------------+
أريد وضع الأكواد التالية في الاكسبيرت بصورة صحيحة مع عدم وجود أي أخطاء
كود:void CloseAll(){ for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if (OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderProfit()>0) { if (OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Ask,3*Q); } if(OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,3*Q); } } } }
كود:bool IsFatherClosed(){ for(int i=0;i<OrdersTotal();i++) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111) { return(false); } } return(true); }
كود:void CloseOrder(int Magic){ for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic) { if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,3); if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3); } } }
كود:if(IsFatherClosed()){ CloseOrder(222) }
كود:double LastOrderPrice(int type){ for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==111||OrderMagicNumber()==222) { return(OrderOpenPrice()); } } return(0); }
وهنا توجد ملاحظة لكود التالي ، وهي يكون الكود هذا في وضع البيع فقط ؟ اذا كان كذلك فأحتاج إلى كود الشراء
كود:if(Bid-LastOrderPrice(OP_SELL)>=30*Point) { OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3,SL,TP,"EA",222,0,Red); }
تحياتي لك .....
- 03-02-2014, 01:54 AM #4837
- 04-02-2014, 02:49 AM #4838
السلام عليكم ورحمة الله وبركاته
هل توجد نسخة مفتوحة لمؤشر الوافى
ولكن لهذه النسخة حيث ان هناك نسخة اقدم منها
الملف فى المرفقات
وجزاكم الله خيرا
https://forum.arabictrader.com/newat...anager&values=[t]=37612&contenttypeid=1&poststarttime=1391471034&po sthash=f3aba307d84b65e0ccc701fcbe1f296d&insertinli ne=1
- 04-02-2014, 02:49 AM #4839
السلام عليكم
ارجو المساعدة
ماهو العمل وكيف تكون البرمجة على هذا البرنامج
كما موضح من الصورة
ارجو المساعدة وشكرا
- 04-02-2014, 03:25 AM #4840
اخي العزيز ماستر دولار لقد حاولت استخراج القيم ب comment من الداله icustom ولكني لم انجح في ان الاحظ شيئا مميز مجرد ارقام للاعلي وللادني للشموع
فمثلا مؤشر هيكن اشي اريد ان اعرف عندما تتحول الشموع للون الاحمر او الازرق فلتكن مثلا function وظيفتها عندما يتحول للازرق تجعل المتغير direction=1
واذا احمر تجعل المتغير direction=2 والاهم من كل شئ هو ليس كيف كتبت الfunction ولكن هو كيف استطعت ان تستخرج القيم المميزه التي تتاكد انها ستظهر في الحاله 1 او 2 من المؤشر نفسه
- 04-02-2014, 03:42 PM #4841
- 04-02-2014, 03:52 PM #4842
وعليكم السلام ورحمة الله وبركاته
هل قرأت هذا الموضوع
https://forum.arabictrader.com/t189304.html
الإختلاف ليس كبير وسوف أشرحه بالتفصيل بإذن الله
- 04-02-2014, 04:01 PM #4843
- 04-02-2014, 04:09 PM #4844
wafi_area.v1.2.mq4
لك جزيل الشكر أستاذ أسامة
لقد وجدت المؤشر
وهذه نسخة مفتوحة فى المرفقات
بارك الله فيك
https://forum.arabictrader.com/newat...anager&values=[t]=37612&contenttypeid=1&poststarttime=1391519050&po sthash=82aea8e0368b8617fcc2733089e29b45&insertinli ne=1
- 04-02-2014, 04:25 PM #4845
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM