النتائج 16 إلى 30 من 35
- 24-04-2013, 05:59 AM #16
الآن سنذهب الى الحل من خلال التفاصيل فمثلا هذا الكود
كود PHP:can = (High[1]-Low[1])*10000; Print("can",can);
- 24-04-2013, 01:29 PM #17
السلام عليكم ورحمة الله وبركاته
لقد جربت الداله الت كتبها مشرفنا الغالي مستر دولار ........ والنتيجه امتياز مع مرتبة الشرف يستحقها مستر دولار بجداره الداله تعمل بكفاءه وفعلا لا يفتح امر بيع او شراء غير عند النقاط المحدده
جازاك الله خيرا اخي الفاضل ورزقك خيرا علي مساعداتك لاخوتك .
اخي الكريم جميل اشكر لك تعبك معي جازاك الله خيرا
والان الي المرحله الثانيه وهي ضبط نقاط الدخول بدقه اكثر لاقرب نصف نقطه حتي تكون نقطة دخول صحيحه بلا اي اخطاء واضافة الاستوب والتيك بروفيت هذه هي المرحله الثانيه وان شاء الله لن اترك هذا الاكسبيرت حتي اكمله
وطبعا من المؤكد انني سوف احتاج مساعده لذلك لا تحرموني من المتابعه والتوجيه بارك الله فيكم اخواني الكرام .......... سوف اقوم بأعادة تفعيل الاكواد الخاصه بالاستوب والهدف ومراجعتها بدقه كما ذكرت اخي جميل ولي عوده ان شاء الله
والله المستعان
- 24-04-2013, 08:28 PM #18
رد:...@@ مساعده في كتابة كود برمجي @@...
جرب هذا التصحيح ثم كمل ماتبقى .
- 24-04-2013, 11:14 PM #19
بارك الله فيك استاذي الجميل جميل ........ جاري التجريب
- 25-04-2013, 04:03 PM #20
السلام عليكم ورحمة الله وبركاته
بعد اضافة التعديلات وتصويب الاكواد وهي كانت فعلاعمليه مرهقة جدا وتحتاج الي دقة في المراجعه
كانت هذه هي اخر نسخة وصلت اليها وجدت بها خطأ بسيط ان شاء الله
وهو انها لا تفتح اوامر لان قيم الاستوب خاطئه ؟؟؟؟؟؟؟؟؟
وهنا اريد رأي اساتذتي الكرام ......... ليس الاستوب هو عبارة عن متغير double ؟؟؟؟؟؟؟
اذن اي رقم يكتب في خانة الاستوب لابد من ان ييعامل علي انه قيمه عدديه
فلماذا لايقبله .؟؟؟؟؟؟؟؟
ملاحظه هامه
قيم sellstop ,sellprofit, buystop,buyprofit كلها تمت مراجعتها بدقه وتأكدت من قيمها بأستخدام الامر برنت
اذن الباقي هو اضافتها لدالة فتح الامر وهذا ما حاولت ان اضيفه ويبدو انني نسيت شيءا او لم اكتبه الامر بصوره صحيحه ..........
ملحوظه اخري متغير pips_allaw هو متغير خارجي به اقل قيمه يمكن ان تكون للاستوب والهدف حيث انه في بعض الاحيان تكون الشموع صغيره وتعطي قيم قد ترفضها الشركه لذلك وضعت هذا المتغير ليجعلاقل استوب او اقل هدف لاي صفقه مهما كان هو 5 بيب
هذا هو الكود ارجو مراجعته جازاكم الله خيرا
كود:#property copyright "Copyright 2013, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" extern double magicn = 2013; extern double lotsize = 0.01; extern double dlotsize = 0.02; extern double stepdeviation= 4; extern double pips_allaw= 5; //// sell orders with dubled lot double sellpoint ; double doblebuy ; double sellstop ; double sellprofit ; double doblebuystop ; double doblebuyprofit ; //// buy orders with dubled lot double buypoint; double doblesell; double buystop ; double buyprofit ; double doblesellstop ; double doblesellprofit; double i ; double point; int digits,Q; datetime t; double can ; double spread; 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); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { spread=(Ask-Bid)/Point; if (Close[1]>Open[1]) { ///sell orders conditions in up candle can = (High[1]-Low[1])*10000; sellpoint = NormalizeDouble((High[1]+(High[1]-Close[1])),Digits); doblebuy = NormalizeDouble((sellpoint+(Close[1]-Open[1])+spread),Digits); sellstop = NormalizeDouble((Bid+doblebuy),1); sellprofit = MathAbs( NormalizeDouble((Bid-(sellpoint-(High[1]-Open[1])))*10000,Digits)); doblebuystop = NormalizeDouble((doblebuy-((High[1]-Low[1])/2)-spread),Digits); doblebuyprofit = NormalizeDouble((doblebuy+((High[1]-Low[1])/2)),Digits); //// buy orders conditions in up candle buypoint = NormalizeDouble((Low[1]-(Open[1]-Low[1])),Digits); doblesell = NormalizeDouble((buypoint -(Close[1]-Open[1])-spread),Digits); buystop = NormalizeDouble(NormalizeDouble((Ask-doblesell),Digits),0); buyprofit = (NormalizeDouble((Ask+(buypoint+(Close[1]-Low[1]))),0)); doblesellstop = NormalizeDouble((doblesell+((High[1]-Low[1])/2)-spread),Digits); doblesellprofit = NormalizeDouble((doblesell-((High[1]-Low[1])/2)),Digits); ////////////in up candle /////////// if ( Close[1]>Open[1]&&Close[0]==buypoint&&t!=Time[0]&&can>=stepdeviation&&IsOrderOpened()==false ) { double sl,tp; if(buystop<=pips_allaw) sl=Ask+(pips_allaw+1)*Point;else sl=Ask+buystop*Point; if(buyprofit<=pips_allaw)tp=Ask-(pips_allaw+1)*Point;else tp=Ask-buyprofit*Point; OrderSend(Symbol(),OP_BUY,lotsize,Ask,3,sl,tp,"",magicn,0,Green); t=Time[0]; } if ( Close[1]>Open[1]&&Close[0]==sellpoint&&t!=Time[0]&&can>=stepdeviation&&IsOrderOpened()==false) { if(sellstop<=pips_allaw) sl=Bid+(pips_allaw+1)*Point;else sl=Bid+sellstop*Point; if(sellprofit<=pips_allaw)tp=Bid-(pips_allaw+1)*Point;else tp=Bid-sellprofit*Point; OrderSend(Symbol(),OP_SELL,lotsize,Bid,3,sl,tp,"",magicn,0,Red); } } ////////////////in down candle ///////// return(0); } //+------------------------------------------------------------------+ bool IsOrderOpened() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==magicn) { if(OrderOpenTime()>=Time[0])return(true); else if(OrderOpenTime()<Time[0])return(false); } } return(false); }
- 25-04-2013, 05:18 PM #21
اجعل الأستوب والبروفيت int وليس Double ثم اجعل القيمة المستخرجة من المعادلة لأي منهم مضروبة في point جرب ورد علي .
- 25-04-2013, 05:24 PM #22
حاضر جاري التجريب
- 25-04-2013, 06:14 PM #23
رد:...@@ مساعده في كتابة كود برمجي @@...
للاسف قمت يغيير قيم نوع المتغير من double الي int وقمت بكتابة الشروط كما يلي وايضا نفس الخطأ
error 130 ولا يفتح اي اوامر
كود:if ( Close[1]>Open[1]&&Close[0]==buypoint&&t!=Time[0]&&can>=stepdeviation&&IsOrderOpened()==false ) { double sl,tp; if(buystop<=pips_allaw) sl=(pips_allaw+1)*Point;else sl=buystop*Point; if(buyprofit<=pips_allaw)tp=(pips_allaw+1)*Point;else tp=buyprofit*Point; OrderSend(Symbol(),OP_BUY,lotsize,Ask,3,sl,tp,"",magicn,0,Green); t=Time[0]; } if ( Close[1]>Open[1]&&Close[0]==sellpoint&&t!=Time[0]&&can>=stepdeviation&&IsOrderOpened()==false) { if(sellstop<=pips_allaw) sl=(pips_allaw+1)*Point;else sl=sellstop*Point; if(sellprofit<=pips_allaw)tp=(pips_allaw+1)*Point;else tp=sellprofit*Point; OrderSend(Symbol(),OP_SELL,lotsize,Bid,3,sl,tp,"",magicn,0,Red); } }
- 25-04-2013, 06:15 PM #24
للاسف قمت يغيير قيم نوع المتغير من double الي int وقمت بكتابة الشروط كما يلي وايضا نفس الخطأ
error 130 ولا يفتح اي اوامر
كود:if ( Close[1]>Open[1]&&Close[0]==buypoint&&t!=Time[0]&&can>=stepdeviation&&IsOrderOpened()==false ) { double sl,tp; if(buystop<=pips_allaw) sl=(pips_allaw+1)*Point;else sl=buystop*Point; if(buyprofit<=pips_allaw)tp=(pips_allaw+1)*Point;else tp=buyprofit*Point; OrderSend(Symbol(),OP_BUY,lotsize,Ask,3,sl,tp,"",magicn,0,Green); t=Time[0]; } if ( Close[1]>Open[1]&&Close[0]==sellpoint&&t!=Time[0]&&can>=stepdeviation&&IsOrderOpened()==false) { if(sellstop<=pips_allaw) sl=(pips_allaw+1)*Point;else sl=sellstop*Point; if(sellprofit<=pips_allaw)tp=(pips_allaw+1)*Point;else tp=sellprofit*Point; OrderSend(Symbol(),OP_SELL,lotsize,Bid,3,sl,tp,"",magicn,0,Red); } }
- 25-04-2013, 07:02 PM #25
افتح هذا الرابط سيعطيك قائمة بالأخطاء حسب الرقم وبالتالي تتعامل مع نفس الخطاء ولاتضيع الوقت في مراجعة كل الأكسبيرت
http://docs.mql4.com/constants/errors
- 25-04-2013, 07:31 PM #26
اخي الكريم الخطا هو
OrderSend error 130
ERR_INVALID_STOPS 130 Invalid stops.
فهو كما قلت الخطأ في الاستوب ولا اعرف مادام الاستوب هو اولا واخيرا قيمه رقميه مثل 30 و 50 او 100 والمتغيرات انا تأكدت منها انها تخرج هذه القيم فقط ارقام 12و6و20..... وهكذا الي اخره
فلماذا لا يقبلها كأستوب وهدف ؟؟؟؟؟؟؟؟؟؟؟ ولماذا يجب ربطها ب ask او بال BID .؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
- 25-04-2013, 07:41 PM #27
ارفق الأكسبيرت كملف وسأراجعه معك .
- 25-04-2013, 09:13 PM #28
رد:...@@ مساعده في كتابة كود برمجي @@...
اتفضل اخي الكريم
هذا هو الاكسبيرت كامل بدون اي تغيير واعدت المغيرت buystop,buyprofit,sellstop,sellprofit
الي قيمها نوع double كما كان في الاول بالظبط ولم اغير اي شيء اخر في الكود
- 03-05-2013, 05:02 AM #29
السلام عليكم ورحمة الله وبركاته
اخي الكريم جميل لعل المانع خيرا ........ انا في انتظار ردك
- 03-05-2013, 05:17 AM #30