،،،تحياتى،،،
|
جديد المواضيع |
|
منتدى المؤشرات و الاكسبيرتات تعليم برمجة الاكسبيرت ، اكسبيرت مجانى ، برمجة مؤشرات ، مؤشر ، تصميم اكسبيرت مجانا ، اكسبيرتات جديدة ، مؤشرات جديدة ، كل ما يتعلق بالتحليل و الخاص بالمؤشرات الفنية او الرقمية ، Expert advisor ، mql ، mql4 ، دورة برمجة ، برمجة اكسبيرت ، اكسبيرت رابح ، اكسبيرت جيد ، ادارة حسابات ، تداول الى ، ميتاتريدر ، تحميل منصة ، منصة تداول ، برمجة مؤشر ، مكتبة مؤشرات ، مؤشر جديد ، مؤشرات جديدة ، مؤشر حصرى ، احدث مؤشر . |
|
أدوات الموضوع |
26-03-2014, 11:28 AM | المشاركة رقم: 291 | |||||||||||||||||||||||||||||||||||||||||||||||||
|
كاتب الموضوع :
البدوي
المنتدى :
منتدى المؤشرات و الاكسبيرتات
رد: اكسبيرت تقاطع 3 متوسطات
|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
#291
|
|||||||||||||||||||||
|
|||||||||||||||||||||
رد: اكسبيرت تقاطع 3 متوسطات
،،،اخى الفاضل ، استعمل الكود كما تم شرحه فى المشاركه وسيعطيك النتيجة التى تريدها ، لان قيمة المتغير time0 لن تتساوى بوقت الشمعه الحالى الا اذا تم فتح صفقة بيع او شراء وانصحك بمشاهدة دورة البرمجة بقسم المؤشرات والاكسبيرتات وستجد بها شرح مصور لاى كود قد تحتاجه،،، ،،،تحياتى،،، |
06-04-2014, 12:21 AM | المشاركة رقم: 292 | ||||||||||||||||||||||
|
كاتب الموضوع :
البدوي
المنتدى :
منتدى المؤشرات و الاكسبيرتات
رد: اكسبيرت تقاطع 3 متوسطات
أخي العزيز شكراً جزيلاً علي تفاعلكم وأيضاً علي الشرح الرائع والبسيط وبناءاً علي هذا الشرح قمت بعمل اكسبيرت لتقاطع تلات متوسطات و قطع موفنج 26 ولم أحصل علي نتائج جيدة لذلك أرجو المساعدةوتوضيح السبب كود:
//+------------------------------------------------------------------+ //| sherif.mq4 | //| Copyright 2014, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright 2014, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" extern string M26 = "Moving Average 26"; extern int period26 = 26; extern int shift26 = 0; extern int appliedto26 =0; extern int method26 = 0; extern string M156 = "Moving Average 156"; extern int period156 = 26; extern int shift156 = 0; extern int appliedto156 =0; extern int method156 = 0; extern string M01 = "Moving Average 1"; extern int period1 = 1; extern int shift1 = 0; extern int appliedto1=0; extern int method1 = 0; extern string M8 = "Moving Average 8"; extern int period8 = 8; extern int shift8 = 0; extern int appliedto8 =0; extern int method8 = 0; extern string M0 = "Money Management"; extern int takeprofit = 40; extern int stoploss = 10; extern double lot = 1; double t; extern int Magic = 12345; int time0; extern int breakeven = 1; extern int trailingstop = 1 ; extern int risk = 1 ; extern bool ESMM = False ; extern int Multi = 2 ; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { double ticksize = MarketInfo(Symbol(),MODE_TICKSIZE); if(ticksize == 0.00001 ||0.001) t = ticksize*10; else t = ticksize; return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { double LMA26 = iMA(Symbol(),PERIOD_H4,period26,shift26,method26,appliedto26,2); double NMA26 = iMA(Symbol(),PERIOD_H4,period26,shift26,method26,appliedto26,1); double LMA156 = iMA(Symbol(),PERIOD_D1,period156,shift156,method156,appliedto156,2); double NMA156 = iMA(Symbol(),PERIOD_D1,period156,shift156,method156,appliedto156,1); double LMA8 = iMA(Symbol(),PERIOD_H4,period8,shift8,method8,appliedto8,1); double NMA8 = iMA(Symbol(),PERIOD_H4,period8,shift8,method8,appliedto8,1); double LMA1 = iMA(Symbol(),PERIOD_H4,period1,shift1,method1,appliedto1,1); double NMA1 = iMA(Symbol(),PERIOD_H4,period1,shift1,method1,appliedto1,0); double crosspip = 2 ; double Newlot = lot ; Print("time0="+time0); if(ESMM == TRUE )lot = Lots(); if(Profitorloss()==false)Newlot =lastlot()*Multi; if(Profitorloss()==true)Newlot =lot ; //----BUY CASE+ if(((NMA1-NMA26>crosspip*t) && LMA1 < NMA26 ) ||( LMA8>LMA1 && NMA1-LMA8>crosspip*t && LMA8>LMA26 && NMA8>NMA26 )) if(LMA26>LMA156 && NMA26>NMA156) if(time0 != Time[0]) if( OrdersTotal()==0) { OrderSend(Symbol(),OP_BUY,Newlot,Ask,3,Ask-(stoploss*t),Ask+(takeprofit*t),"NEW BUY ORDER",Magic,0,clrBlue); time0=( Time[0]); } //----SELL CASE+ if(time0 != Time[0] ) if((NMA26-NMA1 > crosspip*t && NMA26 < LMA1) ||(LMA8<LMA26 && NMA8<NMA26 && LMA1>LMA8 && LMA8-NMA1 > crosspip*t)) if(LMA26<LMA156 && NMA26<NMA156 ) if( OrdersTotal()==0) { OrderSend(Symbol(),OP_SELL,Newlot,Bid,3,Bid+(stoploss*t),Bid-(takeprofit*t),"NEW SELL ORDER",Magic,0,clrBlue); time0=( Time[0]); } if(breakeven>0)BreakEven(); if(trailingstop>0)TrailingStop(); //---- return(0); } //+------------------------------------------------------------------+ //+-------------BREAKEVEN CODE --------------------------------------+ //+------------------------------------------------------------------+ void BreakEven() { for(int i =0 ; i<=OrdersTotal() ; i++) { if(OrderSelect(i,SELECT_BY_POS ,MODE_TRADES)) if(OrderSymbol()==Symbol()) if(OrderMagicNumber()==Magic) if(OrderType()==OP_BUY) if((Bid-OrderOpenPrice())>(breakeven*t)) if(OrderOpenPrice()>OrderStopLoss()) OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,CLR_NONE); } for(int ii =0 ; ii<=OrdersTotal() ; ii++) { if(OrderSelect(ii,SELECT_BY_POS ,MODE_TRADES)) if(OrderSymbol()==Symbol()) if(OrderMagicNumber()==Magic) if(OrderType()== OP_SELL) if((OrderOpenPrice()-Ask)>breakeven*t) if(OrderOpenPrice()< OrderStopLoss()) OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,clrCyan); } } //+------------------------------------------------------------------+ //+--------------TRAILING STOP CODE---------------------------------+ //+-----------------------------------------------------------------+ void TrailingStop() { for(int i =0 ; i<=OrdersTotal() ; i++) { if(OrderSelect(i,SELECT_BY_POS ,MODE_TRADES)) if(OrderSymbol()==Symbol()) if(OrderMagicNumber()==Magic) if(OrderType()==OP_BUY) if((Bid-OrderOpenPrice())>(trailingstop*t)) if(OrderStopLoss()<Bid-trailingstop*t) OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(trailingstop*t),OrderTakeProfit(),0,CLR_NONE); } for(int ii =0 ; ii<=OrdersTotal() ; ii++) { if(OrderSelect(ii,SELECT_BY_POS ,MODE_TRADES)) if(OrderSymbol()==Symbol()) if(OrderMagicNumber()==Magic) if(OrderType()== OP_SELL) if((OrderOpenPrice()-Ask)>trailingstop*t) if(OrderStopLoss()> Ask+trailingstop*t) OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(trailingstop*t),OrderTakeProfit(),0,clrCyan); } } //+-----ESMM------------------------------------------------------------+ //+-----ESMM------------------------------------------------------------+ //+-----ESMM------------------------------------------------------------+ double Lots() { double lots = MathCeil(AccountFreeMargin()*risk/1000)/100 ; if(lots<MarketInfo(Symbol(),MODE_MINLOT)) lots = MarketInfo(Symbol(),MODE_MINLOT) ; if(lots>MarketInfo(Symbol(),MODE_MAXLOT)) lots = MarketInfo(Symbol(),MODE_MAXLOT) ; return(lots); } //+--------MULTI-MULTI----------------------------------------------------------+ //+--------MULTI-MULTI----------------------------------------------------------+ bool Profitorloss() { bool Y = true; for(int i =0 ; i<=OrdersHistoryTotal() ;i++) { OrderSelect(i,SELECT_BY_POS,MODE_HISTORY); if(Symbol()==OrderSymbol()&& OrderMagicNumber() == Magic) { if(OrderProfit()>0) { Y=True; } else { Y=false; } } } return(Y); } //+------------------------------------------------------------------+ double lastlot() { for(int ii =0 ; ii<=OrdersHistoryTotal() ;ii++) { OrderSelect(ii,SELECT_BY_POS,MODE_HISTORY); if(OrderSymbol()== Symbol()&& OrderMagicNumber() == Magic) double z = OrderLots(); } return(z); } //+------------------------------------------------------------------+ |
||||||||||||||||||||||
|
#292
|
|
|
|
رد: اكسبيرت تقاطع 3 متوسطات
أخي العزيز شكراً جزيلاً علي تفاعلكم وأيضاً علي الشرح الرائع والبسيط وبناءاً علي هذا الشرح قمت بعمل اكسبيرت لتقاطع تلات متوسطات و قطع موفنج 26 ولم أحصل علي نتائج جيدة لذلك أرجو المساعدةوتوضيح السبب
كود:
//+------------------------------------------------------------------+ //| sherif.mq4 | //| Copyright 2014, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright 2014, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" extern string M26 = "Moving Average 26"; extern int period26 = 26; extern int shift26 = 0; extern int appliedto26 =0; extern int method26 = 0; extern string M156 = "Moving Average 156"; extern int period156 = 26; extern int shift156 = 0; extern int appliedto156 =0; extern int method156 = 0; extern string M01 = "Moving Average 1"; extern int period1 = 1; extern int shift1 = 0; extern int appliedto1=0; extern int method1 = 0; extern string M8 = "Moving Average 8"; extern int period8 = 8; extern int shift8 = 0; extern int appliedto8 =0; extern int method8 = 0; extern string M0 = "Money Management"; extern int takeprofit = 40; extern int stoploss = 10; extern double lot = 1; double t; extern int Magic = 12345; int time0; extern int breakeven = 1; extern int trailingstop = 1 ; extern int risk = 1 ; extern bool ESMM = False ; extern int Multi = 2 ; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { double ticksize = MarketInfo(Symbol(),MODE_TICKSIZE); if(ticksize == 0.00001 ||0.001) t = ticksize*10; else t = ticksize; return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { double LMA26 = iMA(Symbol(),PERIOD_H4,period26,shift26,method26,appliedto26,2); double NMA26 = iMA(Symbol(),PERIOD_H4,period26,shift26,method26,appliedto26,1); double LMA156 = iMA(Symbol(),PERIOD_D1,period156,shift156,method156,appliedto156,2); double NMA156 = iMA(Symbol(),PERIOD_D1,period156,shift156,method156,appliedto156,1); double LMA8 = iMA(Symbol(),PERIOD_H4,period8,shift8,method8,appliedto8,1); double NMA8 = iMA(Symbol(),PERIOD_H4,period8,shift8,method8,appliedto8,1); double LMA1 = iMA(Symbol(),PERIOD_H4,period1,shift1,method1,appliedto1,1); double NMA1 = iMA(Symbol(),PERIOD_H4,period1,shift1,method1,appliedto1,0); double crosspip = 2 ; double Newlot = lot ; Print("time0="+time0); if(ESMM == TRUE )lot = Lots(); if(Profitorloss()==false)Newlot =lastlot()*Multi; if(Profitorloss()==true)Newlot =lot ; //----BUY CASE+ if(((NMA1-NMA26>crosspip*t) && LMA1 < NMA26 ) ||( LMA8>LMA1 && NMA1-LMA8>crosspip*t && LMA8>LMA26 && NMA8>NMA26 )) if(LMA26>LMA156 && NMA26>NMA156) if(time0 != Time[0]) if( OrdersTotal()==0) { OrderSend(Symbol(),OP_BUY,Newlot,Ask,3,Ask-(stoploss*t),Ask+(takeprofit*t),"NEW BUY ORDER",Magic,0,clrBlue); time0=( Time[0]); } //----SELL CASE+ if(time0 != Time[0] ) if((NMA26-NMA1 > crosspip*t && NMA26 < LMA1) ||(LMA8<LMA26 && NMA8<NMA26 && LMA1>LMA8 && LMA8-NMA1 > crosspip*t)) if(LMA26<LMA156 && NMA26<NMA156 ) if( OrdersTotal()==0) { OrderSend(Symbol(),OP_SELL,Newlot,Bid,3,Bid+(stoploss*t),Bid-(takeprofit*t),"NEW SELL ORDER",Magic,0,clrBlue); time0=( Time[0]); } if(breakeven>0)BreakEven(); if(trailingstop>0)TrailingStop(); //---- return(0); } //+------------------------------------------------------------------+ //+-------------BREAKEVEN CODE --------------------------------------+ //+------------------------------------------------------------------+ void BreakEven() { for(int i =0 ; i<=OrdersTotal() ; i++) { if(OrderSelect(i,SELECT_BY_POS ,MODE_TRADES)) if(OrderSymbol()==Symbol()) if(OrderMagicNumber()==Magic) if(OrderType()==OP_BUY) if((Bid-OrderOpenPrice())>(breakeven*t)) if(OrderOpenPrice()>OrderStopLoss()) OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,CLR_NONE); } for(int ii =0 ; ii<=OrdersTotal() ; ii++) { if(OrderSelect(ii,SELECT_BY_POS ,MODE_TRADES)) if(OrderSymbol()==Symbol()) if(OrderMagicNumber()==Magic) if(OrderType()== OP_SELL) if((OrderOpenPrice()-Ask)>breakeven*t) if(OrderOpenPrice()< OrderStopLoss()) OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,clrCyan); } } //+------------------------------------------------------------------+ //+--------------TRAILING STOP CODE---------------------------------+ //+-----------------------------------------------------------------+ void TrailingStop() { for(int i =0 ; i<=OrdersTotal() ; i++) { if(OrderSelect(i,SELECT_BY_POS ,MODE_TRADES)) if(OrderSymbol()==Symbol()) if(OrderMagicNumber()==Magic) if(OrderType()==OP_BUY) if((Bid-OrderOpenPrice())>(trailingstop*t)) if(OrderStopLoss()<Bid-trailingstop*t) OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(trailingstop*t),OrderTakeProfit(),0,CLR_NONE); } for(int ii =0 ; ii<=OrdersTotal() ; ii++) { if(OrderSelect(ii,SELECT_BY_POS ,MODE_TRADES)) if(OrderSymbol()==Symbol()) if(OrderMagicNumber()==Magic) if(OrderType()== OP_SELL) if((OrderOpenPrice()-Ask)>trailingstop*t) if(OrderStopLoss()> Ask+trailingstop*t) OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(trailingstop*t),OrderTakeProfit(),0,clrCyan); } } //+-----ESMM------------------------------------------------------------+ //+-----ESMM------------------------------------------------------------+ //+-----ESMM------------------------------------------------------------+ double Lots() { double lots = MathCeil(AccountFreeMargin()*risk/1000)/100 ; if(lots<MarketInfo(Symbol(),MODE_MINLOT)) lots = MarketInfo(Symbol(),MODE_MINLOT) ; if(lots>MarketInfo(Symbol(),MODE_MAXLOT)) lots = MarketInfo(Symbol(),MODE_MAXLOT) ; return(lots); } //+--------MULTI-MULTI----------------------------------------------------------+ //+--------MULTI-MULTI----------------------------------------------------------+ bool Profitorloss() { bool Y = true; for(int i =0 ; i<=OrdersHistoryTotal() ;i++) { OrderSelect(i,SELECT_BY_POS,MODE_HISTORY); if(Symbol()==OrderSymbol()&& OrderMagicNumber() == Magic) { if(OrderProfit()>0) { Y=True; } else { Y=false; } } } return(Y); } //+------------------------------------------------------------------+ double lastlot() { for(int ii =0 ; ii<=OrdersHistoryTotal() ;ii++) { OrderSelect(ii,SELECT_BY_POS,MODE_HISTORY); if(OrderSymbol()== Symbol()&& OrderMagicNumber() == Magic) double z = OrderLots(); } return(z); } //+------------------------------------------------------------------+ |
13-04-2014, 01:28 AM | المشاركة رقم: 293 | ||||||||||||||||||||||||
|
كاتب الموضوع :
البدوي
المنتدى :
منتدى المؤشرات و الاكسبيرتات
رد: اكسبيرت تقاطع 3 متوسطات
الله يعافيكم ياشباب على هالمجهود |
||||||||||||||||||||||||
|
#293
|
|
|
|
رد: اكسبيرت تقاطع 3 متوسطات
الله يعافيكم ياشباب على هالمجهود
بس عندي استفسار سريع ارجو المعذرة المؤشر ماحصلته عندي بالمنصة ممكن احد يفيدن وشكرا لكم |
14-04-2014, 12:30 AM | المشاركة رقم: 294 | ||||||||||||||||||||||||
|
كاتب الموضوع :
البدوي
المنتدى :
منتدى المؤشرات و الاكسبيرتات
رد: اكسبيرت تقاطع 3 متوسطات
اخوي البدوي بحثت عن الاكسبيرت الي حطيت اعداداته ماحصلته اتمنا ارفاقه وشكرا |
||||||||||||||||||||||||
|
#294
|
|
|
|
رد: اكسبيرت تقاطع 3 متوسطات
اخوي البدوي بحثت عن الاكسبيرت الي حطيت اعداداته ماحصلته اتمنا ارفاقه وشكرا
|
14-04-2014, 12:38 AM | المشاركة رقم: 295 | ||||||||||||||||||||||
|
كاتب الموضوع :
البدوي
المنتدى :
منتدى المؤشرات و الاكسبيرتات
رد: اكسبيرت تقاطع 3 متوسطات
كيف احصل على هذا المؤشر |
||||||||||||||||||||||
|
#295
|
|
|
|
رد: اكسبيرت تقاطع 3 متوسطات
كيف احصل على هذا المؤشر
|
14-04-2014, 03:16 PM | المشاركة رقم: 296 | ||||||||||||||||||||||||
|
كاتب الموضوع :
البدوي
المنتدى :
منتدى المؤشرات و الاكسبيرتات
رد: اكسبيرت تقاطع 3 متوسطات
|
||||||||||||||||||||||||
|
#296
|
|
|
|
رد: اكسبيرت تقاطع 3 متوسطات
|
مواقع النشر (المفضلة) |
الكلمات الدلالية (Tags) |
متوسطات, اكسبيرت, تقاطع |
أدوات الموضوع | |
|
|