النتائج 1 إلى 2 من 2
الموضوع: طلب مساعدة في صناعة اكسبيرت
- 15-05-2008, 04:17 PM #1
طلب مساعدة في صناعة اكسبيرت
السلام عليكم2-اضافة خاصية ايقاف الاكسبيرت عن العمل في فترة زمنية يتم تحديدها من الخارج مثلا من الساعة كذا الى الساعة كذا(لعدم زيادة المضاعفات في فترة التذبذب (الفترة الاسيوية ونهاية الامريكية))
ارجو من الاخوة المبرمجين المساعدة في كود اكسبيرت اتعبني
بالحقيقة انا لست خبير بالبرمجة ولكني احاول التعلم قدر الامكان
الفكرة هي الدخول في صفقة حسب اشارة الماكد اذا كانت اكبر من قيمة يتم تحديدها من الخارج والبيع بالعكس
فاذا تحقق الهدف فالحمدلله
واذا اغلقت الصفقة خاسرة يقوم بالدخول بعقد مضاعف عند تحقق شروط دخول جديدة بيع او شراء
حسب الفرصة التالية
وهكذا حتى يتم تحقيق الهدف لاخر مضاعفة ثم يبدأ من جديد
الكود مرفق
المطلوب فضلا لا امرا
1- اضافة خاصية المضاعفة .
والشكر مقدما مع خالص الدعاء
كود:extern double TakeProfit = 30; extern double StopLoss = 30; extern double Lots = 0.1; extern double TrailingStop = 20; extern double MACDByeLevel = 0.001; extern double MACDSellLevel = -0.001; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { double MacdCurrent, MacdPrevious; int cnt, ticket, total; // initial data checks // it is important to make sure that the expert works with a normal // chart and the user did not make any mistakes setting external // variables (Lots, StopLoss, TakeProfit, // TrailingStop) in our case, we check TakeProfit // on a chart of less than 100 bars if(Bars<100) { Print("bars less than 100"); return(0); } if(TakeProfit<10) { Print("TakeProfit less than 10"); return(0); // check TakeProfit } // to simplify the coding and speed up access // data are put into internal variables MacdCurrent=iMACD(NULL,0,5,13,1,PRICE_CLOSE,MODE_MAIN,0); MacdPrevious=iMACD(NULL,0,5,13,1,PRICE_CLOSE,MODE_MAIN,1); total=OrdersTotal(); if(total<1) { // no opened orders identified if(AccountFreeMargin()<(1000*Lots)) { Print("We have no money. Free Margin = ", AccountFreeMargin()); return(0); } if(MacdCurrent>MACDByeLevel && MacdPrevious<MacdCurrent) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"macd sample",16384,0,Green); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice()); } else Print("Error opening BUY order : ",GetLastError()); return(0); } // check for short position (SELL) possibility if(MacdCurrent<MACDSellLevel && MacdPrevious>MacdCurrent) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"macd sample",16384,0,Red); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice()); } else Print("Error opening SELL order : ",GetLastError()); return(0); } return(0); } // it is important to enter the market correctly, // but it is more important to exit it correctly... for(cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()<=OP_SELL && // check for opened position OrderSymbol()==Symbol()) // check for symbol { if(OrderType()==OP_BUY) // long position is opened { // should it be closed? if(Bid < OrderOpenPrice()-Point*StopLoss) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position return(0); // exit } // check for trailing stop // check for trailing stop if(TrailingStop>0) { if(Bid-OrderOpenPrice()>Point*TrailingStop) { if(OrderStopLoss()<Bid-Point*TrailingStop) { OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green); return(0); } } } } else // go to short position { // should it be closed? if(Ask > OrderOpenPrice()+ Point*StopLoss) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position return(0); // exit } // check for trailing stop if(TrailingStop>0) { if((OrderOpenPrice()-Ask)>(Point*TrailingStop)) { if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red); return(0); } } } } } } return(0); } // the end
- 15-05-2008, 11:49 PM #2
رد: طلب مساعدة في صناعة اكسبيرت
للرفع
المواضيع المتشابهه
-
مساعدة من خبراء البرمجة في صنع اكسبيرت ناجح ان شاء الله
By r3ad in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 8آخر مشاركة: 06-09-2010, 04:31 AM -
طلب مساعدة بخصوص اكسبيرت
By م . فارس in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 4آخر مشاركة: 09-07-2009, 12:53 PM -
مساعدة في اكسبيرت
By VaNaDess in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 2آخر مشاركة: 06-07-2009, 10:34 PM -
)))مساعدة من الاخوة المبرمجين اريد اكسبيرت رقمى والمعلومات بالداخل&&&&
By ahmed8lv in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 3آخر مشاركة: 31-12-2008, 07:17 AM -
طلب مساعدة في صناعة اكسبيرت
By taravolta in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 4آخر مشاركة: 12-07-2008, 04:07 AM