النتائج 5,101 إلى 5,115 من 10293
الموضوع: موضوع مخصص للأسئلة البرمجية
- 23-04-2014, 03:50 PM #5101
يا ريت مساعده فى الاكسبيرت ده
بيدخل صفقه واحده بس مع وجود فرص لكذا عمله
ريسك لم تفعل وبرضو مش عارف ليه
يا ريت مساعده
كود:#property copyright "Karim Mosua Copyright 2014" #property link "[email protected]" #property version "1.00" #property strict extern double Lot=1.0; extern bool UseMM = true; extern int Risk = 50; extern int TakeProfit=0; extern int StopLoss=100; extern int MagicNumber=778; int NextOrderType ; double Buys,Buyt,Sells,Sellt; int P,digits; datetime tim; datetime time0; int t; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- t=1; if(Digits==5||Digits==3||Digits==2){t=10;} //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- Comment("[email protected]" ); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- double Buy_1=iMA(Symbol(),0,5,2,MODE_SMA,PRICE_TYPICAL,1); // double Sell_1=iMA(Symbol(),0,5,2,MODE_SMA,PRICE_TYPICAL,2); double Buy_3=iCustom(Symbol(),0,"Synergy_APB",3,1); double Sell_3=iCustom(Symbol(),0,"Synergy_APB",2,1); double Buy_4=iCustom(Symbol(),0,"TDI Red Green)",4,1); double Sell_4=iCustom(Symbol(),0,"TDI Red Green)",5,1); double Buy_42=iCustom(Symbol(),0,"TDI Red Green)",4,2); double Sell_42=iCustom(Symbol(),0,"TDI Red Green)",5,2); if(Close[1]>Buy_1 &&Buy_42<Sell_42 && Buy_4>Sell_4 && time0!=Time[0] ){ if(OrdersTotal()==0){ if(StopLoss==0)Buys = 0; else Buys = Ask-(StopLoss*Point*t); if(TakeProfit==0)Buyt = 0; else Buyt = Ask+(TakeProfit*Point*t); if(GlobalVariableGet("NextOrderType")!=1) { OrderSend(Symbol(),OP_BUY,Lot,Ask,3*t,Buys,Buyt,"Karim.Mosua",MagicNumber,0,clrBlue); GlobalVariableSet("NextOrderType",1); time0=Time[0]; } } } if(Close[1]<Buy_1 &&Buy_42>Sell_42 && Buy_4<Sell_4 && time0!=Time[0]){ if(OrdersTotal()==0){ if(StopLoss==0)Sells = 0; else Sells = Bid+(StopLoss*Point*t); if(TakeProfit==0)Sellt = 0; else Sellt = Bid-(TakeProfit*Point*t); if(GlobalVariableGet("NextOrderType")!=-1) { OrderSend(Symbol(),OP_SELL,Lot,Bid,3*t,Sells,Sellt,"Karim.Mosua",MagicNumber,0,clrRed); GlobalVariableSet("NextOrderType",-1); time0=Time[0]; } } } } //+------------------------------------------------------------------+ double lots() { double xLot=MathCeil(AccountFreeMargin()*Risk/1000)/100; if(xLot<MarketInfo(Symbol(),MODE_MINLOT)) Lot=MarketInfo(Symbol(),MODE_MINLOT); if(xLot>MarketInfo(Symbol(),MODE_MAXLOT)) Lot=MarketInfo(Symbol(),MODE_MAXLOT); if(UseMM==true)xLot=lots(); return(xLot); }
- 23-04-2014, 11:51 PM #5102
اخي اسامه ما اقصده
هو ان يقوم الاكسبيرت بالمتاجره بمبلغ معين وأن يكرر هذ المبلغ مره اخرى بعد فتره زمنيه محدده
مثال على ذلك لتوضيح الفكره
لنفترض ان المبلغ المعين او رأس المال هو 1000 دولار فالاكسبيرت سوف يبدا بهذا المبلغ عند الباك تيست لمده اسبوع ففي هذه الحاله قد يزيد مبلغ رأس المال في حاله الربح وقد ينقص مبلغ راس المال في حاله الخساره.
مع بدايه الاسبوع الثاني يدخل من جديد بنفس المبلغ المعين وهو 1000 دولار وليس بالمبلغ الناتج من الاسبوع الاول او السابق.
- 24-04-2014, 06:08 AM #5103السلام عليكم ورحمة الله وبركاته
أستاذي الكريم أرجو المساعدة وجزاكم الله خيرا
فضلا أريد دالة تستخرج مجموع آخر عدد الصفقات الخاسرة على التوالي بالهيستوري
مثلا لدينا حسب الترتيب الزمني تصاعديا
صفقة رابحة رقم 1
صفقة خاسرة رقم 2
صفقة رابحة رقم 3
صفقة خاسرة رقم 4
صفقة خاسرة رقم 5
صفقة خاسرة رقم 6
نتيجة المجموع هي = 3 صفقات خاسرة على التوالي
وفضلا وكرما أريد دالة تحسب مجموع عدد الصفقات الاجمالي (الهيستوري + المفعلة)، منذ بداية اليوم الجديد حتى آخر صفقة مفعلة، وكل يوم يبدأ الحساب من جديد
تحية ود وتقديرآخر تعديل بواسطة kira-h ، 24-04-2014 الساعة 06:11 AM
- 24-04-2014, 11:27 AM #5104
السلام عليكم
ارجو المساعده في تحديد الخطا في الكود التالي تعبت وماعرفت وهو اكسبيرت يعتمد على الباربوليك سار بثلاثه اعدادات يفتح شراء عندما يتغير الباربوليك من الاعلى الى الاسفل فيها جميعا في نفس الشمعه
كود://| test multiplier + TopTrend.mq4 | //| Copyright 2011 Cher Amine | //| [email protected] | //+------------------------------------------------------------------+ #property copyright "Copyright 2011 Cher Amine formed by MR.Dollar :D" #property link "[email protected]" extern string S1=" Parabolic Sar Settings"; extern int Sar1TF=0; extern double Sar1Step=0.02; extern double Sar1Maximum=0.2; extern int Sar2TF=0; extern double Sar2Step=0.02; extern double Sar2Maximum=0.2; extern int Sar3TF=0; extern double Sar3Step=0.02; extern double Sar3Maximum=0.2; extern string MM_Parameters = "---------- Money Management"; extern double lots = 0.1; extern int StopLoss=10; extern int TakeProfit=20; extern string PMultiplier ="----------Multiplier Parametre"; extern bool UseMultiplier=false; extern double Lots = 0.1; extern string XMultiplier ="----------X_Multiplier Parametre"; extern bool X_Multiplier=true; extern double Multiplier=2; extern string S5="---------------- Order Management"; extern bool opposit_Signal_Close = True; extern bool UseHourTrade = True; extern int FromHourTrade=7; extern int ToHourTrade=23; extern string comment="---------------- EA Style "; extern int MaxOrders=1; extern int MagicNumber=2533; double newLot; double X_lots; int Q; double point; int digits; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- if(Digits==5||Digits==3)Q=10; else Q=1; if(Digits<4) { point=0.01; digits=2; } else { point=0.0001; digits=4; } //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //**************************************************** MAX ORDERS ***************************************************************************** int orderscnt(int type){ int cnt=0; for(int i =0;i<OrdersTotal();i++){ if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){ if(OrderSymbol()==Symbol()&&OrderType()==type && MagicNumber==OrderMagicNumber()){ cnt++; } } } return(cnt); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- double sar1=iSAR(NULL,Sar1TF,Sar1Step,Sar1Maximum,0); double sar2=iSAR(NULL,Sar2TF,Sar2Step,Sar2Maximum,0); double sar3=iSAR(NULL,Sar1TF,Sar1Step,Sar1Maximum,0); //****************************** Multiplier And X_Multiplier Parametre ****************************** string last; for(int i=OrdersHistoryTotal();i>=0;i--) {//--1 OrderSelect(i, SELECT_BY_POS,MODE_HISTORY); if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) {//--2 //for buy order if(OrderType()==OP_BUY && OrderClosePrice()>=OrderOpenPrice()) last="profit"; if(OrderType()==OP_BUY && OrderClosePrice()<=OrderOpenPrice()) last="loss"; X_lots=OrderLots(); //for SELL order if(OrderType()==OP_SELL && OrderClosePrice()<=OrderOpenPrice()) last="profit"; if(OrderType()==OP_SELL && OrderClosePrice()>=OrderOpenPrice()) last="loss"; X_lots=OrderLots(); break; }//--3 } if(X_Multiplier && last=="loss"){//--a4 newLot=Multiplier*X_lots; }//--a4 else if(UseMultiplier && last=="loss" ){//--b4 newLot=X_lots+Lots; }//--b4 else if(last!="loss") {//--c4 newLot=lots; }//--c4 double SL,TP; //--------- *----------- ************************************** Work Time ************************************************************************************* if (UseHourTrade){ if(!((FromHourTrade < ToHourTrade && TimeHour(TimeCurrent()) >= FromHourTrade && TimeHour(TimeCurrent()) < ToHourTrade) || (FromHourTrade > ToHourTrade && TimeHour(TimeCurrent()) >= FromHourTrade || TimeHour(TimeCurrent()) < ToHourTrade))){ Comment("Non-Trading Hours!"); return(0); } } //************************************************************************* OPEN - CLOSE - ORDERS *********************************************** double xStopLoss=StopLoss*Q; double xTakeProfit=TakeProfit*Q; if(sar1<Open[1]&&sar1>Open[2] &&sar2<Open[1]&&sar2>Open[2]&&sar3<Open[1]&&sar3>Open[2]&& (orderscnt(OP_BUY)<MaxOrders)){//--1 if(xStopLoss==0){SL=0;}else{SL=Ask-xStopLoss*Point;} if(xTakeProfit==0){TP=0;}else{TP=Ask+xTakeProfit*Point;} OrderSend(Symbol(),OP_BUY,newLot,Ask,3*Q,SL,TP,"Cher90 EA",MagicNumber,0,Green); PlaySound("Alert.wav"); }//--1 //**************************************************************************** if(sar1>Open[1]&&sar1<Open[2] &&sar2>Open[1]&&sar2<Open[2]&&sar3>Open[1]&&sar3<Open[2] && (orderscnt(OP_SELL)<MaxOrders)){//--1 if(xStopLoss==0){SL=0;}else{SL=Bid+xStopLoss*Point;} if(xTakeProfit==0){TP=0;}else{TP=Bid-xTakeProfit*Point;} OrderSend(Symbol(),OP_SELL,newLot,Bid,3*Q,SL,TP,"Cher90 EA",MagicNumber,0,Red); PlaySound("Alert.wav"); }//--1 //****************************************** CLOSE ORDERS *************************************************************** for (int cnt = OrdersTotal() ; cnt >= 0 ; cnt--) {//--1 OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol()) {//--2 if (OrderType()==OP_BUY && OrderMagicNumber()==MagicNumber && opposit_Signal_Close ) {//--3 OrderClose(OrderTicket(),OrderLots(),Bid,3*Q); }//--3 if (OrderType()==OP_SELL && OrderMagicNumber()==MagicNumber && opposit_Signal_Close) {//--4 OrderClose(OrderTicket(),OrderLots(),Ask,3*Q); }//--4 }//--2 }//--1 //---- return(0); } //+------------------------------------------------------------------+
السؤال الثاني ماهو كود الشراء لمؤشر rsi عندما يقطع خط السبعين ويرجع الى خط الخمسين من الخمسين يكون الشراء
- 24-04-2014, 12:39 PM #5105
- 24-04-2014, 01:30 PM #5106
اخ جميل لو تعرف اجابه لسؤالي اجب حتى نخفف على الاخ اسامه
- 24-04-2014, 05:56 PM #5107
السلام عليكم
لو انا عندى اكسبيرت بيعلق صفقات اسبوعيا
وانا اريد ان اكتب امر ان الصفقة التى تفعل لا يعيد تعليقها مرة اخرى
ماهو الكود المستخدم لتنفيذ هذا الامر
- 24-04-2014, 11:48 PM #5108
مافائده debugging في لغه meta editor الجديده وهل يمكن الاستغناء عنها؟
- 24-04-2014, 11:53 PM #5109
- 25-04-2014, 12:45 AM #5110
سؤال صغير أرجو المساعدة
فأنا لسة مبتدأ في البرمجة
هل يمكن عمل أكسبيرت عند تحقيق شروطة يقوم بإستدعاء أكسبيرت أخر وتفعيله أم يجب الدمج بين الأكسبيرتين للخروج بأكسبيرت ثالث يشملهم معا
وشكرا
- 25-04-2014, 12:53 AM #5111
ماهو الحل لمثل هذه المشكله؟؟؟؟اتمنى ان يكون لها حل وارجوا في هذه الحاله تدخل المستر دولار اخي اسامه
اذا كانت صعبه وليس لها حل ابدا يمكن اعدل على الفكره
هو انه عند الربح يجب ان يتاجر ا لاكسبيرت فقط بالراس المال ولا يمس المبلغ الذي ربحناه
اما في حاله الخساره فيتاجر الاكسبيرت بما تبقى من راس المال.
مثال كان راس المال عند الباك تست 10000 دولار فمبجرد ان يربح الاكسبيرت مثلا 1000دولار يترك الربح الذي هو 1000دولار على جنب ولا يمسه ويتاجر فقط براس المال 10000دولار
اما في حاله الخساره فلا مشكله يضل يتاجر بماتبقى من راس مال يعني خسر 2000دولار يضل بتاجر بالباقي 8000دولار
ان شاء الله تكون سهله ولها حل.آخر تعديل بواسطة daod ، 25-04-2014 الساعة 01:07 AM
- 25-04-2014, 02:19 PM #5112
- 25-04-2014, 02:20 PM #5113
- 25-04-2014, 02:22 PM #5114
- 25-04-2014, 02:29 PM #5115
وعليكم السلام ورحمة الله وبركاته
لا توجد أخطاء في الإكسبرت لكن هي فقط تحذيرات
بالنسبه للتحذير الذي يظهر لديك فهو خاص بفلتر التوقيت
كود PHP:if (UseHourTrade){
if(!((FromHourTrade < ToHourTrade && TimeHour(TimeCurrent()) >= FromHourTrade && TimeHour(TimeCurrent()) < ToHourTrade) || (FromHourTrade > ToHourTrade &&
TimeHour(TimeCurrent()) >= FromHourTrade ||
TimeHour(TimeCurrent()) < ToHourTrade))){
Comment("Non-Trading Hours!");
return(0);
}
}
مثال
كود PHP:if(SAR>Close[0]&&macd>0||rsi>50)
حتى تتأكد من أن الكود يعمل بشكل صحيح إجعله
كود PHP:if(SAR>Close[0]&&(macd>0||rsi>50))
بالنسبه للسؤال الثاني
مثال
كود PHP:static bool Crossed_70=false;
double rsi=iRSI(Symbol(),0,14,PRICE_CLOSE,1);
if(rsi>=70)Crossed_70=true;
if(rsi<=50)
{
// open sell
Crossed_70=false;
}
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM