![]() |
رد: دورة تعليم برمجة الاكسبريت
اقتباس:
اقتباس:
|
رد: دورة تعليم برمجة الاكسبريت
السلام عليكم ورحمة الله وبركاته
أتابع معكم ان شاء الله، أنا جديد في هذا المجال رغم أن عملي كمبرمج برامج إدارية. بدأت منذ اسبوع تعلم فوركس واعجبني كثير هذا الموقع. |
رد: دورة تعليم برمجة الاكسبريت
اقتباس:
وستجد هذه اللغة في غاية البساطة ان كنت اصلا مبرمج بلغة اخري ولا تتردد في طرح اي استفسار |
رد: دورة تعليم برمجة الاكسبريت
السلام عليكم ورحمة الله وبركاته
ماهو الفائده منه/ هل يتم الاعتماد عليه ؟ |
رد: دورة تعليم برمجة الاكسبريت
استاذ موفنج والله ممكن مساعدة في طريقة اضافت المضاعفات
فقد قمت ببرمجت اكسبيرت على رينكو يعمل على نفس طريقة التي برمجت بها اكسبيرت الاخ بدوي اي انه يفتح صفقة ولا يغلقها لا عند اغلاق شمعة عكسية يغلقها ويدخل مع اتجاه الشمعة الجديدة وبالنسبة للاضافة ارده ان لا يغلق الصفقة الخاسرة في الاشارة العكسية بل يضاعف اللوت +1 فقط اي 1 2 3 4 5 6 7 حتى يخرج من التذبذب بمعنى انه لو كانت شمعة عكسية يراقب الصفقة لو كانت رابحة يغلق الصفقة ويبدا من جديد لكن لو كانت خاسرة يحافظ عليها ويفتح صفقة جديدة عكسية مثلا لوت البداية 0.10 اذا الصفقة الجديدة 0.20 ويبقى على هذا حتى تظهر اشارة عكسية ويكون مجموع الصفقات موجب يغلق جميع الصفقات ويبدا من جديد |
رد: دورة تعليم برمجة الاكسبريت
اقتباس:
وصفقة بلوت مضاعة تحتاج الي شروط مغايرة ماهي الشروط التي تفتح علي اساسها اللوت المضاعف لكي لجيبك لان الشروط هي الاهم في البرمجة |
رد: دورة تعليم برمجة الاكسبريت
اقتباس:
بفتح صفقة بعد شمعة معاكسة وقد ارفقت لك مثال لتوضيح الفكرة اكثر داخل المربع المرسوم بعد اغلاق شمعة نازلة يخرج من البيع ويدخل شراء ونفرض ان لوت 0.10 ما حصل ان الشمعة التالية اغلقت نازلة اي صفقة خاسرة هنا لا يقوم باغلاق الصفقة الخاسرة بل يتركها مفتوحة ويدخل بصفقة جديدة بيع بلوت 0.20 الشمعة التي بعدها صاعدة اي مجموع الصفقتين خاسر لا يغلقهما ويدخل بصفقة ثالث شراء بلوت 0.3 بمعنى دالة تراقب الصفقات المفتوحة لو كانت رابحة تغلق كل الصفقات في الانعاكس ولو كانت سالبة تحافظ وتفتح صفقة جديدة +1 عن اخر لوت http://www.fx-arabia.com/vb/uploaded...1366805117.png للاسف انا لم اجد موضوع برمجي يتكلم على طريقة البرمجة بالمضاعفات |
رد: دورة تعليم برمجة الاكسبريت
استاذ موفنج اعلم انك لا تمتلك الكثير من
الوقت نظرا لكثرت الطلبات فالله يكون في عونك لكن لو سمحت ممكن ان تعدل على هذا الكود وساقوم باطلاع عليه لدراسته من جديد لو سمحت [PHP]double TP,SL; if(TrailingStop>0)MoveTrailingStop(); ////////////////////////////////////////////////// double openprice,lots,newLot;int s; if(UseMultiplier){ for(s=0;s<OrdersTotal();s++){ OrderSelect(s,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Ma gicNumber&&OrderType()==OP_BUY){ openprice=OrderOpenPrice();lots=OrderLots(); } }{ هنا قمت بجعل المضاعف + وكمتغير خاجي جعلت Multiplier =1 حتى تكون المضاعفات 1 2 3 4 5 6 newLot=Multiplier+lots; if(Ask<=openprice-Step*point&&orderstotal()>=1){ if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*poi nt;} OrderSend(Symbol(),OP_BUY,newLot,NormalizeDouble(A sk,digits),3,0,TP," ",MagicNumber,0,Blue); } } for(s=0;s<OrdersTotal();s++){ OrderSelect(s,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Ma gicNumber&&OrderType()==OP_SELL){ openprice=OrderOpenPrice(); lots=OrderLots(); } }{ newLot=Multiplier+lots; if(Bid>=openprice+Step*point&&orderstotal()>=1){ if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*point;} OrderSend(Symbol(),OP_SELL,newLot,NormalizeDouble( Bid,digits),3,0,TP,"",MagicNumber,0,Red); } } } ////////////////////////////////////////////////// static datetime NewBar; if(orderstotal()==0) { // close orders } double Cl1=iClose(0,0,1); double Cl2=iClose(0,0,2); ////////////////////////////////////////////////// if(NewBar<Time[0]) if(Cl2<Cl1) {CloseSellOrders();} if(Cl2>Cl1) {CloseBuyOrders();} if(profit()>=ProfitTarget){ while(orderstotal()>0){CloseSellOrders();CloseBuyO rders();} هنا المشكلة الاولى كيف اجعله يحافظ على الصفقات الخاسرة دون اغلاقها } { // close orders } ////////////////////////////////////////////////// if(Cl2<Cl1) { if(orderstotal()<MaxTrades&&Time0!=Time[0]) { { // open orders Time0=Time[0]; } //Buy if(TakeProfit==0){TP=0;} else{TP=Ask+TakeProfit*point;} if(StopLoss==0){SL=0;} else{SL=Ask-StopLoss*point;} OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SL,TP,"",Magi cNumber,0,Blue); } } ////////////////////////////////////////////////// if(Cl2>Cl1){ if(orderstotal()<MaxTrades&&Time0!=Time[0]) { { // open orders Time0=Time[0]; } //Sell if(TakeProfit==0){TP=0;} else{TP=Bid-TakeProfit*point;} if(StopLoss==0){SL=0;} else{SL=Bid+StopLoss*point;} OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SL,TP,"",Mag icNumber,0,Red); } } return(0); } //+------------------------------------------------------------------+ void CloseBuyOrders() { for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol()) { if (OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,3); } } } } void CloseSellOrders() { for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol()) { if (OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Ask,3); } } } } void MoveTrailingStop() { for(int cnt=0;cnt<OrdersTotal();cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if(OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&& OrderMagicNumber()==MagicNumber) { if(OrderType()==OP_BUY) { if(TrailingStop>0&&NormalizeDouble(Ask-TrailingStep*point,digits)>NormalizeDouble(OrderOp enPrice()+TrailingStop*point,digits)) { if((NormalizeDouble(OrderStopLoss(),digits)<Normal izeDouble(Bid-TrailingStop*point,digits))||(OrderStopLoss()==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),Normali zeDouble(Bid-TrailingStop*point,digits),OrderTakeProfit(),0,Blu e); } } } else { if(TrailingStop>0&&NormalizeDouble(Bid+TrailingSte p*point,digits)<NormalizeDouble(OrderOpenPrice()-TrailingStop*point,digits)) { if((NormalizeDouble(OrderStopLoss(),digits)>(Norma lizeDouble(Ask+TrailingStop*point,digits)))||(Orde rStopLoss()==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),Normali zeDouble(Ask+TrailingStop*point,digits),OrderTakeP rofit(),0,Red); } } } } } } اعتمدت هنا على دالة اغلاق على ربح معين لكن لو امكن جعل الطريقة كما شرحتها يخرج عند اشارة عكسية مهما كان الربح كبير او صغير او حتى على نقطة التعادل double profit(){ double c; for(int i=0;i<OrdersTotal();i++){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Ma gicNumber){ c=c+OrderProfit(); } } return(c); } [/PHP] طبعا ان يحافظ على الصفقات الخاسرة ويضاعف اللوت 1 2 3 4 5 اي كل مرة +1 وعندما تكون الاشارة عكسية والمحصلة ربح يغلق كل الصفقات ويعيد من جديد وبارك الله فيك |
رد: دورة تعليم برمجة الاكسبريت
سؤال للاساتذ موفينج لدي اكسبيرت احاول ان اتعلم البرمجة من خلاله ولكن لدي مشكلة لم اجد لها حل وارجوا منك اعطائي المعادلة اللازمة : المشكلة هي عند تحقق شروط الدخول للصفقة شراء او بيع الاكسبيرت يفتح صفقة وعند وصول الصفقة للهدف لا يتوقف الاكسبيرت عن فتح الصفقات لان مازالت جميع الشروط متحققة للبيع او للشراء ارجوا منكم المساعدة وشكرا .
|
رد: دورة تعليم برمجة الاكسبريت
للتذكير
|
رد: دورة تعليم برمجة الاكسبريت
متابع معك وجزاك الله خيرا
|
رد: دورة تعليم برمجة الاكسبريت
اقتباس:
|
رد: دورة تعليم برمجة الاكسبريت
اقتباس:
|
رد: دورة تعليم برمجة الاكسبريت
اقتباس:
واهلا بعودتك معنا |
رد: دورة تعليم برمجة الاكسبريت
1 مرفق
اقتباس:
http://www.fx-arabia.com/vb/images/icons/icon7.gif |
رد: دورة تعليم برمجة الاكسبريت
اقتباس:
double diStochastic0=iStochastic(NULL,60,5,3,3,MODE_EMA,P RICE_CLOSE,MODE_MAIN,3); double d1=(15); double diStochastic2=iStochastic(NULL,60,5,3,3,MODE_EMA,P RICE_CLOSE,MODE_MAIN,3); double d3=(85); [/PHP] لاحظ اخي هنا المستويات التي يشتري منها الاكسبريت d1=15 غيره مثل ما تريد و d2=85 غيره مثل ما تريد |
رد: دورة تعليم برمجة الاكسبريت
اقتباس:
[PHP]extern double d1=15; extern double d3=85;[/PHP] |
رد: دورة تعليم برمجة الاكسبريت
بصراحه شرح اكتر من رائع وبسيط جدا وانا كان ليا استفسار دلوقتى اللى انا فهمته ان الاكسبرت عشان يشتغل لازم احطله كل الشروط اللى هيشتغل بها طيب هل ينفع ياخد اوامر للبيع والشراء من شئ خارجى؟ الايميل مثلا يعنى على سبيل المثال هنفترض بيجيلى ايميلات توصيات هل يمكن عمل اكسبرت يقوم بقراية معلومات الاوامر من الايميل اعتقد ان الاكسبرت نفسه مايقدرش يروح على الميل ويقرا منه بس هل ممكن وجود برنامج وسيط او اى شئ وسيط يربط مابين الايميل ويخلى الاكسبرت يعرف يقرأ الداتا دى يعنى انا عارف ان الاكسبرت يقدر يقرا من ملفات ال DLL هل لو تم حفظ معلومات البيع والشراء من الايميل بشكل ما وحفظها فى ملف DLL هل من الممكن ان يقوم الاكسبرت بقرائتها من ملف ال DLL ؟؟ فى انتظار ردك الغالى |
رد: دورة تعليم برمجة الاكسبريت
اقتباس:
الحقيقة انا بشكرك على تقديم المساعدة للجميع و باخلاص شديد بالنسبة لى انا مبرمج سى شارب و قررت استفيد من خبرتك فى برمجة الاكسبريتات و اللى واضح انك فعلا متمكن ربنا يزيدك علما انا بحاول اجمع دروسك بالترتيب بس بصراحة مش قادر لاسباب كتيرة 1- طبعا هناك اصدقاء لديهم اكسبريتات تحتاج الى تعديلات حتى يستفيدوا منها و لكن هذا بصراحة يشتت التسلسل للدروس و بالتالى الواحد بيفقد التركيز فى اوقات كثيرة 2- هذا الموضوع تعليمى مشكورا منك و ليس الزاما بينما انا و غيرى نريد ان نتعلم كيف نصطاد السمك لذلك اريد منك لو تكرمت تقوم بشرح اكسبريت بسيط يقوم بعملية الشراء و البيع المباشر بدون اى مؤشرات حتى نتعلم الاساسيات و نتأكد من تنصيبه على الشارت و تفعيله بنجاح 3- نقوم باستخدام بعض المؤشرات البسيطة مثلا عند اغلاقات الشمعة او افتتاح الاسواق او المؤشرات التقليدية 4- اتمنى ان يكون هناك واجبات و الاسئلة تكون فى المرحلة اللى احنا فيها الى ان تصل بنا الى مستوى قريب منك 5- فى حالة مثلا هناك دالات جاهزة مثل الارقام العشرية او عدد الصفقات المفتوحة يمكننا ان نستأذنك بارفاقها لنا 6- ارجو منك لو تكرمت ترتيب الدورس مثل الدرس الاول و الثانى و هكذا 7- اعذرنى انى جئت متأخر و لكنى كنت ابحث عن مساعد مثلك |
رد: دورة تعليم برمجة الاكسبريت
اقتباس:
بالنسبة لك مثلا ستجد ان اللغة بسيطة جدا لانها اساسا مشتقة من لغة c نفس الحلقات التكرارية نفس المتغيرات تقريبا ممكن ان تدمج لغة c# مع mql4 لعمل مؤشر او اكسبريت قوي وذلك عن طريق dll |
رد: دورة تعليم برمجة الاكسبريت
اقتباس:
لو انك مبرمج او لك نضرة عن البرمجة فملفات dll ممكن تعمل اي دوال ممكن تتخيلها |
الساعة الآن 03:54 PM |
Powered by vBulletin® Copyright ©2000 - 2025
جميع الحقوق محفوظة الى اف اكس ارابيا www.fx-arabia.com