قمت بتجربت الإكسبرت
للأسف لا أدري لمذا يفتح صفقات البيع فقط
في البداية لم يكن يفتح أي صفقة إطلاقا
و عندما جربت أن أعطي للمتغير x قيمة إبتدائية سواءا كانت 1 أو -1 يفتح صفقات البيع فقط
الإكسبرت في المرفقات
|
جديد المواضيع |
|
منتدى المؤشرات و الاكسبيرتات تعليم برمجة الاكسبيرت ، اكسبيرت مجانى ، برمجة مؤشرات ، مؤشر ، تصميم اكسبيرت مجانا ، اكسبيرتات جديدة ، مؤشرات جديدة ، كل ما يتعلق بالتحليل و الخاص بالمؤشرات الفنية او الرقمية ، Expert advisor ، mql ، mql4 ، دورة برمجة ، برمجة اكسبيرت ، اكسبيرت رابح ، اكسبيرت جيد ، ادارة حسابات ، تداول الى ، ميتاتريدر ، تحميل منصة ، منصة تداول ، برمجة مؤشر ، مكتبة مؤشرات ، مؤشر جديد ، مؤشرات جديدة ، مؤشر حصرى ، احدث مؤشر . |
![]() |
|
أدوات الموضوع |
![]() |
المشاركة رقم: 611 | ||||||||||||||||||||||||
|
كاتب الموضوع :
اسلام العوامى
المنتدى :
منتدى المؤشرات و الاكسبيرتات
![]() قمت بتجربت الإكسبرت |
||||||||||||||||||||||||
|
#611
|
|
|
|
![]() قمت بتجربت الإكسبرت
للأسف لا أدري لمذا يفتح صفقات البيع فقط في البداية لم يكن يفتح أي صفقة إطلاقا و عندما جربت أن أعطي للمتغير x قيمة إبتدائية سواءا كانت 1 أو -1 يفتح صفقات البيع فقط الإكسبرت في المرفقات |
![]() |
المشاركة رقم: 612 | ||||||||||||||||||||||||
|
كاتب الموضوع :
اسلام العوامى
المنتدى :
منتدى المؤشرات و الاكسبيرتات
![]() |
||||||||||||||||||||||||
|
#612
|
|
|
|
![]() |
![]() |
المشاركة رقم: 613 | ||||||||||||||||||||||||
|
كاتب الموضوع :
اسلام العوامى
المنتدى :
منتدى المؤشرات و الاكسبيرتات
![]() السلام عليكم |
||||||||||||||||||||||||
|
#613
|
|
|
|
![]() السلام عليكم
أستاذ إسلام لقد وجدت الحل للمشكلة بعد عدت تجارب وجدت أن المتغير x عرفته أنت في شكل bool و بعد ذالك أعطيته قيمة 1 و -1 و bool لا تقبل -1 بل تقبل 0 و 1 يعني أماأن نغير الأرقام إلى 0 و 1 أو نعرف x في شكل int و ليس bool هذا الخطأ الأول الخطأ الثاني حتى لو غيرنا القيم ل 0 و 1 يبقى يفتح صفقات بيع فقط لأنك لم تضف كلمة else في الشرط الثاني الخاص بالبيع بعد قيامي بهذه التغييرات حلت المشكلة |
![]() |
المشاركة رقم: 614 | ||||||||||||||||||||||||
|
كاتب الموضوع :
اسلام العوامى
المنتدى :
منتدى المؤشرات و الاكسبيرتات
![]() سؤال برمجي بسيط أخر من فضلك أخي إسلام |
||||||||||||||||||||||||
|
#614
|
|
|
|
![]() سؤال برمجي بسيط أخر من فضلك أخي إسلام
ماهو الكود الخاص بالقيام بإغلاق صفقة معينة و محددة عند تحقق شرط معين و محدد مثلا تم فتح صفقات يدويا بعد ذالك وضعنا الأكسبرت عند تحقق شرط معين مثلا فتحنا صفقة شراء يدويا و تقاطع موفنج سريع مع موفنج بطيئ للأسفل فيقوم الأكسبرت بغلق صفقة الشراء عند تحقق هذا الشرط أو مثلا فتحنا يدويا صفقة بيع و وصل تشبع سعري لمستوى معين في مؤشر ال RSI مثلا عندما يتحقق ذالك الشرط يقوم الأكسبرت بغلق صفقة البيع أرجو وضع كود غلق الصفقات و إذا أمكن مثال أو شرح بسيط أمام الكود |
![]() |
المشاركة رقم: 615 | |||||||||||||||||||||||||||||||||||||||||||||||||
|
كاتب الموضوع :
اسلام العوامى
المنتدى :
منتدى المؤشرات و الاكسبيرتات
![]()
|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
#615
|
|||||||||||||||||||||
|
|||||||||||||||||||||
![]()
كود:
bool OrderClose( int ticket, // ticket double lots, // volume double price, // close price int slippage, // slippage color arrow_color // color ); |
![]() |
المشاركة رقم: 616 | |||||||||||||||||||||||||||||||||||||||||||||
|
كاتب الموضوع :
اسلام العوامى
المنتدى :
منتدى المؤشرات و الاكسبيرتات
![]()
اسف جدا أنا مبتدأ كثيير في البرمجة لم أفهم جيدا مثلا أريد أغلاق صفقة الشراء التي تم إفتتاحها يدويا عند وصول مستوى ال RSI إلى 75 وهذا الكود هنا كود:
if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75) { OrderClose(ticket,lot,Ask,3,Red); } الخانة الثانية lot مذا أضع فيها ؟ الصفقات يتم فتحها يدويا بلوت عشوائي يعني غير معروف !! الخانة الثالثة ASK في أمر إغلاق الصفقات نستخدم ASK فقط ولا نستخدم BID صحيح ؟ هل ممكن ترسل لي الحلقة For Loop كاملتا أعرف أن الحلقة تكتب بهذا الشكل كمثال لكن لم أعرف تركيبها أو إستخدامها كود:
for(int i = 0 , i < 10 , i++) { } أرجو المساعدة |
|||||||||||||||||||||||||||||||||||||||||||||
|
#616
|
|||||||||||||||||||||
|
|||||||||||||||||||||
![]()
اسف جدا أنا مبتدأ كثيير في البرمجة لم أفهم جيدا مثلا أريد أغلاق صفقة الشراء التي تم إفتتاحها يدويا عند وصول مستوى ال RSI إلى 75 وهذا الكود هنا كود:
if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75) { OrderClose(ticket,lot,Ask,3,Red); } الخانة الثانية lot مذا أضع فيها ؟ الصفقات يتم فتحها يدويا بلوت عشوائي يعني غير معروف !! الخانة الثالثة ASK في أمر إغلاق الصفقات نستخدم ASK فقط ولا نستخدم BID صحيح ؟ هل ممكن ترسل لي الحلقة For Loop كاملتا أعرف أن الحلقة تكتب بهذا الشكل كمثال لكن لم أعرف تركيبها أو إستخدامها كود:
for(int i = 0 , i < 10 , i++) { } أرجو المساعدة |
![]() |
المشاركة رقم: 617 | |||||||||||||||||||||||||||||||||||||||||||||
|
كاتب الموضوع :
اسلام العوامى
المنتدى :
منتدى المؤشرات و الاكسبيرتات
![]()
في السؤال السابق أعتقد يمكن إستخدام الأمر OrderClose أو OrderModify أيضا أعتقد بتقريب الستوب فيه لكن كيف يتم إستخدامه ؟ و كيف يعرف الأكسبرت ال ticket أو order ID مع العلم أن الصفقات تم إفتتاحهم عشوائيا و يدويا و الأكسبرت يجب أن يغلق نوع محدد من الصفقات على الشارت الموضوع فيه فقط مثلا يغلق صفقات البيع إذا تحقق شرط معين في الشارت الموضوع فيه و كيف يقوم الإكسبرت بفحص إذا فيه صفقات مفتوحة جديدة أم لا |
|||||||||||||||||||||||||||||||||||||||||||||
|
#617
|
|||||||||||||||||||||
|
|||||||||||||||||||||
![]()
في السؤال السابق أعتقد يمكن إستخدام الأمر OrderClose أو OrderModify أيضا أعتقد بتقريب الستوب فيه لكن كيف يتم إستخدامه ؟ و كيف يعرف الأكسبرت ال ticket أو order ID مع العلم أن الصفقات تم إفتتاحهم عشوائيا و يدويا و الأكسبرت يجب أن يغلق نوع محدد من الصفقات على الشارت الموضوع فيه فقط مثلا يغلق صفقات البيع إذا تحقق شرط معين في الشارت الموضوع فيه و كيف يقوم الإكسبرت بفحص إذا فيه صفقات مفتوحة جديدة أم لا |
![]() |
المشاركة رقم: 618 | ||||||||||||||||||||||||
|
كاتب الموضوع :
اسلام العوامى
المنتدى :
منتدى المؤشرات و الاكسبيرتات
![]() السلام عليكم إخي إسلام كود:
// تعريف بمتغيرات و مدخلات الموفنج السريع extern string s1 = "faste MA setting " ; // faste MA setting extern int FastMAperiod = 10 ; // Fast Period extern int FastMAshift = 0 ; // Fast Shift extern ENUM_MA_METHOD FastMAmethod = 0; // Fast Methode extern ENUM_APPLIED_PRICE FastMAapllyto = 0; // Fast Applied to // تعريف بمتغيرات و مدخلات الموفنج البطيئ extern string s2 = "SLow MA setting " ; // SLow MA setting extern int SLowMAperiod = 20 ; // SLow Period extern int SLowMAshift = 0 ; // SLow Shift extern ENUM_MA_METHOD SLowMAmethod = 0; // SLow Methode extern ENUM_APPLIED_PRICE SLowMAapllyto = 0; // SLow Applied to //extern string s3 = " money management " ; // money management //extern int takeprofit = 40; // Take Profit //extern int stoploss = 20; // STOP Loss //extern double Lot = 0.01; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- double FastMALast = iMA(NULL,0,FastMAperiod,FastMAshift,FastMAmethod,FastMAapllyto,2); // هذا السطر لجب قيمة الموفنج السريع للشمعة 2 و تخزينها double FastMANow = iMA(NULL,0,FastMAperiod,FastMAshift,FastMAmethod,FastMAapllyto,1); // هذا السطر لجلب قيمة الموفنج السريع للشمعة 1 و تخزينها double slowMALast = iMA(NULL,0,FastMAperiod,FastMAshift,FastMAmethod,FastMAapllyto,2); // هذا السطر لجب قيمة الموفنج البطيئ للشمعة 2 و تخزينها double slowMANow = iMA(NULL,0,FastMAperiod,FastMAshift,FastMAmethod,FastMAapllyto,1); // هذا السطر لجلب قيمة الموفنج البطيئ للشمعة 1 و تخزينها for(int i=0 ; i < OrdersTotal() ; i++ ) // هذا سطر هو حلقة التكرارية { OrderSelect(i,SELECT_BY_POS,MODE_TRADES) ; // هذا السطر لإختيار الصفقة if(OrderSymbol()==Symbol()) // هذا السطر لإختيار الصفقات التي مفتوحة على الشارت الموضوع عليه الأكسبرت { if(FastMALast<slowMALast && FastMANow>slowMANow) // هذا شرط التقاطع للأسفل { // هذا المكان لوضع أمر الإغلاق OrderModify } } } } //+------------------------------------------------------------------+ السطور التي كتبتها مشروحة بالعربي داخل الكود هذا ما إستطعت كتابته إلى حد الأن و لم أستطع الإكمال الأن أعتقد يجب إستخدام أمر OrderClose أو OrderModify لكن كيف يمكننا ملئهم الإكسبرت في المرفقات |
||||||||||||||||||||||||
|
#618
|
|
|
|
![]() السلام عليكم إخي إسلام
هذا ما إستطعت كتابته إلى حد الأن في إنتضار إجابتك ( هذا أكسبرت لإغلاق صفقات البيع عند التقاطع للأعلى و إغلاق صفقات الشراء عند التقاطع للأسفل ) كود:
// تعريف بمتغيرات و مدخلات الموفنج السريع extern string s1 = "faste MA setting " ; // faste MA setting extern int FastMAperiod = 10 ; // Fast Period extern int FastMAshift = 0 ; // Fast Shift extern ENUM_MA_METHOD FastMAmethod = 0; // Fast Methode extern ENUM_APPLIED_PRICE FastMAapllyto = 0; // Fast Applied to // تعريف بمتغيرات و مدخلات الموفنج البطيئ extern string s2 = "SLow MA setting " ; // SLow MA setting extern int SLowMAperiod = 20 ; // SLow Period extern int SLowMAshift = 0 ; // SLow Shift extern ENUM_MA_METHOD SLowMAmethod = 0; // SLow Methode extern ENUM_APPLIED_PRICE SLowMAapllyto = 0; // SLow Applied to //extern string s3 = " money management " ; // money management //extern int takeprofit = 40; // Take Profit //extern int stoploss = 20; // STOP Loss //extern double Lot = 0.01; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- double FastMALast = iMA(NULL,0,FastMAperiod,FastMAshift,FastMAmethod,FastMAapllyto,2); // هذا السطر لجب قيمة الموفنج السريع للشمعة 2 و تخزينها double FastMANow = iMA(NULL,0,FastMAperiod,FastMAshift,FastMAmethod,FastMAapllyto,1); // هذا السطر لجلب قيمة الموفنج السريع للشمعة 1 و تخزينها double slowMALast = iMA(NULL,0,FastMAperiod,FastMAshift,FastMAmethod,FastMAapllyto,2); // هذا السطر لجب قيمة الموفنج البطيئ للشمعة 2 و تخزينها double slowMANow = iMA(NULL,0,FastMAperiod,FastMAshift,FastMAmethod,FastMAapllyto,1); // هذا السطر لجلب قيمة الموفنج البطيئ للشمعة 1 و تخزينها for(int i=0 ; i < OrdersTotal() ; i++ ) // هذا سطر هو حلقة التكرارية { OrderSelect(i,SELECT_BY_POS,MODE_TRADES) ; // هذا السطر لإختيار الصفقة if(OrderSymbol()==Symbol()) // هذا السطر لإختيار الصفقات التي مفتوحة على الشارت الموضوع عليه الأكسبرت { if(FastMALast<slowMALast && FastMANow>slowMANow) // هذا شرط التقاطع للأسفل { // هذا المكان لوضع أمر الإغلاق OrderModify } } } } //+------------------------------------------------------------------+ السطور التي كتبتها مشروحة بالعربي داخل الكود هذا ما إستطعت كتابته إلى حد الأن و لم أستطع الإكمال الأن أعتقد يجب إستخدام أمر OrderClose أو OrderModify لكن كيف يمكننا ملئهم الإكسبرت في المرفقات |
![]() |
المشاركة رقم: 619 | ||||||||||||||||||||||||
|
كاتب الموضوع :
اسلام العوامى
المنتدى :
منتدى المؤشرات و الاكسبيرتات
![]() لقد قمت ببرمجت أكسبرت كود:
// تعريف بمتغيرات و مدخلات الموفنج السريع extern string s1 = "faste MA setting " ; // faste MA setting extern int FastMAperiod = 10 ; // Fast Period extern int FastMAshift = 0 ; // Fast Shift extern ENUM_MA_METHOD FastMAmethod = 0; // Fast Methode extern ENUM_APPLIED_PRICE FastMAapllyto = 0; // Fast Applied to // تعريف بمتغيرات و مدخلات الموفنج البطيئ extern string s2 = "SLow MA setting " ; // SLow MA setting extern int SLowMAperiod = 20 ; // SLow Period extern int SLowMAshift = 0 ; // SLow Shift extern ENUM_MA_METHOD SLowMAmethod = 0; // SLow Methode extern ENUM_APPLIED_PRICE SLowMAapllyto = 0; // SLow Applied to //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- double FastMALast = iMA(NULL,0,FastMAperiod,FastMAshift,FastMAmethod,FastMAapllyto,2); // هذا السطر لجب قيمة الموفنج السريع للشمعة 2 و تخزينها double FastMANow = iMA(NULL,0,FastMAperiod,FastMAshift,FastMAmethod,FastMAapllyto,1); // هذا السطر لجلب قيمة الموفنج السريع للشمعة 1 و تخزينها double slowMALast = iMA(NULL,0,FastMAperiod,FastMAshift,FastMAmethod,FastMAapllyto,2); // هذا السطر لجب قيمة الموفنج البطيئ للشمعة 2 و تخزينها double slowMANow = iMA(NULL,0,FastMAperiod,FastMAshift,FastMAmethod,FastMAapllyto,1); // هذا السطر لجلب قيمة الموفنج البطيئ للشمعة 1 و تخزينها for(int i=OrdersTotal()-1 ; i >=0; i-- ) // هذا سطر هو حلقة التكرارية { OrderSelect(i,SELECT_BY_POS,MODE_TRADES) ; // هذا السطر لإختيار و تحديد صفقة معينة int ticket=OrderTicket(); // هذا السطر من أجل إمكانية تحديد قيمة الدالة أو الصفقة بدلالة تيكت double lots=OrderLots(); // هذا السطر من أجل إمكانية تحديد قيمة الدالة أو الصفقة بدلالة اللوت int type=OrderType(); // هذا السطر من أجل إمكانية تحديد قيمة الدالة أو الصفقة بدلالة نوع الصفقة , شراء أو بيع if(OrderSymbol()==Symbol()) // هذا السطر لإختيار الصفقات التي مفتوحة على الشارت الموضوع عليه الأكسبرت { if(FastMALast<slowMALast && FastMANow>slowMANow) // هذا شرط التقاطع للأسفل // هذا الشرط يعني أن السعر في صعود // هذا يعني أنه يجب غلق صفقات البيع { // هذا المكان لوضع أمر الإغلاق الصفقات if(type==OP_SELL) // هذا السطر هو أمر لإغلاق صفقة البيع { OrderClose(ticket,lots,Ask,3); } else if(type==OP_BUY && FastMALast>slowMALast && FastMANow<slowMANow) // هذا السطر هو أمر لإغلاق صفقة الشراء في حالة لم يحدث الشرط الذي في الأعلى و حدث العكس { OrderClose(ticket,lots,Bid,3); } } } } } |
||||||||||||||||||||||||
|
#619
|
|
|
|
![]() لقد قمت ببرمجت أكسبرت
كل شيئ مشروح بالعربية داخل الكود لكيفية البرمجة أرجو الإطلاع على الكود و مراجعت صحته و إعطاء بعض النصائح لأنني مبتدأ في البرمجة كود:
// تعريف بمتغيرات و مدخلات الموفنج السريع extern string s1 = "faste MA setting " ; // faste MA setting extern int FastMAperiod = 10 ; // Fast Period extern int FastMAshift = 0 ; // Fast Shift extern ENUM_MA_METHOD FastMAmethod = 0; // Fast Methode extern ENUM_APPLIED_PRICE FastMAapllyto = 0; // Fast Applied to // تعريف بمتغيرات و مدخلات الموفنج البطيئ extern string s2 = "SLow MA setting " ; // SLow MA setting extern int SLowMAperiod = 20 ; // SLow Period extern int SLowMAshift = 0 ; // SLow Shift extern ENUM_MA_METHOD SLowMAmethod = 0; // SLow Methode extern ENUM_APPLIED_PRICE SLowMAapllyto = 0; // SLow Applied to //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- double FastMALast = iMA(NULL,0,FastMAperiod,FastMAshift,FastMAmethod,FastMAapllyto,2); // هذا السطر لجب قيمة الموفنج السريع للشمعة 2 و تخزينها double FastMANow = iMA(NULL,0,FastMAperiod,FastMAshift,FastMAmethod,FastMAapllyto,1); // هذا السطر لجلب قيمة الموفنج السريع للشمعة 1 و تخزينها double slowMALast = iMA(NULL,0,FastMAperiod,FastMAshift,FastMAmethod,FastMAapllyto,2); // هذا السطر لجب قيمة الموفنج البطيئ للشمعة 2 و تخزينها double slowMANow = iMA(NULL,0,FastMAperiod,FastMAshift,FastMAmethod,FastMAapllyto,1); // هذا السطر لجلب قيمة الموفنج البطيئ للشمعة 1 و تخزينها for(int i=OrdersTotal()-1 ; i >=0; i-- ) // هذا سطر هو حلقة التكرارية { OrderSelect(i,SELECT_BY_POS,MODE_TRADES) ; // هذا السطر لإختيار و تحديد صفقة معينة int ticket=OrderTicket(); // هذا السطر من أجل إمكانية تحديد قيمة الدالة أو الصفقة بدلالة تيكت double lots=OrderLots(); // هذا السطر من أجل إمكانية تحديد قيمة الدالة أو الصفقة بدلالة اللوت int type=OrderType(); // هذا السطر من أجل إمكانية تحديد قيمة الدالة أو الصفقة بدلالة نوع الصفقة , شراء أو بيع if(OrderSymbol()==Symbol()) // هذا السطر لإختيار الصفقات التي مفتوحة على الشارت الموضوع عليه الأكسبرت { if(FastMALast<slowMALast && FastMANow>slowMANow) // هذا شرط التقاطع للأسفل // هذا الشرط يعني أن السعر في صعود // هذا يعني أنه يجب غلق صفقات البيع { // هذا المكان لوضع أمر الإغلاق الصفقات if(type==OP_SELL) // هذا السطر هو أمر لإغلاق صفقة البيع { OrderClose(ticket,lots,Ask,3); } else if(type==OP_BUY && FastMALast>slowMALast && FastMANow<slowMANow) // هذا السطر هو أمر لإغلاق صفقة الشراء في حالة لم يحدث الشرط الذي في الأعلى و حدث العكس { OrderClose(ticket,lots,Bid,3); } } } } } |
![]() |
المشاركة رقم: 620 | ||||||||||||||||||||||
|
كاتب الموضوع :
اسلام العوامى
المنتدى :
منتدى المؤشرات و الاكسبيرتات
![]() مساء الخير |
||||||||||||||||||||||
|
#620
|
|
|
|
![]() مساء الخير
عفوا انا لم اجد روابط المحاضرات و ارغب فعلا بتعلم اللغة هل يمكن افادتي لو سمحتم مع جزيل الشكر |
![]() |
مواقع النشر (المفضلة) |
الكلمات الدلالية (Tags) |
للاسئلة, موضوع, محشش, والاستفساراتmql4 |
|
|