مشاهدة النسخة كاملة : موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4
اسلام العوامى
13-09-2013, 08:06 PM
سوف يكون هذا الموضوع مخصص لاستقبال استفساراتكم وللنقاش حول
دورة تعليم البرمجة الاحترافية بلغة mql4 (http://www.fx-arabia.com/vb/showthread.php?t=34301)
khaled47
13-09-2013, 10:05 PM
حبيت اشكرك على الفكرة الجميله اللى ممكن تخلى فكرنا يشتغل فى اتجاه جديد نفيد ونستفيد منه معاك ان شاء الله
Mohamed_Amr
13-09-2013, 10:32 PM
تسلم اخى الحبيب وإن شاء الله متابع معاك
وبالتوفيق دائما
كفو07
14-09-2013, 11:52 AM
الله يعطيك القوه والعافيه
اعتقد علي حسب اسلوبك راح يتشجع الجميع لان في منتديات ثانيه ماوصلو الفكره بشكل مناسب حنا منظرين شروحاتك بالتوفيق
ياليت تكون علي اليوتوب تكون ممتازه مجرد اقتراح
بو هيا
14-09-2013, 01:39 PM
جراك الله خير صراحه نريد ان نتعلم هاذي الغة لانها مهمه
اسلام العوامى
18-09-2013, 11:28 AM
تم رفع الدرس الاول فى موضوع الدورة وهو عبارة عن مقدمة عامة
اتمنى ان ارى تعليقاتكم هنا فى هذا الموضوع بعد مشاهدته لنتناقش فيه وعذرا على توترى فى الفيديو فهذه اول مرة اقوم فيها بتسجيل فيديو :1 (114):
اسلام العوامى
21-09-2013, 09:41 AM
تم رفع الدرس الثانى وهو عبارة عن شرح للمتغيرات و انواعها وطريقة كتابتها
اتمنى ان ارى مشاركاتكم بعد مشاهدة الدرس للرد على اى استفسار او سؤال
lord_galal
21-09-2013, 07:25 PM
اين روابط تحميل الدروس عزيزى
وشكرا لك مقدما
اسلام العوامى
21-09-2013, 09:19 PM
اين روابط تحميل الدروس عزيزى
وشكرا لك مقدما
الدروس كل يوم جمعة على هذا الرابط
دورة تعليم البرمجة الاحترافية بلغة mql4 (http://www.fx-arabia.com/vb/showthread.php?t=34301)
اسلام العوامى
23-09-2013, 12:38 PM
تم رفع الدرس الثانى وهو عبارة عن شرح للمتغيرات و انواعها وطريقة كتابتها
اتمنى ان ارى مشاركاتكم بعد مشاهدة الدرس للرد على اى استفسار او سؤال
تطبيق على ماتم شرحة
1- افتح اكسبيرت جديد وقم بحفظة فى مجلد الاكسبيرتات باسم fx-arabia
2 - قم بكتابة متغير واحد لكل نوع متغيرات
3 - قم بارفاق التطبيق بصيغته البرمجية والتنفيذية
اتمنى ان يشارك كل من يتابع ويريد تعلم البرمجة حتى نقيس مدى استيعاب الدروس
اسلام العوامى
29-09-2013, 09:32 AM
اعتذر عن عدم رفع الدرس يوم الجمعه على ان يتم رفعة يوم الاربعاء لظروف انقطاع الانترنت
simo888
04-10-2013, 02:52 PM
متابعين معك الدورة اخ العوامى
في انتضار الجديد
تحياتي
meto123123
05-10-2013, 12:09 PM
متابعين معاك بانتظام اخى العوامى
جزاك الله خيرا
mmxxmm
05-10-2013, 05:00 PM
متاااااااااااااااااابع بقوة
وانتظر الجديد
ابوصهيب
06-10-2013, 12:05 AM
السلام عليكم ورحمة الله وبركاته
شكرا لك استاذ العوامي على مجهوداتك ،
لي طلب من فضلك :
مؤشر تقاطع EMA5 و EMA12 + رسالة صوتية لتنبيه لاسم الزوج
شكرا مرة ثانية
اسلام العوامى
06-10-2013, 09:32 AM
السلام عليكم ورحمة الله وبركاته
شكرا لك استاذ العوامي على مجهوداتك ،
لي طلب من فضلك :
مؤشر تقاطع EMA5 و EMA12 + رسالة صوتية لتنبيه لاسم الزوج
شكرا مرة ثانية
مرفق المؤشر ولى رجاء ان تكون الطلبات فى مواضيع منفصلة عن هذا الموضوع حتى يكون مخصص للاسئلة البرمجية والتعليم فقط
lord_galal
06-10-2013, 02:55 PM
متابع معاك حبيبى
ولكن يرجى رفع جودة الفيديو لان صعب مشاهدة الكلام به
شكرا لك
سمير محمد ارمان
06-10-2013, 03:37 PM
متابعين معك الدورة اخ العوامى
في انتظار الجديد ان شاء الله
تحياتي لك
react!on
06-10-2013, 04:57 PM
في انتظـــــــــــار حضرتك من اخر فيديو
ابوصهيب
06-10-2013, 06:58 PM
السلام عليكم ورحمة الله وبركاته
شكرا لك يا استاذ
ومعذرة ان اخطأت ، لن يتكرر مرة ثانية
بارك الله لك في مالك وأهلك و في ما تسعى اليه
دمتم في رعاية الله وحفظه
اسلام العوامى
11-10-2013, 06:34 PM
تم رفع الدرس الثالث من دورة البرمجة
ارجوا مشاهدتة جيدا و تنفيذ التطبيق على الدرس
التطبيق هو عمل اكسبيرت جديد وحفظه باسم fx-arabia داخل مجلد الاكسبيرت ثم استخدام الاكواد المشروحة بالدرس الثالث داخل الاكسبيرت
انتظر اسئلتكم واستفساراتكم وايضا تطبيقاتكم طوال الاسبوع الى الجمعة القادمة لاتأكد من استيعاب هذا الجزء لننتقل الى جزء اخر
meto123123
15-10-2013, 07:23 PM
مشكور اخى
كل عام وانتا بخير عيد سعيد
فى انتظار الجديد
اسلام العوامى
18-10-2013, 08:34 PM
،،،تم رفع الدرس الرابع فى موضوع دورة البرمجة
الرجاء الانتباه جيدا لهذا الدرس والدروس السابقة لان الدروس القادمة سنبدأ فى تصميم اكسبيرت كامل من البداية للنهاية،،،
MOVING_AVERAGE
19-10-2013, 12:05 PM
بالتوفيق ان شاء الله
اسلام العوامى
19-10-2013, 04:30 PM
بالتوفيق ان شاء الله
،،،شكرا على المرور الطيب،،،:1 (114):
اسلام العوامى
19-10-2013, 04:46 PM
:1 (114):،،،إختبر نفسك،،،:1 (114):
1- قم بعمل اكسبيرت جديد وحفظه فى مجلد الاكسبيرتات .
2 - قم بوضع اسمك فى حقوق الملكية .
3 - قم باستخدام الاكواد المناسبة لعمل الاتى :
طباعة اسم الزوج والتايم فريم والوقت والتاريخ للشمعة الحالية على الشارت - التأكد من ان الوظائف الاساسية تعمل بشكل سليم
4 - نفذ الخطوات السابقة لمؤشر واسكريبت مع اظهار مدخلات الاسكريبت فى البداية .
react!on
22-10-2013, 05:52 PM
تمام متابعين بقوه .. الشده يابطل
اسلام العوامى
26-10-2013, 10:32 AM
،،،تم رفع الدرس الخامس ويشرح بالتفصيل طريقة عمل اسكربت لمعرفة بيانات البروكر وبيانات الحساب،،،
،،،فى انتظار الاسئلة والاستفسارات طوال الاسبوع،،،
mzaky
26-10-2013, 08:19 PM
الله يفتح عليك
kh8113000
27-10-2013, 12:41 AM
متابع معكم باذن الله
لقد شاهدت الموضوع الان و باذن الله سأقوم بدراسة الدروس من بدايتها
Ahmed114
27-10-2013, 08:43 AM
الله ينور عليك يا مستر عوامي
اسلام العوامى
01-11-2013, 09:04 PM
،،،تم رفع الدرس السادس بموضوع الدورة،،،
،،،اتمنى لكم مشاهدة طيبة وفى انتظار اسئلتكم واستفساراتكم،،،
كفو07
02-11-2013, 01:40 AM
الله يزيدك علم ونور انا كنت خايف من اول ادخل وما افهم شي لصعوبتها لكن سهوله شرحك خلتني اتحمس واتابع وراح ارجع لدروسك ثاني وثالث
ماشاء الله شرح سهل وخفيف وراح يوصل للجميع واصل بارك الله فيك
اسلام العوامى
08-11-2013, 06:39 PM
،،،تم رفع الدرس السابع بموضوع دورة البرمجة الاحترافية،،،
تحياتي لك و مشكور اخي ....
لي اقتراح في زيادة عدد الفيديوات ...لانني اريد ان اتعلم هذه البرمجية بسرعة ....فطريقة تفسيرك جيدا
تحياتي لك و مشكور اخي ....
لي اقتراح في زيادة عدد الفيديوات ...لانني اريد ان اتعلم هذه البرمجية بسرعة ....فطريقة تفسيرك جيدا
يورو دولار
10-11-2013, 08:00 AM
تسلم يا استااذ على كل الدروس
سؤالي مثلاً
لو وضعت شرط وهو كالتالي
اغلقت الشمعة فوق خط موفينج 200
وrsi فوق 50
شراء
والشمعة الثانية اغلقت بنفس الشرط بالاعلى فهل التنفيذ على اول شمعة فقط تغلق ويتجاهل بقية الشماعات المغلقة برغم تحقيق الشرط.
ام ينفذ الامر لكل شمعه
وكيف يمكن تلافي هذا
Qamar14
10-11-2013, 08:55 AM
تسجيل متابعه
اسلام العوامى
10-11-2013, 09:17 AM
تسلم يا استااذ على كل الدروس
سؤالي مثلاً
لو وضعت شرط وهو كالتالي
اغلقت الشمعة فوق خط موفينج 200
وrsi فوق 50
شراء
والشمعة الثانية اغلقت بنفس الشرط بالاعلى فهل التنفيذ على اول شمعة فقط تغلق ويتجاهل بقية الشماعات المغلقة برغم تحقيق الشرط.
ام ينفذ الامر لكل شمعه
وكيف يمكن تلافي هذا
،،،فى الحالة التى شرحتها سيقوم الاكسبيرت بفتح صفقة عند تحقق الشرطين واذا كانت الدالة موجودة بوظيفة ستارت سيقوم الاكسبيرت كل تك بالبحث عن الشروط وعند تحقق الشرط مرة اخرى سيقوم بفتح صفقة اخرى بمعنى اذا لم تحدد عدد الصفقات المفتوحة للاكسبيرت سيقوم بفتح صفقة كل تك اذا توفرت الشروط،،،
يورو دولار
10-11-2013, 10:32 AM
،،،فى الحالة التى شرحتها سيقوم الاكسبيرت بفتح صفقة عند تحقق الشرطين واذا كانت الدالة موجودة بوظيفة ستارت سيقوم الاكسبيرت كل تك بالبحث عن الشروط وعند تحقق الشرط مرة اخرى سيقوم بفتح صفقة اخرى بمعنى اذا لم تحدد عدد الصفقات المفتوحة للاكسبيرت سيقوم بفتح صفقة كل تك اذا توفرت الشروط،،،
ممتاز افهم من هذا عند تحديد الصفقات المفتوحة
اضمن ان لا يفتح صفقات مع كل شمعة يتحقق بها الشرط
ولكن لو اغلق الاولى بناءً على شروط اخذ الربح
سيتعامل بعدها بفتح صفقه على اعتبار ان الشروط متحققه وهو الآن لا يحمل اي صفقات مفتوحة.
هل هناك شي تنصحني به بحيث لا ينفذ الا مع اول شمعة فوق الخط ويتجاهل البقية حتى وإن اخذ الربح
لا ادري ان وصلت الفكرة او لا
اسلام العوامى
10-11-2013, 11:17 AM
ممتاز افهم من هذا عند تحديد الصفقات المفتوحة
اضمن ان لا يفتح صفقات مع كل شمعة يتحقق بها الشرط
ولكن لو اغلق الاولى بناءً على شروط اخذ الربح
سيتعامل بعدها بفتح صفقه على اعتبار ان الشروط متحققه وهو الآن لا يحمل اي صفقات مفتوحة.
هل هناك شي تنصحني به بحيث لا ينفذ الا مع اول شمعة فوق الخط ويتجاهل البقية حتى وإن اخذ الربح
لا ادري ان وصلت الفكرة او لا
،،،يمكنك كتابة الشرط التالى
if(GlobalVariableGet("NextOrderType")!=1)
وبعد فتح الصفقة
GlobalVariableSet("NextOrderType",1);
فى هذه الحالة انت تخبر الاكسبيرت اذا كانت قيمة GlobalVariable لا تساوى 1 اذا قم بفتح الصفقة وبعد فتحها قم بجعل GlobalVariable تساوى 1
اذا فى التك التى تلى تنفيذ الامر سيرى الاكسبيرت GlobalVariable تساوى 1 ولن يقوم بفتح الصفقة مرة اخرى
وتقوم باضافة نفس الاكواد لصفقة البيع ولكن مع تغيير 1 الى -1
فتصبح سير الاكواد كالتالى
يتحقق الاكسبيرت من قيمة GlobalVariable فيجدها لا تساوى 1 فيقوم بفتح صفقة الشراء ويقوم باعطاء GlobalVariable قيمة 1
فى التك التالى يتحقق الاكسبيرت من قيمة GlobalVariable فيجدها 1 فلا يقوم بفتح صفقة الشراء مرة اخرى الى ان تتحقق شروط البيع فيتحقق الاكسبيرت من GlobalVariable فيجدها لا تساوى -1 فيقوم بفتح صفقة البيع ويقوم باعطاء GlobalVariable قيمة -1 وفى التك التى تليها يقوم بالتحقق من GlobalVariable فيجدها تساوى -1 فلا يفتح صفقة البيع مرة اخرى وهكذا،،،
يورو دولار
10-11-2013, 11:31 AM
،،،يمكنك كتابة الشرط التالى
if(GlobalVariableGet("NextOrderType")!=1)
وبعد فتح الصفقة
GlobalVariableSet("NextOrderType",1);
فى هذه الحالة انت تخبر الاكسبيرت اذا كانت قيمة GlobalVariable لا تساوى 1 اذا قم بفتح الصفقة وبعد فتحها قم بجعل GlobalVariable تساوى 1
اذا فى التك التى تلى تنفيذ الامر سيرى الاكسبيرت GlobalVariable تساوى 1 ولن يقوم بفتح الصفقة مرة اخرى
وتقوم باضافة نفس الاكواد لصفقة البيع ولكن مع تغيير 1 الى -1
فتصبح سير الاكواد كالتالى
يتحقق الاكسبيرت من قيمة GlobalVariable فيجدها لا تساوى 1 فيقوم بفتح صفقة الشراء ويقوم باعطاء GlobalVariable قيمة 1
فى التك التالى يتحقق الاكسبيرت من قيمة GlobalVariable فيجدها 1 فلا يقوم بفتح صفقة الشراء مرة اخرى الى ان تتحقق شروط البيع فيتحقق الاكسبيرت من GlobalVariable فيجدها لا تساوى -1 فيقوم بفتح صفقة البيع ويقوم باعطاء GlobalVariable قيمة -1 وفى التك التى تليها يقوم بالتحقق من GlobalVariable فيجدها تساوى -1 فلا يفتح صفقة البيع مرة اخرى وهكذا،،،
ممتاز وتسلم يا غالي الآن اتضحت الصورة
وسيتم التطبيق بحول الله
اسلام العوامى
17-11-2013, 10:24 AM
،،،تم رفع الدرس رقم 8 ويشرح الحلقات التكرارية وكيفية توظيفها داخل الكود وايضا طريقة رسم المؤشر،،،
،،،هذه الحلقه مهداه الى المبرمج العبقرى Jim dandy الذى كان له دور كبير فى تعليمى البرمجة،،،
كفو07
17-11-2013, 02:24 PM
راح ارسل لااداره او المشرفين المسؤولين مو معقوله شروحات بالامتياز هذا مايثبت الموضوع لازم الكل يستفيد منه
لاني مالفيت شروحات بالفديو في المنتديات الاخري بالسهوله والوضوح هذا
شكرا لك استاذنا العوامي
معاذ عودات
17-11-2013, 04:39 PM
بناءً على طلب الاخوة
تم تثبيت الموضوع
كفو07
17-11-2013, 04:52 PM
شكرا استاذ معاذ
ان شاء الله يستفيد الكل
والله يعين اخونا العوامي علي اكمل الدروس الاكثر من رائعه اتمني من الجميع الاطلاع عليها
اسلام العوامى
17-11-2013, 04:55 PM
،،،شكرا للجميع على ثقتهم الغالية وشكر خاص للادارة لتثبيت الموضوع،،،
،،،وأدعوا الله ان اكون عند حسن ظن الجميع،،،
اسلام العوامى
18-11-2013, 08:50 PM
،،،ازيكم ياشباب،،،:1 (114):
،،،عايز اشوف تطبيقاتكم على الدروس عشان لو حاجة مش واضحة نعيدها تانى قبل ماندخل فى الجديد،،،
ahmed soka
22-11-2013, 02:55 AM
السلام عليكم استاذ العوام سؤال سريع كده هل بعد الانتهاء من الدروس الموجوده حاليا هعرف اعمل مؤشر ؟
هو المؤشر اللي انا عاوز اعمله بسيط جدا هو عباره عن اسهم لما الخطوط تتقاطع مع بعضها وتكون بترتيب معين
اسلام العوامى
22-11-2013, 09:39 AM
السلام عليكم استاذ العوام سؤال سريع كده هل بعد الانتهاء من الدروس الموجوده حاليا هعرف اعمل مؤشر ؟
هو المؤشر اللي انا عاوز اعمله بسيط جدا هو عباره عن اسهم لما الخطوط تتقاطع مع بعضها وتكون بترتيب معين
،،،بالتاكيد ستستطيع عمل اى مؤشر او اكسبيرت تريدة ، فقط تابعنا فى الدورة وستتعلم كل شئ عن برمجة المؤشرات والاكسبيرتات واى استفسار انا موجود للاجابة دائما،،،
،،،تحياتى،،،
اسلام العوامى
22-11-2013, 11:27 PM
،،،تم رفع الدرس التاسع من الدورة فى الموضوع الخاص بها،،،
،،،الدرس يشرح OrderSend و OrdersTotal عن طريق تطبيق عملى لبرمجة اكسبيرت تقاطع موفنجين،،،
amerelhozn
24-11-2013, 12:39 AM
اطلب منك اخى العوامى
ان تشرح لنا اكثر عن الدوال
وتعملنا شرح فيديو لعمل اكسبيرت يعتبر شامل
ومعني شامل انه فيه دوال اوامر معلقة
دالة ربح بالدولار
دالة اوامر ماركت
ومضاعفات
وما الى ذلك
ويكون كلهم فيديو واحد على اكسبيرت واحد
وياريت اثناء الشرح تقولنا ايه الثوابت وايه المتغيرات
مثال :- فى دوال بناخدها زى ماهى قص ولزق ف الميتا ايدتور يادوب بس بنعرف المتغيرات
وفى دوال بتتغير كليا
اكيد انت فهمتني
وياريت الشرح ...والفيديو ومتتاخرش علينا ...
اسلام العوامى
24-11-2013, 11:11 AM
اطلب منك اخى العوامى
ان تشرح لنا اكثر عن الدوال
وتعملنا شرح فيديو لعمل اكسبيرت يعتبر شامل
ومعني شامل انه فيه دوال اوامر معلقة
دالة ربح بالدولار
دالة اوامر ماركت
ومضاعفات
وما الى ذلك
ويكون كلهم فيديو واحد على اكسبيرت واحد
وياريت اثناء الشرح تقولنا ايه الثوابت وايه المتغيرات
مثال :- فى دوال بناخدها زى ماهى قص ولزق ف الميتا ايدتور يادوب بس بنعرف المتغيرات
وفى دوال بتتغير كليا
اكيد انت فهمتني
وياريت الشرح ...والفيديو ومتتاخرش علينا ...
،،،اخى الكريم،،،
،،،لا تتعجل فكل شئ فى اوانه والغرض الاساسى من الدورة هو تعلم البرمجة وليس القص واللصق من اكواد اخرى ولكن معرفة الطريقة الصحيحة لكتابة الكود بطريقتك وفهمه لان كل مبرمج محترف وله اسلوبه الخاص فى كتابة الاكواد،،،
،،،تحياتى،،،
ahmed soka
24-11-2013, 03:51 PM
تم مذاكرة اول فيديو وتاني فيديو وان شاء الله التالت جاي ف الطريق .. بس في مشكلة اني مش عارف احمل الفيديوهات بتظهر مساحته صغيرة جدا
amerelhozn
24-11-2013, 07:55 PM
،،،اخى الكريم،،،
،،،لا تتعجل فكل شئ فى اوانه والغرض الاساسى من الدورة هو تعلم البرمجة وليس القص واللصق من اكواد اخرى ولكن معرفة الطريقة الصحيحة لكتابة الكود بطريقتك وفهمه لان كل مبرمج محترف وله اسلوبه الخاص فى كتابة الاكواد،،،
،،،تحياتى،،،
معاك ف الدورة والله
ده حتى على نهاية الدرس التاسع كنت عامل اكسبيرت لوحدى
بس لسه مستنيين منك الباقي
ههههههه بس ياريت متتاخرش علينا
sunegypt
25-11-2013, 07:33 AM
تم مذاكرة اول فيديو وتاني فيديو وان شاء الله التالت جاي ف الطريق .. بس في مشكلة اني مش عارف احمل الفيديوهات بتظهر مساحته صغيرة جدا
هل هذه المشكله عندى وعند الاخ احمد سوكا فقط ......؟ ام انها عند اكثر من اخ هنا ؟
dhabals
25-11-2013, 07:41 AM
الاستاذ العوامي وكل من لديه خبرة
انا نزلت اكسبرت من منتدانا الغالي وركبته على الميتاتريد ولم يعمل حسب متابعتي له ولدي استفسار عن كيفية تشغيل الاكسبرت على الميتاتريد بحيث يعمل الى ( Auto) بدخول على الصفقات والخروج منها طالما الكمبيوتر شغال
مع الشكر والتقدير
اسلام العوامى
25-11-2013, 01:40 PM
الاستاذ العوامي وكل من لديه خبرة
انا نزلت اكسبرت من منتدانا الغالي وركبته على الميتاتريد ولم يعمل حسب متابعتي له ولدي استفسار عن كيفية تشغيل الاكسبرت على الميتاتريد بحيث يعمل الى ( Auto) بدخول على الصفقات والخروج منها طالما الكمبيوتر شغال
مع الشكر والتقدير
،،،شرح كامل ووافى من خلال الرابط التالى ،،،
اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex - عرض مشاركة واحدة - الاف المؤشات الاف الاكسبرتات كله ببلاش (http://fx-arabia.com/vb/showpost.php?p=187227&postcount=9)
sunegypt
28-11-2013, 05:00 AM
أرجوا ان تتقبلونى تلميذ مبتدأ معكم اخى العوامى
سوف اقوم بتنزيل كل الفيديوهات ان شاء الله تعالى وابدأ فيها
اسلام العوامى
28-11-2013, 09:42 AM
أرجوا ان تتقبلونى تلميذ مبتدأ معكم اخى العوامى
سوف اقوم بتنزيل كل الفيديوهات ان شاء الله تعالى وابدأ فيها
،،،مرحبا بك فى دورتنا التعليمية وانتظر استفساراتك واسئلتك بعد مشاهدة الدروس،،،
اسلام العوامى
30-11-2013, 12:43 PM
،،،تم رفع الدرس العاشر من الدورة فى الموضوع الخاص بها،،،
،،،الدرس يشرح البريك ايفن والتريلينج ستوب والفرق بينهما وطريقة كتابة الاكواد الخاصة بهما،،،
ahmed soka
30-11-2013, 09:05 PM
تم الانتهاء من الدرس الرابع :)
ابو سمر
01-12-2013, 07:17 PM
بارك الله فيك اخى العوامى على هذه الدورة القيمة
وجعلها فى ميزان حسناتك ان شاء الله
انا تابعت كل الدروس المشروحة حتى الدرس العاشر
وهذا اول تطبيق لاكسبرت تقاطع الموفنج افريج
بالنسبه ل ticksize
لما وضعت else
قام الاكسبرت بحساب النقاط مضروبه فى 10
سواء منصه رباعيه او خماسيه
فعدلت من الكود وجعلته كالتالى
double ticksize = MarketInfo(Symbol(),MODE_TICKSIZE);
if(ticksize == 0.00001|| 0.001)
t = ticksize*10;
if(ticksize == 0.0001|| 0.01)
t = ticksize;اشتغل مظبوط على المنصتين
ahmed soka
01-12-2013, 09:40 PM
بارك الله فيك اخى العوامى على هذه الدورة القيمة
وجعلها فى ميزان حسناتك ان شاء الله
انا تابعت كل الدروس المشروحة حتى الدرس العاشر
وهذا اول تطبيق لاكسبرت تقاطع الموفنج افريج
بالنسبه ل ticksize
لما وضعت else
قام الاكسبرت بحساب النقاط مضروبه فى 10
سواء منصه رباعيه او خماسيه
فعدلت من الكود وجعلته كالتالى
double ticksize = MarketInfo(Symbol(),MODE_TICKSIZE);
if(ticksize == 0.00001|| 0.001)
t = ticksize*10;
if(ticksize == 0.0001|| 0.01)
t = ticksize;اشتغل مظبوط على المنصتين
هو ده التشجيع اللي احنا عاوزينه :1 (101):
اسلام العوامى
01-12-2013, 09:47 PM
بارك الله فيك اخى العوامى على هذه الدورة القيمة
وجعلها فى ميزان حسناتك ان شاء الله
انا تابعت كل الدروس المشروحة حتى الدرس العاشر
وهذا اول تطبيق لاكسبرت تقاطع الموفنج افريج
بالنسبه ل ticksize
لما وضعت else
قام الاكسبرت بحساب النقاط مضروبه فى 10
سواء منصه رباعيه او خماسيه
فعدلت من الكود وجعلته كالتالى
double ticksize = MarketInfo(Symbol(),MODE_TICKSIZE);
if(ticksize == 0.00001|| 0.001)
t = ticksize*10;
if(ticksize == 0.0001|| 0.01)
t = ticksize;اشتغل مظبوط على المنصتين
،،،انا كان نفسى حد يتكلم فى النقطة دى عشان اعرف ان الناس متابعة وبتطبق،،،
،،،لكن المفاجأة ان سبب المشكلة التى حدثت معك ليست من else او اى شئ مما ذكرتة http://www.fx-arabia.com/vb/images/icons/icon7.gif،،،
،،،جرب كده الكود بتاعك على منصة ويندسور وبعدين اقولك السبب :1 (31):،،،
ابو سمر
02-12-2013, 01:01 AM
،،،انا كان نفسى حد يتكلم فى النقطة دى عشان اعرف ان الناس متابعة وبتطبق،،،
،،،لكن المفاجأة ان سبب المشكلة التى حدثت معك ليست من else او اى شئ مما ذكرتة http://www.fx-arabia.com/vb/images/icons/icon7.gif،،،
،،،جرب كده الكود بتاعك على منصة ويندسور وبعدين اقولك السبب :1 (31):،،،
شكرا اخى العوامى على التعقيب
للاسف معنديش منصة ويندسور
ان شاء الله هنزلها واشوف
انا شغال على التريد وادميرال واكسنس
هجرب على المنصات وابلغك بالنتيجه
تقبل تحياتى
sunegypt
03-12-2013, 05:42 AM
تم الانتهاء من سماع الدرس الاول والثانى وفهمه بفضل الله بدرجه جيده
جزاك الله خيرا اخى العوامى
سوف ابدأ فى الدرس الثالث من غدا حتى لا اشتت أفكارى
سؤال سريع اخى العوامى ..
بخصوص متغير الوقت ..
فبصراحه غير واضح ماذا يمكننى الكتابه بالظبط فى المتغير
وحاولت اعملها بشتى الطرق ولكن بيظهر لى خطأ
شوف هذا الكود وعرفنى انا أخطأت فى ايه ؟
extern Time TimeCurrent=0;منتظر ردك وجزاك الله خيرا مرة اخرى
sunegypt
03-12-2013, 05:45 AM
بالمناسبه اخى العوامى ..
ممكن أتشرف بمعرفه أسم حضرتك أستاذنا الكريم ..؟ :1 (114):
اسلام العوامى
03-12-2013, 11:49 AM
بالمناسبه اخى العوامى ..
ممكن أتشرف بمعرفه أسم حضرتك أستاذنا الكريم ..؟ :1 (114):
تم الانتهاء من سماع الدرس الاول والثانى وفهمه بفضل الله بدرجه جيده
جزاك الله خيرا اخى العوامى
سوف ابدأ فى الدرس الثالث من غدا حتى لا اشتت أفكارى
سؤال سريع اخى العوامى ..
بخصوص متغير الوقت ..
فبصراحه غير واضح ماذا يمكننى الكتابه بالظبط فى المتغير
وحاولت اعملها بشتى الطرق ولكن بيظهر لى خطأ
شوف هذا الكود وعرفنى انا أخطأت فى ايه ؟
extern Time TimeCurrent=0;منتظر ردك وجزاك الله خيرا مرة اخرى
،،،اولا اهلا بك معنا اخى الكريم،،،
،،،انا اخوك اسلام ، بالنسبة للكود فتتوقف طريقة كتابته على الغرض المكتوب لاجله،،،
،،،والكود extern Time TimeCurrent=0 خطأ بسبب ان المتغير Time يعود بوقت الشمعه اذا يجب ان يتم كتابته []Time وبداخل الاقواس تكتب رقم الشمعة التى تريدها والوظيفة TimeCurrent الكتابة الصحيحة لها ()Timecurrent وتعود هذه الوظيفة بالوقت بالثوانى ولا يمكن حجز متغير له نفس اسم متغير او وظيفة اساسية فى الميتاتريدر،،،
،،،المتغيرات التى لها علاقة بالوقت والتاريخ يتم كتابتها على الشكل التالى،،،
extern datetime قيمة المتغير = اسم المتغير ;
sunegypt
04-12-2013, 02:43 AM
أشكرك اخى أسلام وبارك الله تعالى فيك
يعنى ممكن اكتب الكود بهذه الطريقةextern datetime Candle=1;
ابو سمر
04-12-2013, 03:19 AM
السلام عليكم ورحمة الله وبركاته
تشرفنا بمعرفة حضرتك استاذ اسامه
لى استفسار عن تطبيق اكسبرت تقاطع الموفنج
حضرتك عملت الاكسبرت على اساس الهدف والاستوب
وشرحتلنا اضافة البريك ايفن والتريلنج ستوب
فلو فرضنا انى عايز الاكسبرت يقوم باغلاق العقد المفتوح
وفتح عقد عكسى عند تغيير الاشاره
فنحن هنا لن نحتاج الى بروفت او ستوب او بريك ايفن او تريلنج
سيكون اعتمادنا فى فتح الصفقه واغلاقها على اشارات المؤشر فقط
فما هو الكود المستخدم لذلك ؟؟
تقبل تحياتى
sunegypt
04-12-2013, 03:45 AM
السلام عليكم ورحمة الله وبركاته
تشرفنا بمعرفة حضرتك استاذ اسامه
لى استفسار عن تطبيق اكسبرت تقاطع الموفنج
حضرتك عملت الاكسبرت على اساس الهدف والاستوب
وشرحتلنا اضافة البريك ايفن والتريلنج ستوب
فلو فرضنا انى عايز الاكسبرت يقوم باغلاق العقد المفتوح
وفتح عقد عكسى عند تغيير الاشاره
فنحن هنا لن نحتاج الى بروفت او ستوب او بريك ايفن او تريلنج
سيكون اعتمادنا فى فتح الصفقه واغلاقها على اشارات المؤشر فقط
فما هو الكود المستخدم لذلك ؟؟
تقبل تحياتى
أسلام أخى وليس أسامه :1 (93):
amerelhozn
04-12-2013, 03:56 AM
السلام عليكم ورحمة الله وبركاته
تشرفنا بمعرفة حضرتك استاذ اسامه
لى استفسار عن تطبيق اكسبرت تقاطع الموفنج
حضرتك عملت الاكسبرت على اساس الهدف والاستوب
وشرحتلنا اضافة البريك ايفن والتريلنج ستوب
فلو فرضنا انى عايز الاكسبرت يقوم باغلاق العقد المفتوح
وفتح عقد عكسى عند تغيير الاشاره
فنحن هنا لن نحتاج الى بروفت او ستوب او بريك ايفن او تريلنج
سيكون اعتمادنا فى فتح الصفقه واغلاقها على اشارات المؤشر فقط
فما هو الكود المستخدم لذلك ؟؟
تقبل تحياتى
اخى الكريم الاستاذ اسلام العوامى
اسمح لى بان اضع اجتهادى ف الرد وانت تصحح الخطأ
>>
extern bool reversesignal= true;
; ()if(buy condition) closeOrder
; ()if(sell condition) closeOrder
ونعمل دالة closeorder
void closeordar(int typer){
for(int c=0;c<OrdersTotal();c++){
OrderSelect(c,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==MagicNumber&&OrderSymbol()==Symbol()&&OrderType()== typer){
if(OrderType()==OP_BUY)OrderClose(OrderTicket(),Or derLots(),Bid,30);
if(OrderType()==OP_SELL)OrderClose(OrderTicket(),O rderLots(),Ask,30);
}
}
}
انا مش عارف اكتب الكود هنا ف المنتدي
علشان مش شايف الترتيب
sunegypt
04-12-2013, 04:02 AM
اخى الكريم الاستاذ اسلام العوامى
اسمح لى بان اضع اجتهادى ف الرد وانت تصحح الخطأ
>>
extern bool reversesignal= true;
; ()if(buy condition) closeOrder
; ()if(sell condition) closeOrder
ونعمل دالة closeorder
void closeordar(int typer){
for(int c=0;c<OrdersTotal();c++){
OrderSelect(c,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==MagicNumber&&OrderSymbol()==Symbol()&&OrderType()== typer){
if(OrderType()==OP_BUY)OrderClose(OrderTicket(),Or derLots(),Bid,30);
if(OrderType()==OP_SELL)OrderClose(OrderTicket(),O rderLots(),Ask,30);
}
}
}
انا مش عارف اكتب الكود هنا ف المنتدي
علشان مش شايف الترتيب
بارك الله تعالى فيك اخى الكريم
هل هذا كله تعلمته من خلال الدورة هنا من خلال الاستاذ أسلام ..؟
لو كان فعلا هكذا اذا هنكون مبرمجيين ومحترفيين ان شاء الله تعالى على نهايه الدروة :1 (114):
الشكر موصول لاخونا وأستاذنا المبرمج أسلام
جزاك الله تعالى خيرا اخى على ما تقدمه لنا
amerelhozn
04-12-2013, 04:12 AM
بارك الله تعالى فيك اخى الكريم
هل هذا كله تعلمته من خلال الدورة هنا من خلال الاستاذ أسلام ..؟
لو كان فعلا هكذا اذا هنكون مبرمجيين ومحترفيين ان شاء الله تعالى على نهايه الدروة :1 (114):
الشكر موصول لاخونا وأستاذنا المبرمج أسلام
جزاك الله تعالى خيرا اخى على ما تقدمه لنا
استاذ اسلام قايم بالواجب وكله تمام
بس انا بنوع مصادر التعليم هههههههه
يعني بجيب كتب واقراها واشوف اكسبيرتات معمولة وافهمها
واعرف الدوال
وفائدتها وامتى احطها
يعني اجتهد ودور وركزززززززززز قوي ف الاكسبيرتات ال عندك افتحها بالميتا ايديتور
ودور فيها وافهمها وابدء بالاكسبيرتات البسيطة زي الموفينج افريج والماكد هتلاقيهم موجودين اساسي ف الميتاتريدر
وركز مع شرح اخونا اسلام هتفهم منها حاجات اكتر وهتتاكد من ال فهمته صح ولا غلط
sunegypt
04-12-2013, 04:28 AM
استاذ اسلام قايم بالواجب وكله تمام
بس انا بنوع مصادر التعليم هههههههه
يعني بجيب كتب واقراها واشوف اكسبيرتات معمولة وافهمها
واعرف الدوال
وفائدتها وامتى احطها
يعني اجتهد ودور وركزززززززززز قوي ف الاكسبيرتات ال عندك افتحها بالميتا ايديتور
ودور فيها وافهمها وابدء بالاكسبيرتات البسيطة زي الموفينج افريج والماكد هتلاقيهم موجودين اساسي ف الميتاتريدر
وركز مع شرح اخونا اسلام هتفهم منها حاجات اكتر وهتتاكد من ال فهمته صح ولا غلط
الله يطمنك اخى وأشكرك على نصيحتك هذه
انا ان شاء الله واخد الموضوع على محمل الجد بفضل الله
يعنى انا بتابع الدروس من ناحيه كما تفعل بالظبط وأتابع فى بعض الاكسبيرتات المفتوحه
لكن صراحه .. أحيانا أفهم وأحيانا كثيرة لا أفهم صراحه حتى أكون صريح ولا أكون كذاب
لكن ان شاء الله الامور واحده واحده بتصبح أسهل
وربنا يسير الامور ويصبر اخونا أسلام على أسألتنا يارب ومايتعب معنا
شكرا لك أخى مرة أخرى ولاستاذنا الكريم أسلام
سلام عليكم
sunegypt
04-12-2013, 04:40 AM
تم الانتهاء من الدرس الثالث
الله المستعان
أدعولنا
sunegypt
04-12-2013, 05:13 AM
تم الانتهاء من الدرس الرابع ولله تعالى الحمد والمنه
ابو سمر
04-12-2013, 08:50 AM
أسلام أخى وليس أسامه :1 (93):
اعتذر عن الخطأ الغير مقصود
وشكرا للتصحيح
ابو سمر
04-12-2013, 08:53 AM
اخى الكريم الاستاذ اسلام العوامى
اسمح لى بان اضع اجتهادى ف الرد وانت تصحح الخطأ
>>
extern bool reversesignal= true;
; ()if(buy condition) closeOrder
; ()if(sell condition) closeOrder
ونعمل دالة closeorder
void closeordar(int typer){
for(int c=0;c<OrdersTotal();c++){
OrderSelect(c,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==MagicNumber&&OrderSymbol()==Symbol()&&OrderType()== typer){
if(OrderType()==OP_BUY)OrderClose(OrderTicket(),Or derLots(),Bid,30);
if(OrderType()==OP_SELL)OrderClose(OrderTicket(),O rderLots(),Ask,30);
}
}
}
انا مش عارف اكتب الكود هنا ف المنتدي
علشان مش شايف الترتيب
جزاك الله كل خير على المساعده
هركب الكود واشوف النتيجه
................
لو تكرمت ممكن تقولى سبب الخطأ اللى فى الصوره
http://www.fx-arabia.com/vb/uploaded/6309_01386136384.jpg
اسلام العوامى
04-12-2013, 09:32 AM
السلام عليكم ورحمة الله وبركاته
تشرفنا بمعرفة حضرتك استاذ اسامه
لى استفسار عن تطبيق اكسبرت تقاطع الموفنج
حضرتك عملت الاكسبرت على اساس الهدف والاستوب
وشرحتلنا اضافة البريك ايفن والتريلنج ستوب
فلو فرضنا انى عايز الاكسبرت يقوم باغلاق العقد المفتوح
وفتح عقد عكسى عند تغيير الاشاره
فنحن هنا لن نحتاج الى بروفت او ستوب او بريك ايفن او تريلنج
سيكون اعتمادنا فى فتح الصفقه واغلاقها على اشارات المؤشر فقط
فما هو الكود المستخدم لذلك ؟؟
تقبل تحياتى
،،،اولا ستقوم بحجز متغير من النوع bool بأى اسم
extern bool CloseOppisite = false;بعد ذلك تكتب الكود التالى قبل اكواد فتح الصفقات بحيث اذا تحققت شروط الشراء وفى نفس الوقت قيمة المتغير CloseOppisite تساوى true يقوم الاكسبيرت بغلق صفقات البيع والعكس وفى حالتنا هذه سنستخدم الموفنج كشرط دخول
if ( (mafast2<maslow2&&mafast1>maslow1&&CloseOppisite==true ))
CloseSellOrders();
if ((mafast2>maslow2&&mafast1<maslow1&&CloseOppisite==true))
CloseBuyOrders();
وتقوم بعمل وظيفتين لغلق البيع او الشراء
int CloseBuyOrders()
{
for (int i = 0 ; i < OrdersTotal() ; i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
bool y=OrderClose(OrderTicket(),OrderLots(),NormalizeDo uble(Bid,digits),3*t);
while(y==false){y=OrderClose(OrderTicket(),OrderLo ts(),NormalizeDouble(Bid,digits),3*t);Sleep(1000); }
}
}
}
return(0);
}
int CloseSellOrders()
{
for (int i = 0 ; i < OrdersTotal() ; i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_SELL)
{
bool y=OrderClose(OrderTicket(),OrderLots(),NormalizeDo uble(Ask,digits),3*t);
while(y==false){y=OrderClose(OrderTicket(),OrderLo ts(),NormalizeDouble(Ask,digits),3*t);Sleep(1000); }
}
}
}
return(0);
}
اخى الكريم الاستاذ اسلام العوامى
اسمح لى بان اضع اجتهادى ف الرد وانت تصحح الخطأ
>>
extern bool reversesignal= true;
; ()if(buy condition) closeOrder
; ()if(sell condition) closeOrder
ونعمل دالة closeorder
void closeordar(int typer){
for(int c=0;c<OrdersTotal();c++){
OrderSelect(c,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==MagicNumber&&OrderSymbol()==Symbol()&&OrderType()== typer){
if(OrderType()==OP_BUY)OrderClose(OrderTicket(),Or derLots(),Bid,30);
if(OrderType()==OP_SELL)OrderClose(OrderTicket(),O rderLots(),Ask,30);
}
}
}
انا مش عارف اكتب الكود هنا ف المنتدي
علشان مش شايف الترتيب
الكود صحيح ولكن يلزم ان تضع شرط
if (reversesignal= true)
قبل الكود السابق
اسلام العوامى
04-12-2013, 09:35 AM
جزاك الله كل خير على المساعده
هركب الكود واشوف النتيجه
................
لو تكرمت ممكن تقولى سبب الخطأ اللى فى الصوره
http://www.fx-arabia.com/vb/uploaded/6309_01386136384.jpg
،،،ابحث فوق هذا الكود ستجد قوس غير موجود او علامة ; والاغلب سيكون قوس،،،
ابو سمر
05-12-2013, 02:08 AM
،،،اولا ستقوم بحجز متغير من النوع bool بأى اسم
extern bool CloseOppisite = false;بعد ذلك تكتب الكود التالى قبل اكواد فتح الصفقات بحيث اذا تحققت شروط الشراء وفى نفس الوقت قيمة المتغير CloseOppisite تساوى true يقوم الاكسبيرت بغلق صفقات البيع والعكس وفى حالتنا هذه سنستخدم الموفنج كشرط دخول
if ( (mafast2<maslow2&&mafast1>maslow1&&CloseOppisite==true ))
CloseSellOrders();
if ((mafast2>maslow2&&mafast1<maslow1&&CloseOppisite==true))
CloseBuyOrders();
وتقوم بعمل وظيفتين لغلق البيع او الشراء
int CloseBuyOrders()
{
for (int i = 0 ; i < OrdersTotal() ; i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
bool y=OrderClose(OrderTicket(),OrderLots(),NormalizeDo uble(Bid,digits),3*t);
while(y==false){y=OrderClose(OrderTicket(),OrderLo ts(),NormalizeDouble(Bid,digits),3*t);Sleep(1000); }
}
}
}
return(0);
}
int CloseSellOrders()
{
for (int i = 0 ; i < OrdersTotal() ; i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_SELL)
{
bool y=OrderClose(OrderTicket(),OrderLots(),NormalizeDo uble(Ask,digits),3*t);
while(y==false){y=OrderClose(OrderTicket(),OrderLo ts(),NormalizeDouble(Ask,digits),3*t);Sleep(1000); }
}
}
}
return(0);
}
شكرا اخى اسلام
جربت الكود كما شرحت ولكنه لايغلق الصفقات
اكيد انا ركبت الاكواد غلط
يا ريت حضرتك تظبطلى الاكواد بحيث يغلق عند الاشارة العكسيه
double buy=iCustom(Symbol(),0,"LongSignal",2,2);
double sell=iCustom(Symbol(),0,"LongSignal",3,2);
if(buy<10000)buy=true;
if(sell<10000)sell=true;
if (buy<10000&&buy==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"Long BUY",MagicNumber,0,Blue);
if (sell<10000&&sell==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Long SELL",MagicNumber,0,Blue);
amerelhozn
05-12-2013, 03:00 AM
،،،اولا ستقوم بحجز متغير من النوع bool بأى اسم
extern bool CloseOppisite = false;بعد ذلك تكتب الكود التالى قبل اكواد فتح الصفقات بحيث اذا تحققت شروط الشراء وفى نفس الوقت قيمة المتغير CloseOppisite تساوى true يقوم الاكسبيرت بغلق صفقات البيع والعكس وفى حالتنا هذه سنستخدم الموفنج كشرط دخول
if ( (mafast2<maslow2&&mafast1>maslow1&&CloseOppisite==true ))
CloseSellOrders();
if ((mafast2>maslow2&&mafast1<maslow1&&CloseOppisite==true))
CloseBuyOrders();
وتقوم بعمل وظيفتين لغلق البيع او الشراء
int CloseBuyOrders()
{
for (int i = 0 ; i < OrdersTotal() ; i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
bool y=OrderClose(OrderTicket(),OrderLots(),NormalizeDo uble(Bid,digits),3*t);
while(y==false){y=OrderClose(OrderTicket(),OrderLo ts(),NormalizeDouble(Bid,digits),3*t);Sleep(1000); }
}
}
}
return(0);
}
int CloseSellOrders()
{
for (int i = 0 ; i < OrdersTotal() ; i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_SELL)
{
bool y=OrderClose(OrderTicket(),OrderLots(),NormalizeDo uble(Ask,digits),3*t);
while(y==false){y=OrderClose(OrderTicket(),OrderLo ts(),NormalizeDouble(Ask,digits),3*t);Sleep(1000); }
}
}
}
return(0);
}
الكود صحيح ولكن يلزم ان تضع شرط
if (reversesignal= true)
قبل الكود السابق
اظن انها غلطة مطبيعة زي
if(reversesignal==true )
صح كده
لانها سؤال
sunegypt
05-12-2013, 04:44 AM
تم الانتهاء من الدرس الخامس
ربنا يعينا يارب
الله المستعان
اسلام العوامى
05-12-2013, 09:43 AM
شكرا اخى اسلام
جربت الكود كما شرحت ولكنه لايغلق الصفقات
اكيد انا ركبت الاكواد غلط
يا ريت حضرتك تظبطلى الاكواد بحيث يغلق عند الاشارة العكسيه
double buy=iCustom(Symbol(),0,"LongSignal",2,2);
double sell=iCustom(Symbol(),0,"LongSignal",3,2);
if(buy<10000)buy=true;
if(sell<10000)sell=true;
if (buy<10000&&buy==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"Long BUY",MagicNumber,0,Blue);
if (sell<10000&&sell==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Long SELL",MagicNumber,0,Blue);
،،،اولا يجب ان تتأكد من قيمة اندكس او اشارة المؤشر عند ظهورها على الشارت،،،
،،،بعد ذلك تقوم بوضع هذا المتغير فى global area ،،،
extern bool CloseOppisite = false;
،،،بعد ذلك تقوم بوضع الكود التالى،،،
int start()
{
//----
bool buysignal,sellsignal;
double buy=iCustom(Symbol(),0,"LongSignal",2,2);
double sell=iCustom(Symbol(),0,"LongSignal",3,2);
if(buy<10000)
{
buysignal=true;
sellsignal=false;
}
if(sell<10000)sell=true;
{
buysignal=false;
sellsignal=true;
}
if(buysignal==true&&CloseOppisite = True)CloseSellOrders();
if(sellsignal==true&&CloseOppisite = True)CloseBuyOrders();
if (buysignal==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"Long BUY",MagicNumber,0,Blue);
if (sellsignal==true)
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Long SELL",MagicNumber,0,Red);
//----
return(0);
}
//+------------------------------------------------------------------+
int CloseBuyOrders()
{
for (int i = 0 ; i < OrdersTotal() ; i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3);
}
}
}
return(0);
}
int CloseSellOrders()
{
for (int i = 0 ; i < OrdersTotal() ; i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3);
}
}
}
return(0);
}
اسلام العوامى
05-12-2013, 09:44 AM
اظن انها غلطة مطبيعة زي
if(reversesignal==true )
صح كده
لانها سؤال
،،،تمام،،،
sunegypt
06-12-2013, 10:36 PM
متى سينزل الفيديو الحادى عشر اخى اسلام
انا لسه لم أصل اليه بعد ولكنى مستعجل عشان انزله :1 (114):
للاستئناس وللاطمئنان :1 (93):
تقبل ودى استاذى الكريم
اسلام العوامى
06-12-2013, 11:33 PM
متى سينزل الفيديو الحادى عشر اخى اسلام
انا لسه لم أصل اليه بعد ولكنى مستعجل عشان انزله :1 (114):
للاستئناس وللاطمئنان :1 (93):
تقبل ودى استاذى الكريم
،،،غدا صباحا باذن الله،،،
sunegypt
07-12-2013, 12:12 AM
،،،غدا صباحا باذن الله،،،
جزاك الله خيرا باشمهندس اسلام
وربنا يعينك يارب
اسلام العوامى
07-12-2013, 10:27 AM
،،،تم رفع الدرس الحادى عشر من دورة البرمجة فى الموضوع الخاص بها،،،
،،،الدرس يشرح طريقة عمل ادارة راس المال والمضاعفات والاكواد الخاصة بهما وحل مشكلة order send error 130 عند كتابة صفر فى خانة البروفيت او الاستوب لوز وشرح ( )MathCeil،،،
ابو سمر
07-12-2013, 05:27 PM
،،،تم رفع الدرس الحادى عشر من دورة البرمجة فى الموضوع الخاص بها،،،
،،،الدرس يشرح طريقة عمل ادارة راس المال والمضاعفات والاكواد الخاصة بهما وحل مشكلة order send error 130 عند كتابة صفر فى خانة البروفيت او الاستوب لوز وشرح ( )MathCeil،،،
جزاك الله كل خير اخى اسلام
وجعله فى ميزان حسناتك
جارى التحميل والتطبيق
sunegypt
08-12-2013, 12:45 AM
،،،تم رفع الدرس الحادى عشر من دورة البرمجة فى الموضوع الخاص بها،،،
،،،الدرس يشرح طريقة عمل ادارة راس المال والمضاعفات والاكواد الخاصة بهما وحل مشكلة order send error 130 عند كتابة صفر فى خانة البروفيت او الاستوب لوز وشرح ( )MathCeil،،،
جزاك الله تعالى خيرا استاذى الكريم اسلام العوامى
فى الطريق ان شاء الله الى هذا الدرس
تقبل ودى أستاذى الغالى
sunegypt
08-12-2013, 04:41 AM
تم الانتهاء بفضل الله تعالى من الدرس السادس
الله المستعان
دعواتكم
ابو سمر
08-12-2013, 06:34 AM
استاذى الكريم اسلام العوامى
حضرتك شرحت استخدام المضاعفات فى حالة اغلاق اخر صفقه على خساره
لو انا مش هستخدم ستوب لوز والصفقه ما زالت مفتوحه
وهعمل تبريد للصفقه الخاسره
هستخدم وقتها هذا الكود ؟؟
OrderSelect(i, SELECT_BY_POS, MODE_TRADES)
ارجو التصحيح
اسلام العوامى
08-12-2013, 09:18 AM
استاذى الكريم اسلام العوامى
حضرتك شرحت استخدام المضاعفات فى حالة اغلاق اخر صفقه على خساره
لو انا مش هستخدم ستوب لوز والصفقه ما زالت مفتوحه
وهعمل تبريد للصفقه الخاسره
هستخدم وقتها هذا الكود ؟؟
OrderSelect(i, SELECT_BY_POS, MODE_TRADES)ارجو التصحيح
،،،تمام ، سوف تقوم بعمل حلقة تكرارية لاختيار اخر صفقة مفتوحة وتقوم بوضع شرط اذا كانت الصفقة شراء والسعر الحالى اكبر من سعر افتتاح الصفقة + step افتح صفقة شراء وضع الشروط التى تريدها والعكس للبيع،،،
for(i=0;i<=orderstotall();i++)
{
orderselect(i,select_by_pos,mode_trades);
if(symbol==ordersymbol()&&MagicNumber==orderMagicNumber())
{
if(ordertype==op_buy)
{
if(ask>orderopenprice()+step)
{
ordersend(وتضع الاعدادات التى تريدها هنا);
ابو سمر
08-12-2013, 09:47 PM
،،،تمام ، سوف تقوم بعمل حلقة تكرارية لاختيار اخر صفقة مفتوحة وتقوم بوضع شرط اذا كانت الصفقة شراء والسعر الحالى اكبر من سعر افتتاح الصفقة + step افتح صفقة شراء وضع الشروط التى تريدها والعكس للبيع،،،
for(i=0;i<=orderstotall();i++)
{
orderselect(i,select_by_pos,mode_trades);
if(symbol==ordersymbol()&&MagicNumber==orderMagicNumber())
{
if(ordertype==op_buy)
{
if(ask>orderopenprice()+step)
{
ordersend(وتضع الاعدادات التى تريدها هنا);
بارك الله فيك استاذى الفاضل
استفسار لو تكرمت
عند استخدام التريلنج ستوب
هل يجوز عمل حلقه تغلق جزء من العقد حسب التريلنج
ويترك باقى العقد لتفعيل التريلنج مره اخرى ؟؟
الشرح بمثال
فتحت صفقة شراء بلوت 3
وجعلت التريلنج ستوب 20
وجعلت نسبة تقسيم العقد الثلث
اذا صعد السعر 20 نقطه يتفعل التريلنج ويلاحق الارباح
فاذا هبط السعر بعدها وضرب ستوب التريلنج يغلق ثلث العقد ويترك الباقى
فعندها سيغلق جزء من العقد بقيمه 1 لوت ويترك العقد الاصلى ب 2 لوت
اذا صعد السعر مره اخرى 20 نقطه تتكرر نفس العمليه بتفعيل التريلنج ويغلق جزء من العقد بقيمه 1 لوت
سيتبقى معنا الجزء الثالث بقيمه 1 لوت
اذا صعد السعر 20 نقطه اخرى يتفعل التريلنج ويلاحق الارباح حتى يغلقها عند ضرب التريلنج
ارجو ان اكون وفقت فى الشرح
tunisia
09-12-2013, 12:35 AM
بالتوفيق
اسلام العوامى
09-12-2013, 10:53 AM
بارك الله فيك استاذى الفاضل
استفسار لو تكرمت
عند استخدام التريلنج ستوب
هل يجوز عمل حلقه تغلق جزء من العقد حسب التريلنج
ويترك باقى العقد لتفعيل التريلنج مره اخرى ؟؟
الشرح بمثال
فتحت صفقة شراء بلوت 3
وجعلت التريلنج ستوب 20
وجعلت نسبة تقسيم العقد الثلث
اذا صعد السعر 20 نقطه يتفعل التريلنج ويلاحق الارباح
فاذا هبط السعر بعدها وضرب ستوب التريلنج يغلق ثلث العقد ويترك الباقى
فعندها سيغلق جزء من العقد بقيمه 1 لوت ويترك العقد الاصلى ب 2 لوت
اذا صعد السعر مره اخرى 20 نقطه تتكرر نفس العمليه بتفعيل التريلنج ويغلق جزء من العقد بقيمه 1 لوت
سيتبقى معنا الجزء الثالث بقيمه 1 لوت
اذا صعد السعر 20 نقطه اخرى يتفعل التريلنج ويلاحق الارباح حتى يغلقها عند ضرب التريلنج
ارجو ان اكون وفقت فى الشرح
،،،فى هذه الحالة لن تستخدم استوب لوز او تريلينج صريح ولكن سيكون الاستوب لوز مخفى وايضا التريلينج بحيث تقوم بكتابة حلقة تقوم باختيار الصفقات المفتوحة وتقوم بعمل تريلينج داخل الكود نفسة اى تقوم بتخزين قيمة التريلينج داخل متغير فى الحلقة ولكن لا تستخدم ordermodify وعند وصول السعر لهذا المستوى تستخدم امر orderclose وتضع فى قيمة اللوت قيمة اللوت الاصلى وليس () orderlots مقسوم على نسبة التقسيم،،،
،،،ولكن فى هذه الحالة اذا تم اغلاق اول جزء من العقد واستمر السعر فى الانعكاس سوف تزيد الخسارة الى ان يتم تصفير الحساب لان العقد بدون ستوب فيجب ان يكون هناك اجراء احترازى مثلا فتح هيدج او اغلاق عند اشارة عكسية لان عند كتابة كود الاكسبيرت يجب ان تكتب جميع الافتراضات الممكنه وانت هنا افترضت ان السعر سيقوم بالارتداد لاغلاق اول جزء من العقد ثم اكمال الاتجاه والعودة لضرب ثانى جزء من العقد وهكذا ولم تقم بافتراض ان السعر من الممكن ان يقوم بالارتداد ويتم اغلاق اول جزء من العقد ويكمل فى الاتجاه المعاكس ،،،
ابو سمر
09-12-2013, 03:39 PM
،،،فى هذه الحالة لن تستخدم استوب لوز او تريلينج صريح ولكن سيكون الاستوب لوز مخفى وايضا التريلينج بحيث تقوم بكتابة حلقة تقوم باختيار الصفقات المفتوحة وتقوم بعمل تريلينج داخل الكود نفسة اى تقوم بتخزين قيمة التريلينج داخل متغير فى الحلقة ولكن لا تستخدم ordermodify وعند وصول السعر لهذا المستوى تستخدم امر orderclose وتضع فى قيمة اللوت قيمة اللوت الاصلى وليس () orderlots مقسوم على نسبة التقسيم،،،
،،،ولكن فى هذه الحالة اذا تم اغلاق اول جزء من العقد واستمر السعر فى الانعكاس سوف تزيد الخسارة الى ان يتم تصفير الحساب لان العقد بدون ستوب فيجب ان يكون هناك اجراء احترازى مثلا فتح هيدج او اغلاق عند اشارة عكسية لان عند كتابة كود الاكسبيرت يجب ان تكتب جميع الافتراضات الممكنه وانت هنا افترضت ان السعر سيقوم بالارتداد لاغلاق اول جزء من العقد ثم اكمال الاتجاه والعودة لضرب ثانى جزء من العقد وهكذا ولم تقم بافتراض ان السعر من الممكن ان يقوم بالارتداد ويتم اغلاق اول جزء من العقد ويكمل فى الاتجاه المعاكس ،،،
بارك الله فيك استاذى الكريم
الهدف من هذه الطريقة جنى اكبر قدر من الارباح فى الاتجاه
فى مثالنا على تقاطع الموفنج افريج
نلاحظ ان السعر يرتد كثيرا قبل ظهور التقاطع العكسى
وهذه فرصه لنخرج بجزء من العقود مع التريلنج الاول
وجزء مع التريلنج الثانى
ونترك الثالث للاشارة العكسيه
Madawbs
10-12-2013, 07:43 PM
السلام عليكم ورحمة الله وبركاته
تشرفت بمتابعة موضوعك وقمت بتجربةجميع الاكواد والحمد لله بنجاح وقمت بعمل عدة اكسبرتات منهم واحد يعمل بتقاطع بثلاثة متوسطات متحركة ويأخذ سيجنال الدخول من الماك دي ويتابع التريند من خلال متوسطين اخرين
تحياتي لحضرتك وجزاك الله عنا خير الجزاء
واتمني ان تستمر في الدروس ولا تتوقف لان اسلوبك سهل وتستطيع توصيل المعلومة ببساطه
تحياتي مرة اخري لشخصك الكريم
اخوك احمد
sunegypt
11-12-2013, 04:00 AM
السلام عليكم ورحمة الله وبركاته
تشرفت بمتابعة موضوعك وقمت بتجربةجميع الاكواد والحمد لله بنجاح وقمت بعمل عدة اكسبرتات منهم واحد يعمل بتقاطع بثلاثة متوسطات متحركة ويأخذ سيجنال الدخول من الماك دي ويتابع التريند من خلال متوسطين اخرين
تحياتي لحضرتك وجزاك الله عنا خير الجزاء
واتمني ان تستمر في الدروس ولا تتوقف لان اسلوبك سهل وتستطيع توصيل المعلومة ببساطه
تحياتي مرة اخري لشخصك الكريم
اخوك احمد
+1
:1 (62)::1 (62)::1 (62):
sunegypt
11-12-2013, 04:49 AM
تم الانتهاء من الدرس السابع بفضل الله تعالى
متابع معك اخى اسلام
تقبل ودى استاذى الكريم
sunegypt
11-12-2013, 06:57 AM
سؤال من مبتدأ وأريد ان اعرف هل انا كتبت صح ولا ايه استاذى اسلام
لو انا عندى اكسبيرت بيدخل بيع او شراء على مؤشر
وأريد ان اغلق الصفقات الموجبه فقط فى حاله ظهور اشارة معاكسه
مثلا اعطانى المشر شراء وفتح صفقات شراء كل مسافه مثلا ( على اساس انى احدد له استيب يفتح كل مسافه يقطعها ) طبعا فى اتجاه اشارة الشراء
ثم ظهرت اشارت بيع عكسيه
وأريد ان اغلق الصفقات الموجبه فقط وأترك السالبه
ففى هذه الحاله
أضع هذا الكود تحت امر البيع
هل هذا الكود بهذه الطريقه صح ..؟
if(OrderType(OP_BUY)>0)
{Close(OP_BUY)};
والعكس طبعا فى حاله البيع
هل كده صح ..؟ ولو خطأ .. ايه الطريقه الصح بعد اذنك استاذ اسلام ..؟
اسلام العوامى
11-12-2013, 09:19 AM
سؤال من مبتدأ وأريد ان اعرف هل انا كتبت صح ولا ايه استاذى اسلام
لو انا عندى اكسبيرت بيدخل بيع او شراء على مؤشر
وأريد ان اغلق الصفقات الموجبه فقط فى حاله ظهور اشارة معاكسه
مثلا اعطانى المشر شراء وفتح صفقات شراء كل مسافه مثلا ( على اساس انى احدد له استيب يفتح كل مسافه يقطعها ) طبعا فى اتجاه اشارة الشراء
ثم ظهرت اشارت بيع عكسيه
وأريد ان اغلق الصفقات الموجبه فقط وأترك السالبه
ففى هذه الحاله
أضع هذا الكود تحت امر البيع
هل هذا الكود بهذه الطريقه صح ..؟
if(OrderType(OP_BUY)>0)
{Close(OP_BUY)};
والعكس طبعا فى حاله البيع
هل كده صح ..؟ ولو خطأ .. ايه الطريقه الصح بعد اذنك استاذ اسلام ..؟
،،،اولا سوف تقوم بعمل وظيفة لإغلاق الصفقات الرابحة ،،،
void CloseOnlyProfit(){
for(int i=0;i<OrdersHistoryTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && Magicnumber==OrderMagicNumber()){
if(OrderProfit()>0){
if(OrderType==OP_BUY){
OrderClose(i,OrderLots(),Bid,3,CLR_NONE);
}
else{
OrderClose(i,OrderLots(),Ask,3,CLR_NONE);
}
}
}
}
}
،،،ثم تقوم بعمل جملة شرطية لاستدعاء هذه الوظيفة فى حالة تحقق شروط اشارة عكسية ،،،
ابو سمر
11-12-2013, 09:42 PM
استاذى الكريم اسلام العوامى
قمت بالتطبيق على اخر درس مع اضافة اغلاق بظهور اشاره عكسيه
ولاحظت الاتى
عند تفعيل اغلاق عكسى فقط
ينفذ الاكسبرت الشروط بدقه
واذا فعلت الاغلاق عكسى والمضاعفات معا
ينفذ اول دخول ويغلقه عند عكس الاشاره
ولا يقوم بفتح اى صفقات اخرى
مرفق النسخه التجريبيه
ارجو التصحيح
شكرا لك
اسلام العوامى
11-12-2013, 10:15 PM
استاذى الكريم اسلام العوامى
قمت بالتطبيق على اخر درس مع اضافة اغلاق بظهور اشاره عكسيه
ولاحظت الاتى
عند تفعيل اغلاق عكسى فقط
ينفذ الاكسبرت الشروط بدقه
واذا فعلت الاغلاق عكسى والمضاعفات معا
ينفذ اول دخول ويغلقه عند عكس الاشاره
ولا يقوم بفتح اى صفقات اخرى
مرفق النسخه التجريبيه
ارجو التصحيح
شكرا لك
،،،اذا نظرت الى خانة الجورنال لعرفت السبب وهو ان قيمة اللوت خطأ وهذا كان نتيجة لنقص اقواس الحلقة التكرارية فى وظيفة جلب اخر لوت فكانت الوظيفة تعود دائما بقيمة اخر لوت صفر ،،،
،،،اضفت لك التعديل والاكسبيرت يعمل الان بكفاءة واضفت لك سطر فى وظيفة جلب اخر لوت وسطر اخر فى وظيفة ادارة راس المال لتتعرف على طريقة تتبع الخطأ فى الاكسبيرت واصلاحة،،،
،،،انا سعيد جدا بتطبيقك للدروس وفى المرحلة المقبلة حاول ان تضيف او تصنع شخصيتك داخل الكود عن طريق كتابته على طريقتك الخاصة ، لاتتقيد بمسميات معينة ، فقط اطلق العنان لمخيلتك وستفاجأ بالنتيجة،،،
،،،تحياتى،،،
ابو سمر
12-12-2013, 12:08 AM
،،،اذا نظرت الى خانة الجورنال لعرفت السبب وهو ان قيمة اللوت خطأ وهذا كان نتيجة لنقص اقواس الحلقة التكرارية فى وظيفة جلب اخر لوت فكانت الوظيفة تعود دائما بقيمة اخر لوت صفر ،،،
،،،اضفت لك التعديل والاكسبيرت يعمل الان بكفاءة واضفت لك سطر فى وظيفة جلب اخر لوت وسطر اخر فى وظيفة ادارة راس المال لتتعرف على طريقة تتبع الخطأ فى الاكسبيرت واصلاحة،،،
،،،انا سعيد جدا بتطبيقك للدروس وفى المرحلة المقبلة حاول ان تضيف او تصنع شخصيتك داخل الكود عن طريق كتابته على طريقتك الخاصة ، لاتتقيد بمسميات معينة ، فقط اطلق العنان لمخيلتك وستفاجأ بالنتيجة،،،
،،،تحياتى،،،
بارك الله فيك استاذى
كنت اتابع الجورنال دوما ولم الحظ شئ لاننى لم اكتب كود Print
الاكسبرت الان يعمل جيدا
وان شاء الله سوف اضيف اليه بعض الاضافات كاغلاق جزء من العقود مع التريلنج
وباقى العقود تغلق مع الاشارة العكسيه
كما اننى اقوم الان بعمل تطبيقات على مؤشرات اخرى
........................
استفسار
بعض المؤشرات تكون مغلقة الكود
وكلما عدلت فى قيم المؤشر
الاكسبرت ياخذ الاعدادات الافتراضيه للمؤشر ولا ياخذ الاعدادات الجديده
ما هى الطريقه التى اجعل الاكسبرت يقرأ اى اعداد اضعه
او بمعنى ادق كيف اتحكم فى اعدادات المؤشر من خلال الاكسبرت نفسه
........................................
لا يزال لدى استفسارات كثيره
وافكار كثيره
ولكنى اتدرج مع كل مرحلة باضافة شئ جديد
حتى لا اتشتت
..............
شكرا استاذى الفاضل
اسلام العوامى
12-12-2013, 09:36 AM
بارك الله فيك استاذى
كنت اتابع الجورنال دوما ولم الحظ شئ لاننى لم اكتب كود Print
الاكسبرت الان يعمل جيدا
وان شاء الله سوف اضيف اليه بعض الاضافات كاغلاق جزء من العقود مع التريلنج
وباقى العقود تغلق مع الاشارة العكسيه
كما اننى اقوم الان بعمل تطبيقات على مؤشرات اخرى
........................
استفسار
بعض المؤشرات تكون مغلقة الكود
وكلما عدلت فى قيم المؤشر
الاكسبرت ياخذ الاعدادات الافتراضيه للمؤشر ولا ياخذ الاعدادات الجديده
ما هى الطريقه التى اجعل الاكسبرت يقرأ اى اعداد اضعه
او بمعنى ادق كيف اتحكم فى اعدادات المؤشر من خلال الاكسبرت نفسه
........................................
لا يزال لدى استفسارات كثيره
وافكار كثيره
ولكنى اتدرج مع كل مرحلة باضافة شئ جديد
حتى لا اتشتت
..............
شكرا استاذى الفاضل
،،،ومن دون ان تكتب print سيظهر لك الخطأ على هيئة رقم فمثلا كان الجورنال يظهر invalid lots amount for order send او لو كان الخطأ من الاستوب سيظهر error 130 وهكذا،،،
،،،بالنسبة للمؤشرات اذا اردت ضبط اعداداتها عن طريق الاكسبيرت تقوم بعمل الاتى،،،
iCustom( string symbol, int timeframe, string name, ..., int mode, int shift)
،،،ومكان النقط تكتب اعدادات المؤشر لكن بترتيب وجودها فى المؤشر نفسة بمعنى اذا كانت اعدادات مؤشر كالتالى،،،
Period = 5
lenth = 3
UseAtr = false
،،،تقوم بكتابة الكود كالاتى،،،
iCustom( string symbol, int timeframe, string name,5,3,0, int mode, int shift)
،،،او تقوم بكتابة متغيرات مكان الاعدادات وتقوم بالتعويض عنها فى global area ،،،
ابو سمر
12-12-2013, 01:41 PM
،،،ومن دون ان تكتب print سيظهر لك الخطأ على هيئة رقم فمثلا كان الجورنال يظهر invalid lots amount for order send او لو كان الخطأ من الاستوب سيظهر error 130 وهكذا،،،
،،،بالنسبة للمؤشرات اذا اردت ضبط اعداداتها عن طريق الاكسبيرت تقوم بعمل الاتى،،،
iCustom( string symbol, int timeframe, string name, ..., int mode, int shift)
،،،ومكان النقط تكتب اعدادات المؤشر لكن بترتيب وجودها فى المؤشر نفسة بمعنى اذا كانت اعدادات مؤشر كالتالى،،،
Period = 5
lenth = 3
UseAtr = false
،،،تقوم بكتابة الكود كالاتى،،،
iCustom( string symbol, int timeframe, string name,5,3,0, int mode, int shift)
،،،او تقوم بكتابة متغيرات مكان الاعدادات وتقوم بالتعويض عنها فى global area ،،،
بارك الله فيك استاذى وزادك من علمه
جارى التطبيق
شكرا لك
sunegypt
12-12-2013, 02:53 PM
،،،اولا سوف تقوم بعمل وظيفة لإغلاق الصفقات الرابحة ،،،
void CloseOnlyProfit(){
for(int i=0;i<OrdersHistoryTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && Magicnumber==OrderMagicNumber()){
if(OrderProfit()>0){
if(OrderType==OP_BUY){
OrderClose(i,OrderLots(),Bid,3,CLR_NONE);
}
else{
OrderClose(i,OrderLots(),Ask,3,CLR_NONE);
}
}
}
}
}
،،،ثم تقوم بعمل جملة شرطية لاستدعاء هذه الوظيفة فى حالة تحقق شروط اشارة عكسية ،،،
طيب انا اسف استاذى اسلام .. وكيف نكتب هذه الجمله الشرطيه ..؟
بصراحه حاولت ولم اقدر افعلها ...
تلميذ لسه بقى :1 (114):
اسلام العوامى
12-12-2013, 03:04 PM
طيب انا اسف استاذى اسلام .. وكيف نكتب هذه الجمله الشرطيه ..؟
بصراحه حاولت ولم اقدر افعلها ...
تلميذ لسه بقى :1 (114):
،،،تعتمد على الشروط التى تريدها لاغلاق الصفقات الرابحة وفى هذه الحالة انت تريد الاغلاق اذا ظهرت اشارة عكسية فتقوم بكتابة الاتى،،،
if(??????????????? && CloseOppositeSignal==true )
{CloseOnlyProfit();}
،،،وتقوم بكتابة شروط الاغلاق العكسى مكان علامات الاستفهام فمثلا اذا كنت تعمل على تقاطع 2 موفنج وحدث تقاطع لاعلى وتم فتح الصفقات ثم حدث تقاطع لاسفل تريد اغلاق الصفقات الرابحة فقط فتقوم بكتابة شروط التقاطع لاسفل مكان علامات الاستفهام ، اذا كانت الفكرة غير واضحة ارفق الكود الذى تريد كتابة الشرط به وسأقوم بالتوضيح عمليا على الكود،،،
ابو سمر
12-12-2013, 07:20 PM
اضفت لك التعديل والاكسبيرت يعمل الان بكفاءة واضفت لك سطر فى وظيفة جلب اخر لوت وسطر اخر فى وظيفة ادارة راس المال لتتعرف على طريقة تتبع الخطأ فى الاكسبيرت واصلاحة،،،
،،،تحياتى،،،
استاذى الفاضل
بعد التعديل الاخير الاكسبرت يغق على عكس الاشاره ....تمام
يدخل الصفقه العكسيه بلوت مضاعف ... تمام جدا
اذا حقق الهدف يغلق الصفقه المضاعفه ... تمام جدا
عند تحقيق شروط الدخول الجديد يدخل باخر لوت وهو المضاعفه ولا يدخل باللوت الاساسى
علما بان شروط المضاعفات كالتالى
if(Multiplication==true)
{
if(profitorloss()==false)lot=lastlot()*mode;
if(profitorloss()==true)lot=lot;
}
حيث mode قيمة المضاعفه
اسلام العوامى
12-12-2013, 08:33 PM
استاذى الفاضل
بعد التعديل الاخير الاكسبرت يغق على عكس الاشاره ....تمام
يدخل الصفقه العكسيه بلوت مضاعف ... تمام جدا
اذا حقق الهدف يغلق الصفقه المضاعفه ... تمام جدا
عند تحقيق شروط الدخول الجديد يدخل باخر لوت وهو المضاعفه ولا يدخل باللوت الاساسى
علما بان شروط المضاعفات كالتالى
if(Multiplication==true)
{
if(profitorloss()==false)lot=lastlot()*mode;
if(profitorloss()==true)lot=lot;
}حيث mode قيمة المضاعفه
،،،ارفق الكود كامل لاستطيع تحديد المشكلة،،،
،،،ولكن للوهلة الاولى يبدو الخطأ من اسم المتغيرlot داخل كود المضاعفات حيث من المفترض فى بداية start ان نقوم بعمل متغير newlot او lots او اى كان المسمى المهم ان قيمته عند بداية الوظيفة ستكون نفس قيمة lot ،،،
newlot=lot
،،،وبعد ذلك نقوم بتغيره داخل شرط المضاعفات،،،
double newlot=lot;
if(Auto.Lots==true)newlot=Lots();
if(Multiplication==true)
{
if(profitorloss()==false)newlot=lastlot()*mode;
if(profitorloss()==true)newlot=lot;
}
ابو سمر
12-12-2013, 08:36 PM
بارك الله فيك استاذى الفاضل
استفسار لو تكرمت
عند استخدام التريلنج ستوب
هل يجوز عمل حلقه تغلق جزء من العقد حسب التريلنج
ويترك باقى العقد لتفعيل التريلنج مره اخرى ؟؟
الشرح بمثال
فتحت صفقة شراء بلوت 3
وجعلت التريلنج ستوب 20
وجعلت نسبة تقسيم العقد الثلث
اذا صعد السعر 20 نقطه يتفعل التريلنج ويلاحق الارباح
فاذا هبط السعر بعدها وضرب ستوب التريلنج يغلق ثلث العقد ويترك الباقى
فعندها سيغلق جزء من العقد بقيمه 1 لوت ويترك العقد الاصلى ب 2 لوت
اذا صعد السعر مره اخرى 20 نقطه تتكرر نفس العمليه بتفعيل التريلنج ويغلق جزء من العقد بقيمه 1 لوت
سيتبقى معنا الجزء الثالث بقيمه 1 لوت
اذا صعد السعر 20 نقطه اخرى يتفعل التريلنج ويلاحق الارباح حتى يغلقها عند ضرب التريلنج
ارجو ان اكون وفقت فى الشرح
،،،فى هذه الحالة لن تستخدم استوب لوز او تريلينج صريح ولكن سيكون الاستوب لوز مخفى وايضا التريلينج بحيث تقوم بكتابة حلقة تقوم باختيار الصفقات المفتوحة وتقوم بعمل تريلينج داخل الكود نفسة اى تقوم بتخزين قيمة التريلينج داخل متغير فى الحلقة ولكن لا تستخدم ordermodify وعند وصول السعر لهذا المستوى تستخدم امر orderclose وتضع فى قيمة اللوت قيمة اللوت الاصلى وليس () orderlots مقسوم على نسبة التقسيم،،،
استاذى الفاضل
حاولت التطبيق على اغلاق جزء من العقود
ولكنى فشلت
برجاء شرح كود الاغلاق
شكرا لك
ابو سمر
12-12-2013, 08:51 PM
،،،ارفق الكود كامل لاستطيع تحديد المشكلة،،،
،،،ولكن للوهلة الاولى يبدو الخطأ من اسم المتغيرlot داخل كود المضاعفات حيث من المفترض فى بداية start ان نقوم بعمل متغير newlot او lots او اى كان المسمى المهم ان قيمته عند بداية الوظيفة ستكون نفس قيمة lot ،،،
newlot=lot
،،،وبعد ذلك نقوم بتغيره داخل شرط المضاعفات،،،
double newlot=lot;
if(Auto.Lots==true)newlot=Lots();
if(Multiplication==true)
{
if(profitorloss()==false)newlot=lastlot()*mode;
if(profitorloss()==true)newlot=lot;
}
تسلم استاذى
كان الخطأ عندى فى ادارة راس المال
كنت شايل اكواد Auto.lots
رجعت الاكواد واشتغل مظبوط
ارجو الاجابة على المشاركة السابقه الخاصه باغلاق جزء من العقود
شكرا لك
Madawbs
13-12-2013, 05:28 PM
السلام عليكم يا استاذنا في الفيديو 11 الامر بتاع orderselect لم يتم وضعه في متغير فايه الفايده منه كدة؟ اعتقد يجب وضعه في متغير والتحرك داخل هذا المتغير في for or while loops
وبعد اذن حضرتك لو ممكن تشرح لنا ازاي اختار الاستراتيجية الجيدة ولو ممكن تدينا امثلة يعني افضل مؤشر ناخد منه التريند وايه المؤشر الي ناخد منه سيجنال الدخول والخروج ولو ممكن اتقل عليك شوية وتقول لنا ازاي نحط مؤشر علي بيانات مؤشر تاني) last indicator data
ومشكور علي المجهود الجميل
اسلام العوامى
13-12-2013, 06:02 PM
السلام عليكم يا استاذنا في الفيديو 11 الامر بتاع orderselect لم يتم وضعه في متغير فايه الفايده منه كدة؟ اعتقد يجب وضعه في متغير والتحرك داخل هذا المتغير في for or while loops
وبعد اذن حضرتك لو ممكن تشرح لنا ازاي اختار الاستراتيجية الجيدة ولو ممكن تدينا امثلة يعني افضل مؤشر ناخد منه التريند وايه المؤشر الي ناخد منه سيجنال الدخول والخروج ولو ممكن اتقل عليك شوية وتقول لنا ازاي نحط مؤشر علي بيانات مؤشر تاني) last indicator data
ومشكور علي المجهود الجميل
،،،وعليكم السلام ورحمة الله وبركاته،،،
،،،ما السبب الذى يجعلنا نضع ordersend فى متغير داخل الكود المشروح بالفيديو؟؟،،،
،،،هل جربت تطبيق اى من الاكواد ولم تجد له فائده او لم يعمل معك؟؟،،،
،،،بالنسبة لافضل مؤشر فذلك يعتمد على نظرتك للمؤشر حسب تجربتك له والاستراتيجية التى تتعامل بها ولن استطيع ان افيدك فى هذه الجزئية حيث ان الموضوع مخصص لتعليم البرمجة وليس لمناقشة استراتيجيات،،،
،،،اما الجزء الخاص بتطبيق مؤشر على بيانات مؤشر اخر سيتم شرحة فى الدروس عندما نصل للجزئية المتعلقة بالمؤشرات،،،
Madawbs
13-12-2013, 07:37 PM
،،،وعليكم السلام ورحمة الله وبركاته،،،
،،،ما السبب الذى يجعلنا نضع ordersend فى متغير داخل الكود المشروح بالفيديو؟؟،،،
،،،هل جربت تطبيق اى من الاكواد ولم تجد له فائده او لم يعمل معك؟؟،،،
،،،بالنسبة لافضل مؤشر فذلك يعتمد على نظرتك للمؤشر حسب تجربتك له والاستراتيجية التى تتعامل بها ولن استطيع ان افيدك فى هذه الجزئية حيث ان الموضوع مخصص لتعليم البرمجة وليس لمناقشة استراتيجيات،،،
،،،اما الجزء الخاص بتطبيق مؤشر على بيانات مؤشر اخر سيتم شرحة فى الدروس عندما نصل للجزئية المتعلقة بالمؤشرات،،،
السلام عليكم ورحمة الله
انا لسة ماجربتش اكواد فيديو 11 انا باسأل علشان اتعلم مش اكتر ولم يحدث ان لم يعمل كود في الفيديوهات السابقة انا لا اشكك في علمك لكن باحاول ان افهم واستفيد من حضىرتك وشكرا لاهتمامك بالرد وفعلا المكان مش مخصص للاستراتيجيات وانا اعتذر لك عن هذا تقبل تحياتي
اسلام العوامى
13-12-2013, 08:00 PM
السلام عليكم ورحمة الله
انا لسة ماجربتش اكواد فيديو 11 انا باسأل علشان اتعلم مش اكتر ولم يحدث ان لم يعمل كود في الفيديوهات السابقة انا لا اشكك في علمك لكن باحاول ان افهم واستفيد من حضىرتك وشكرا لاهتمامك بالرد وفعلا المكان مش مخصص للاستراتيجيات وانا اعتذر لك عن هذا تقبل تحياتي
،،،اخى الكريم،،،
،،،لا داعى للاعتذار،ولكن انا تعجبت من السؤال فقط لاغير ،،،
،،،اريدك ان لا تشتت نفسك بأى شئ خارج الدروس حاليا وكل شئ تريد معرفته سيأتى فى وقته لاتقلق ولا تتردد ابدا فى السؤال عن اى شئ فى اى وقت ، وهناك مفاجأة كبيرة جدا فى اخر الدورة http://www.fx-arabia.com/vb/images/icons/icon7.gif،،،
،،،تحياتى،،،
ابو سمر
13-12-2013, 10:21 PM
استاذنا الكريم اين درس اليوم
انا فى اشتياق لاستكمال الشرح
اسلام العوامى
13-12-2013, 10:50 PM
استاذنا الكريم اين درس اليوم
انا فى اشتياق لاستكمال الشرح
،،،غدا صباحا باذن الله سيكون الدرس فى الموضوع الخاص به،،،
ابو سمر
13-12-2013, 11:04 PM
،،،غدا صباحا باذن الله سيكون الدرس فى الموضوع الخاص به،،،
بإذن الله تعالى وبارك الله فيك
برجاء الرد على المشاركة 116
شكرا لك
اسلام العوامى
14-12-2013, 10:08 AM
استاذى الفاضل
حاولت التطبيق على اغلاق جزء من العقود
ولكنى فشلت
برجاء شرح كود الاغلاق
شكرا لك
بإذن الله تعالى وبارك الله فيك
برجاء الرد على المشاركة 116
شكرا لك
،،،معذرة يا ابو سمر لم انتبه للمشاركة الا الان،،،
،،،بالنسبة لاغلاق جزء من العقود يمكن كتابتها باكثر من طريقة ، وفى المرفقات ستجد طريقتين لاغلاق جزء من الصفقة ، قم بالاطلاع عليها واذا كان هناك شئ غير واضح اخبرنى،،،
اسلام العوامى
14-12-2013, 01:35 PM
،،،تم رفع الدرس الثانى عشر فى الموضوع الخاص بالدورة،،،
،،،الدرس يشرح طريقة عمل وظيفة SmartTrail ووظيفة NewCandle لمعرفة هل تم افتتاح شمعة جديدة وايضا بعض المتغيرات والوظائف المهمة،،،
ابو سمر
14-12-2013, 04:20 PM
،،،معذرة يا ابو سمر لم انتبه للمشاركة الا الان،،،
،،،بالنسبة لاغلاق جزء من العقود يمكن كتابتها باكثر من طريقة ، وفى المرفقات ستجد طريقتين لاغلاق جزء من الصفقة ، قم بالاطلاع عليها واذا كان هناك شئ غير واضح اخبرنى،،،
لا داعى للاعتذار استاذى الفاضل
فانا مقدر مجهودك لتلبيه طلبات الاعضاء
مع انشغالك بانهاء الدرس الثانى عشر
كان الله فى عونك
ان شاء الله انتهى من الدرس الجديد
ثم اقوم بالتطبيق
جزاك الله خيرا
ابو سمر
14-12-2013, 06:39 PM
بفضل الله تم الانتهاء من الدرس 12 وجارى التطبيق
استفسار استاذى الفاضل
بفرض انى هتاجر على مؤشر الزجزاج
اقدر اضع شروط الدخول بناء على متغير iLowest ل10 شمعات سابقه ؟؟
مثال للتوضيح
double low = Low[iLowest(Symbol(),PERIOD_H1,MODE_LOW,10,1];
if(Close[1]>Low[1]){
if(OrdersTotal()==0){
if(StopLoss==0){BSL=0;}else{BSL=Ask-StopLoss*pt;}
if(TakeProfit==0){BTP=0;}else{BTP=Ask+TakeProfit*p t;}
OrderSend(Symbol(),OP_BUY,newlot,Ask,3,BSL,BTP,"Long Trend zigzag",MagicNumber,0,Blue);
}
}
اسلام العوامى
14-12-2013, 06:50 PM
بفضل الله تم الانتهاء من الدرس 12 وجارى التطبيق
استفسار استاذى الفاضل
بفرض انى هتاجر على مؤشر الزجزاج
اقدر اضع شروط الدخول بناء على متغير iLowest ل10 شمعات سابقه ؟؟
مثال للتوضيح
double low = Low[iLowest(Symbol(),PERIOD_H1,MODE_LOW,10,1];
if(Close[1]>Low[1]){
if(OrdersTotal()==0){
if(StopLoss==0){BSL=0;}else{BSL=Ask-StopLoss*pt;}
if(TakeProfit==0){BTP=0;}else{BTP=Ask+TakeProfit*p t;}
OrderSend(Symbol(),OP_BUY,newlot,Ask,3,BSL,BTP,"Long Trend zigzag",MagicNumber,0,Blue);
}
}
،،،انت فى هذا الكود قمت بعمل متغير اسمه low و قمت بتخزين قيمة اقل لو فى مجال عشر شمعات تبدأ من الشمعة رقم 1 ثم قمت بوضع جملة شرطية اذا كان اغلاق الشمعة السابقة اكبر من اللو لنفس الشمعة ، اذا انت هنا لم تستخدم المتغير low على الاطلاق ، هذا اول شئ ،،،
،،،ثانى شئ اذا اردت ان تتاجر بالزجزاج فيجب ان تقوم باستدعاء المؤشر لمعرفة قيمة معينة منه التى تريد ان تتاجر بناء عليها ،،،
،،،ثالث شئ انا لم افهم بالضبط "بفرض انى هتاجر على مؤشر الزجزاج" ، هل تعنى انك تريد المتاجرة على كسر اخر لو زجزاج مثلا ام شئ اخر؟؟،،،
،،،رابع شئ ، انا معجب بنشاطك وبمثابرتك واصرارك على التعلم واتنبأ لك بشأن كبير فى هذا المجالhttp://www.fx-arabia.com/vb/images/icons/icon7.gif،،،
ابو سمر
14-12-2013, 07:07 PM
بارك الله فيك استاذى الفاضل
انت تعلم ان اخر زراع للزجزاج يظهر عند تكوين قاع مثلا
وقد يثبت القاع ويعكس الاتجاه ويصعد
او يستمر فى النزول ويعيد الزجزاج رسم نفسه على القاع الجديد
فاذا تكون الزراع الاخير للزجزاج عند القاع
اريد حساب ثبات هذا القاع لعدد معين من الشموع ولنفرض 10 شموع
اذا تحقق الثبات يتتم فتح صفقه شراء
واغلاق الصفقه يكون عند ثبات قمه جديده بنفس الشروط السابقه
وبعد اغلاق الشراء يدخل بيع
وهكذا
واعتذر اذا لم اكن وضحت ذلك فى المشاركه السابقه
وشهادتك هذه وسام على صدرى
والفضل لله ثم تحملك لاستفساراتى
تقبل تحياتى
sunegypt
15-12-2013, 05:20 AM
تم الانتهاء من الدرس الثامن والتاسع والحمد لله
سأبدأ ان شاء الرحمن فى الدرس العاشر من غد
الله المستعان
الشكر موصول لاستاذى اسلام
sunegypt
15-12-2013, 07:00 AM
تم سماع الدرس العاشر على استعجال
وان شاء الله نراجعه مرة اخرى
ربنا يكرمك ياباشمهندس اسلام
Qadri
15-12-2013, 12:23 PM
استاذ العوامى
السلام عليكم ورحمة الله
ما معنى هذا الخطأ "expression on global scope not allowed" وكيف يمكن معالجته
شكرا لك مقدما
اسلام العوامى
15-12-2013, 12:27 PM
استاذ العوامى
السلام عليكم ورحمة الله
ما معنى هذا الخطأ "expression on global scope not allowed" وكيف يمكن معالجته
شكرا لك مقدما
،،،معناها هناك خطأ فى كتابة احد المتغيرات سواء فى الاقواس او غيره(التعبير غير مسموح به فى منطقة التصريحات العامة) ، قم بارفاق الكود لمراجعته ومعرفة الخطأ او قم بتتبع الكود بدقة من البداية وسيظهر معك الخطأ،،،
Qadri
15-12-2013, 02:20 PM
شكرا على الاهتمام استاذ العوامى
فيما يلى الكود
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
double ma1 [];
double maup[];
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ma1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,maup);
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
الخطأ باللون الاحمر انا قصدت اعمل مصفوفة يخزن فيها الموفنج افريج
شكرا لك
اسلام العوامى
15-12-2013, 09:05 PM
شكرا على الاهتمام استاذ العوامى
فيما يلى الكود
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
double ma1 [];
double maup[];
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ma1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,maup);
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
الخطأ باللون الاحمر انا قصدت اعمل مصفوفة يخزن فيها الموفنج افريج
شكرا لك
،،،يجب ان تقوم بانهاء الكود اولا او على الاقل انهاء اى وظيفة مفتوحة ،،،
،،،انظر بعد اضافة اقواس وظيفة init اختفت المشكلة،،،
#property link "http://www.metaquotes.net"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
double ma1 [];
double maup[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ma1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,maup);
return(0);
}
Qadri
15-12-2013, 09:29 PM
شكرا استاذ العوامى
معلهش انا لسه بادئ التعلم بتقليد بعض المؤشرات الى تشبه الفكره اللى عاوز اعملها ارجو الا اثقل عليك باسئلتى:1 (109):
اسلام العوامى
15-12-2013, 10:04 PM
شكرا استاذ العوامى
معلهش انا لسه بادئ التعلم بتقليد بعض المؤشرات الى تشبه الفكره اللى عاوز اعملها ارجو الا اثقل عليك باسئلتى:1 (109):
،،،بالعكس ، هذا الموضوع مخصوص لك ولكل شخص يريد تعلم البرمجة وانا موجود بأى وقت لاجيب اسئلتكم واستفساراتكم،،،
،،،تحياتى،،،
ابو سمر
17-12-2013, 02:46 AM
بارك الله فيك استاذى الفاضل
انت تعلم ان اخر زراع للزجزاج يظهر عند تكوين قاع مثلا
وقد يثبت القاع ويعكس الاتجاه ويصعد
او يستمر فى النزول ويعيد الزجزاج رسم نفسه على القاع الجديد
فاذا تكون الزراع الاخير للزجزاج عند القاع
اريد حساب ثبات هذا القاع لعدد معين من الشموع ولنفرض 10 شموع
اذا تحقق الثبات يتتم فتح صفقه شراء
واغلاق الصفقه يكون عند ثبات قمه جديده بنفس الشروط السابقه
وبعد اغلاق الشراء يدخل بيع
وهكذا
واعتذر اذا لم اكن وضحت ذلك فى المشاركه السابقه
وشهادتك هذه وسام على صدرى
والفضل لله ثم تحملك لاستفساراتى
تقبل تحياتى
وجدت مؤشر يرسم اشارة عند ثبات القمه او القاع
وقمت بعمل اكسبرت عليه
الاكسبرت اشتغل كويس
وعندما وضعت كود الاغلاق على عكس الاشاره
لم يقم بتنفيذ المطلوب
واستمر بفتح الصفقات فى اتجاه واحد فقط وهو الشراء
النسخه التجريبيه والمؤشر والشرح بالمرفقات
ارجو التصحيح
سمير محمد ارمان
17-12-2013, 07:29 AM
وجدت مؤشر يرسم اشارة عند ثبات القمه او القاع
وقمت بعمل اكسبرت عليه
الاكسبرت اشتغل كويس
وعندما وضعت كود الاغلاق على عكس الاشاره
لم يقم بتنفيذ المطلوب
واستمر بفتح الصفقات فى اتجاه واحد فقط وهو الشراء
النسخه التجريبيه والمؤشر والشرح بالمرفقات
ارجو التصحيح
السلام عليكم
طبعا من بعد اذن الاستاذ العوامى
تم عمل المطلوب
المشكلة
فى اسم المؤشر
وطريقة فتح الصفقة وطريقة الاغلاق
تحياتى لك
ابو سمر
17-12-2013, 09:10 AM
السلام عليكم
طبعا من بعد اذن الاستاذ العوامى
تم عمل المطلوب
المشكلة
فى اسم المؤشر
وطريقة فتح الصفقة وطريقة الاغلاق
تحياتى لك
وعليكم السلام ورحمة الله وبركاته
شكرا استاذ سمير
ابو سمر
17-12-2013, 11:54 AM
الاكسبرت يقوم باغلاق الصفقه وفتح صفقه عكسيه
ويكررها اكثر من مره
رغم عدم توفر شروط الاشارة العكسيه
كما هو موضح فى الصورة
http://www.fx-arabia.com/vb/uploaded/6309_01387270400.jpg
سمير محمد ارمان
17-12-2013, 12:44 PM
الاكسبرت يقوم باغلاق الصفقه وفتح صفقه عكسيه
ويكررها اكثر من مره
رغم عدم توفر شروط الاشارة العكسيه
كما هو موضح فى الصورة
http://www.fx-arabia.com/vb/uploaded/6309_01387270400.jpg
السلام علبكم
المشكلة من المؤشر
ارجو متابعة الاكسبيرت باك تست ومتابعة المؤشر
سوف تجد يعد فتح الصفقة مع الاشارة
ومع اختلاف الاشارة واغلاق الصفقة لا تجد اشارة المؤشر على الشارت وكانه لم يظهر من قبل
ارجو المتابعة
تحياتى لك
ابو سمر
17-12-2013, 12:53 PM
السلام علبكم
المشكلة من المؤشر
ارجو متابعة الاكسبيرت باك تست ومتابعة المؤشر
سوف تجد يعد فتح الصفقة مع الاشارة
ومع اختلاف الاشارة واغلاق الصفقة لا تجد اشارة المؤشر على الشارت وكانه لم يظهر من قبل
ارجو المتابعة
تحياتى لك
وعليكم السلام ورحمة الله وبركاته
شكرا استاذ سمير
رغم الاغلاق مع عدم ظهور اشارة
الا ان نتائج الباك تيست فوق الممتازه الى الان
هتابع النتائج
وربنا يكرم ان شاء الله
تقبل تحياتى
sunegypt
18-12-2013, 05:35 AM
استاذى الكريم اسلام
انا اصمم اكسبيرت موفينج وأريده اذا عطى اشارة شراء يستمر فى فتح صفقات شراء كل استيب معين
فكرة الاستيب دى مش عارف اعملها ازاى ..
ممكن تخبرنى استاذى كيف اصممها ؟
sunegypt
18-12-2013, 05:54 AM
استاذى الكريم اسلام
ممكن بعد أذنك ترفق اكسبيرت auto recommend اللى حضرتك صممته فى موضوع اخر فى القسم هنا ولكن مفتوح لانى محتاج اعرف حضرتك كيف صممت اكسبيرت لمؤشر مغلق
شكرا لك استاذى الكريم على ماتقدمه من دعم هنا
ربنا يجزيك الفردوس الاعلى من الجنه .. اللهم أمين
اسلام العوامى
18-12-2013, 09:51 AM
استاذى الكريم اسلام
انا اصمم اكسبيرت موفينج وأريده اذا عطى اشارة شراء يستمر فى فتح صفقات شراء كل استيب معين
فكرة الاستيب دى مش عارف اعملها ازاى ..
ممكن تخبرنى استاذى كيف اصممها ؟
،،،الفكرة ستكون بعمل وظيفة تأتى بسعر افتتاح اخر صفقة وبعد ذلك عمل شرط لفتح صفقة كلما كان السعر يساوى سعر افتتاح اخر صفقة + الاستيب ،،،
double LastOrderPrice (int type)
{
for(int i=0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(Symbol()==OrderSymbol()&&OrderType()=type){
double Price = OrderOpenPrice();
}
}
return(Price);
}
داخل ستارت تضع الشرط
if(Ask==LastOrderPrice(OP_BUY)+Step&&fastma>slowma)
{
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Stoploss,Takep rofit,"",MagicNumber,0,Blue);
}
اسلام العوامى
18-12-2013, 09:58 AM
استاذى الكريم اسلام
ممكن بعد أذنك ترفق اكسبيرت auto recommend اللى حضرتك صممته فى موضوع اخر فى القسم هنا ولكن مفتوح لانى محتاج اعرف حضرتك كيف صممت اكسبيرت لمؤشر مغلق
شكرا لك استاذى الكريم على ماتقدمه من دعم هنا
ربنا يجزيك الفردوس الاعلى من الجنه .. اللهم أمين
،،،لتصميم اكسبيرت يعتمد على مؤشر لا تحتاج الى كود المؤشر ، فقط تحتاج الى قيم اندكس اشارات البيع والشراء وتلك القيم تستطيع معرفتها عن طريق استدعاء المؤشر بكود icustom ثم طباعة القيم على الشارت عن طريق comment واستخدام جمل شرطية لفتح الصفقات عن طريق تغير قيم الاندكس،،،
،،،اكسبيرت auto recommendations ليس من تصميمى ولكن يمكنك تصميم اى اكسبيرت يعتمد على مؤشر بالطريقة المذكورة اعلاه،،،
ابو سمر
18-12-2013, 12:21 PM
السلام عليكم ورحمة الله وبركاته
لو تكرمت استاذ اسلام تخصص درس لطريقة كتابة الاكواد الرقمية
لان معظم تحليلى رقمى وبحتاج لمؤشر او اكسبرت يرسم على الشارت
نتيجة المعادلات وتكون عبارة عن خطوط سعر وخطوط زمن وترندات
اسلام العوامى
18-12-2013, 12:29 PM
السلام عليكم ورحمة الله وبركاته
لو تكرمت استاذ اسلام تخصص درس لطريقة كتابة الاكواد الرقمية
لان معظم تحليلى رقمى وبحتاج لمؤشر او اكسبرت يرسم على الشارت
نتيجة المعادلات وتكون عبارة عن خطوط سعر وخطوط زمن وترندات
،،،بإذن الله سيكون هذا موضوع الدرس القادم،،،
ابو سمر
18-12-2013, 01:15 PM
،،،بإذن الله سيكون هذا موضوع الدرس القادم،،،
بارك الله فيك استاذى
وجعله فى ميزان حسناتك
اسلام العوامى
21-12-2013, 11:28 AM
،،،تم رفع الدرس الثالث عشر فى الموضوع الخاص بالدورة،،،
،،،يشرح التعامل مع الكائنات الرسومية OBJECTS عن طريق تطبيق عملى لمؤشر الهاى واللو اليومى والاسبوعى والشهرى ومؤشر مستويات التنبيه،،،
ابو سمر
22-12-2013, 09:47 AM
،،،تم رفع الدرس الثالث عشر فى الموضوع الخاص بالدورة،،،
،،،يشرح التعامل مع الكائنات الرسومية OBJECTS عن طريق تطبيق عملى لمؤشر الهاى واللو اليومى والاسبوعى والشهرى ومؤشر مستويات التنبيه،،،
بارك الله فيك استاذ اسلام
الحمد لله انتهيت من الدرس والتطبيق عليه
قمت بمحاولة لتطبيق معادلات اخرى ولم انجح
فمثلا اريد تطبيق معادله للهاى اليومى وهى
الجذر التربيع لهاى اليوم السابق
ثم اضافة معامل وليكن 0.0149
ثم نقوم بتربيع الناتج
والناتج من التربيع سيتم رسمه على الشارت
ارجو توضيح الطريقة الصحيحه
شكرا لك
اسلام العوامى
22-12-2013, 01:34 PM
بارك الله فيك استاذ اسلام
الحمد لله انتهيت من الدرس والتطبيق عليه
قمت بمحاولة لتطبيق معادلات اخرى ولم انجح
فمثلا اريد تطبيق معادله للهاى اليومى وهى
الجذر التربيع لهاى اليوم السابق
ثم اضافة معامل وليكن 0.0149
ثم نقوم بتربيع الناتج
والناتج من التربيع سيتم رسمه على الشارت
ارجو توضيح الطريقة الصحيحه
شكرا لك
،،،اولا ستحتاج الى معرفة الهاى واللو لليوم السابق،،،
double h=iHigh(Symbol(),PERIOD_D1,1);
double l = iLow(Symbol(),PERIOD_D1,1);
،،،ثم تقوم بأخذ الجذر التربيعى،،،
double h2 =MathSqrt(h);
double l2=MathSqrt(l);
،،،ثم تقوم بإضافة المعامل الذى تريده،،،
double h3=h2+0.0149;
double l3=l2+0.0149;
،،،ثم تقوم بتربيع الناتج،،،
double h4=h3*h3;
double l4=l3*l3;
،،،وهاهو الناتج النهائى ، وبالطبع تستطيع اختصار كل تلك المتغيرات فى متغير واحد وتقوم بعمل الحسابات فى سطر واحد لكن الافضل ان تقوم بها خطوة خطوة وتقوم بطباعة الناتج على الشارت لتتاكد من عدم وجود اخطاء،،،
double d=h4;
double x=l4;
،،،الان نأتى لرسم القيم عن طريق objectcreat ،،،
ObjectCreate("new high", OBJ_HLINE,0, Time[0],d);
ObjectSet("new high", OBJPROP_COLOR, Red);
ObjectSet("new high", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet("new high",OBJPROP_WIDTH,2);
ابو سمر
22-12-2013, 03:50 PM
،،،اولا ستحتاج الى معرفة الهاى واللو لليوم السابق،،،
double h=iHigh(Symbol(),PERIOD_D1,1);
double l = iLow(Symbol(),PERIOD_D1,1);
،،،ثم تقوم بأخذ الجذر التربيعى،،،
double h2 =MathSqrt(h);
double l2=MathSqrt(l);
،،،ثم تقوم بإضافة المعامل الذى تريده،،،
double h3=h2+0.0149;
double l3=l2+0.0149;
،،،ثم تقوم بتربيع الناتج،،،
double h4=h3*h3;
double l4=l3*l3;
،،،وهاهو الناتج النهائى ، وبالطبع تستطيع اختصار كل تلك المتغيرات فى متغير واحد وتقوم بعمل الحسابات فى سطر واحد لكن الافضل ان تقوم بها خطوة خطوة وتقوم بطباعة الناتج على الشارت لتتاكد من عدم وجود اخطاء،،،
double d=h4;
double x=l4;
،،،الان نأتى لرسم القيم عن طريق objectcreat ،،،
ObjectCreate("new high", OBJ_HLINE,0, Time[0],d);
ObjectSet("new high", OBJPROP_COLOR, Red);
ObjectSet("new high", OBJPROP_STYLE, STYLE_SOLID);
ObjectSet("new high",OBJPROP_WIDTH,2);
بارك الله فيك استاذى
الحمد لله قمت بالتطبيق
وتواجهنى مشكلة فى المستويات
فالمفروض اننا نحسب الجذر للرقم الصحيح
لذلك قمت بالضرب *100000 لان المنصة خماسيه
مثال 1.36492 تصبح 136492
وبعد اضافة العامل قمت بقسمة الناتج / 100000
ثم قمت بالتربيع
المفروض احصل على 3 مستويات هاى لليوم الحالى
و 3 مستويات لو لليوم الحالى
عند التطبيق وجد مستويات الهاى لليوم الحالى جميعها عند مستوى هاى اليوم السابق
وكذلك مستويات اللو
مرفق نسخة التطبيق
ارجو التصحيح
اسلام العوامى
22-12-2013, 05:01 PM
بارك الله فيك استاذى
الحمد لله قمت بالتطبيق
وتواجهنى مشكلة فى المستويات
فالمفروض اننا نحسب الجذر للرقم الصحيح
لذلك قمت بالضرب *100000 لان المنصة خماسيه
مثال 1.36492 تصبح 136492
وبعد اضافة العامل قمت بقسمة الناتج / 100000
ثم قمت بالتربيع
المفروض احصل على 3 مستويات هاى لليوم الحالى
و 3 مستويات لو لليوم الحالى
عند التطبيق وجد مستويات الهاى لليوم الحالى جميعها عند مستوى هاى اليوم السابق
وكذلك مستويات اللو
مرفق نسخة التطبيق
ارجو التصحيح
،،،الحل بسيط جدا وهو اضافة المعامل كرقم صحيح وليس رقم عشرى ، ولذلك اخبرتك فى المشاركة السابقة ان تطبع قيم المتغيرات بعد كل عمليه حسابية لتعرف هل انت على الطريق الصحيح ام لا،،،
،،،مرفق المؤشر بعد التعديل،،،
ابو سمر
23-12-2013, 03:54 AM
،،،الحل بسيط جدا وهو اضافة المعامل كرقم صحيح وليس رقم عشرى ، ولذلك اخبرتك فى المشاركة السابقة ان تطبع قيم المتغيرات بعد كل عمليه حسابية لتعرف هل انت على الطريق الصحيح ام لا،،،
،،،مرفق المؤشر بعد التعديل،،،
تمام يا استاذى
بارك الله فيك
ابو سمر
23-12-2013, 05:00 AM
تمام يا استاذى
بارك الله فيك
المؤشر يعمل الان بكفائة على الازواج التى سعرها 4 ارقام بعد الفاصله
ولا يعمل جيدا مع الازواج التى سعرها رقمين
قمت بوضع كود السعر الذى نستخدمه فى الاكسبرت
ولكنه لم يعمل ايضا
سافكر فى المعادلات جيدا حتى يتم التطبيق بنجاح
zoro797
23-12-2013, 02:23 PM
تسلم ياغالي علي الدوره الجميله وان شاء الله اتابعها مع حضرتك انا شفت اول درسين وهشوف الباقي ان شاء الله
وان شاء الله لو فيه حاجه هسأل حضرتك فيها ان شاء الله
وبالتوفيق ياغالي
اسلام العوامى
23-12-2013, 06:43 PM
،،،اعضاء ارابيا الكرام،،،
باذن الله الدرس القادم سيكون اخر دروس دورة البرمجة وسيكون مراجعة على ماسبق مع تغطية باقى الاكواد ، فمن لديه طلب يريد ان يتم شرحه فى هذا الدرس يتفضل مشكورا بكتابته فى هذا الموضوع،،،
،،،تحياتى،،،
ابو سمر
23-12-2013, 09:16 PM
،،،اعضاء ارابيا الكرام،،،
باذن الله الدرس القادم سيكون اخر دروس دورة البرمجة وسيكون مراجعة على ماسبق مع تغطية باقى الاكواد ، فمن لديه طلب يريد ان يتم شرحه فى هذا الدرس يتفضل مشكورا بكتابته فى هذا الموضوع،،،
،،،تحياتى،،،
جزاك الله خيرا استاذنا الفاضل
ونسئل الله ان يجزيك اجر ما صنعت ويكتبه فى ميزان حسناتك
ارجو منك شرح التعامل مع الاوردرات المعلقه
مع توضيح كيفية تحريك الاوردرات المعلقه مع حركة السعر
مثلما شرحت التريلنج ستوب وتحريك الستوب كلما تحرك السعر فى اتجاه الهدف
مع شرح اغلاق كل الصفقات المعلقه عند تحقيق الهدف
قمت ببرمجة اكسبرت هيدج مع التبريد بمضاعفات
والحمد لله يعمل جيدا
اريد اضافة وضع صفقه تعزيز بحجم اللوت الاساسى مع صفقة التبريد المضاعف
واغلاق جميع الصفقات عند تحقيق هدف التبريد المضاعف
مع شرح طريقة اخفاء الهدف او الستوب عن البروكر
لا يزال لدى الكثير من الاستفسارات واكتفى بما سبق
واترك الفرصه لباقى الاعضاء لعرض طلباتهم
شكرا لك
GBPJPY
23-12-2013, 09:32 PM
السلام عليكم
الشكر والتقدير الى الاستاذ العوامى
على كل المجهود والعطاء الكبير
وارجو ان يكون فى اخر شرح
الاستفادة من الكلمات المحجوزة
وطريقة العمل بطريقة dll
مع الاكسبيرت او المؤشر
وكيف يتم رابط الاكسبيرت بموقع الاخبار
وشكرا لك
sunegypt
24-12-2013, 07:28 AM
،،،اعضاء ارابيا الكرام،،،
باذن الله الدرس القادم سيكون اخر دروس دورة البرمجة وسيكون مراجعة على ماسبق مع تغطية باقى الاكواد ، فمن لديه طلب يريد ان يتم شرحه فى هذا الدرس يتفضل مشكورا بكتابته فى هذا الموضوع،،،
،،،تحياتى،،،
بارك الله تعالى فيك استاذى الكريم اسلام
لو أمكن تعيد ذكر امثله اضافيه لكفيه عمل داله او وظيفه جديده وايضا كيفيه عمل حلقه
انا مشكلتى الوحيده الى الان فى الحلقات بشكل خاص والدوال بشكل عام
ياريت استاذى لو تعيد ذكر بعض امثله اضافيه للامثله الكثيرة اللى حضرتك ذكرتها كى تثبت المعلومه اكثر واكثر
تقبل كامل احترامى استاذنا الكريم
اسلام العوامى
28-12-2013, 11:08 AM
،،،تم رفع الدرس الرابع عشر والاخير فى الموضوع الخاص بالدورة،،،
،،،يشرح طريقة التعامل مع الصفقات المعلقة وعمل وظيفة لتحريك الامر المعلق مع السعر ووظيفة لمعرفة عدد الاوامر المفتوحة حسب النوع ووظيفة لمعرفة بيانات اخر صفقة مفتوحة ووظيفة لمسح الامر المعلق حسب النوع وطريقة اخفاء الهدف والاستوب عن البروكر،،،
zoro797
29-12-2013, 12:31 AM
لو ممكن ياغالي انا لسه بتابع في الأول ده تطبيقي
التطبيق الأول علي دالة كومنت
والتطبيق التاني الاسكربت لإظهار بعض البيانات اللي هو تطبيق علي الدرس الخامس
وان شاء الله هكمل واضع تطبيقاتي
وبالتوفيق ياغالي وجزاك الله كل خير
اسلام العوامى
29-12-2013, 09:51 AM
لو ممكن ياغالي انا لسه بتابع في الأول ده تطبيقي
التطبيق الأول علي دالة كومنت
والتطبيق التاني الاسكربت لإظهار بعض البيانات اللي هو تطبيق علي الدرس الخامس
وان شاء الله هكمل واضع تطبيقاتي
وبالتوفيق ياغالي وجزاك الله كل خير
،،،الله ينور تطبيق ممتاز جدا ، بانتظار بقية التطبيقات،،،
،،،تحياتى،،،
اسلام العوامى
29-12-2013, 09:56 AM
جزاك الله خيرا استاذنا الفاضل
ونسئل الله ان يجزيك اجر ما صنعت ويكتبه فى ميزان حسناتك
ارجو منك شرح التعامل مع الاوردرات المعلقه
مع توضيح كيفية تحريك الاوردرات المعلقه مع حركة السعر
مثلما شرحت التريلنج ستوب وتحريك الستوب كلما تحرك السعر فى اتجاه الهدف
مع شرح اغلاق كل الصفقات المعلقه عند تحقيق الهدف
قمت ببرمجة اكسبرت هيدج مع التبريد بمضاعفات
والحمد لله يعمل جيدا
اريد اضافة وضع صفقه تعزيز بحجم اللوت الاساسى مع صفقة التبريد المضاعف
واغلاق جميع الصفقات عند تحقيق هدف التبريد المضاعف
مع شرح طريقة اخفاء الهدف او الستوب عن البروكر
لا يزال لدى الكثير من الاستفسارات واكتفى بما سبق
واترك الفرصه لباقى الاعضاء لعرض طلباتهم
شكرا لك
،،،تم شرح المطلوب فى الدرس الاخير،،،
السلام عليكم
الشكر والتقدير الى الاستاذ العوامى
على كل المجهود والعطاء الكبير
وارجو ان يكون فى اخر شرح
الاستفادة من الكلمات المحجوزة
وطريقة العمل بطريقة dll
مع الاكسبيرت او المؤشر
وكيف يتم رابط الاكسبيرت بموقع الاخبار
وشكرا لك
،،،بالنسبة لملفات dll تحتاج الى اتقان لغة c وتلك اللغة تحتاج دورة كاملة لها فقط حيث ان mql4 هى جزء بسيط جدا من لغة c وربما ان كان هناك اقبال على تعلم لغة c سيتم عمل دورة تعليمية لها،،،
بارك الله تعالى فيك استاذى الكريم اسلام
لو أمكن تعيد ذكر امثله اضافيه لكفيه عمل داله او وظيفه جديده وايضا كيفيه عمل حلقه
انا مشكلتى الوحيده الى الان فى الحلقات بشكل خاص والدوال بشكل عام
ياريت استاذى لو تعيد ذكر بعض امثله اضافيه للامثله الكثيرة اللى حضرتك ذكرتها كى تثبت المعلومه اكثر واكثر
تقبل كامل احترامى استاذنا الكريم
،،،تم شرح المطلوب فى الدرس الاخير،،،
ابو سمر
29-12-2013, 10:23 AM
،،،تم رفع الدرس الرابع عشر والاخير فى الموضوع الخاص بالدورة،،،
،،،يشرح طريقة التعامل مع الصفقات المعلقة وعمل وظيفة لتحريك الامر المعلق مع السعر ووظيفة لمعرفة عدد الاوامر المفتوحة حسب النوع ووظيفة لمعرفة بيانات اخر صفقة مفتوحة ووظيفة لمسح الامر المعلق حسب النوع وطريقة اخفاء الهدف والاستوب عن البروكر،،،
بارك الله فيك استاذنا الفاضل
ونسئل الله ان يجعله فى ميزان حسناتك
الحمد لله تم الانتهاء من الشرح وجارى التطبيق
Madawbs
29-12-2013, 12:18 PM
السلام عليكم استاذنا الغالي
دورة رائعة وشرحك جميل وسهل شكرا لحضرتك وكنت اتمني تكمل معانا شروحات اخري في mql4
الحقيقة عندي مشكلة بسيطة هي انه عندما اضع شرط لدخول الصفقات مثلا كسر مؤشر لنقطة معينة او مؤشر اخر فانه يفتح صفقات بالعدد الكلي لل maximum trades انا اريده ان يفتح صفقة واحدة مثلا بلوت 0.01 ثم في حالة اخري اريد ان افتح صفقة اخري بضعف الكمية مثلا 0.02 فاجد انه قد نفذ صفقتين 0.01 عند نفس الشرط
وكنت اريد ان اسأل حول نقطة اخري وهي كيفية عمل حماية للEA من النسخ
اسلام العوامى
29-12-2013, 01:33 PM
السلام عليكم استاذنا الغالي
دورة رائعة وشرحك جميل وسهل شكرا لحضرتك وكنت اتمني تكمل معانا شروحات اخري في mql4
الحقيقة عندي مشكلة بسيطة هي انه عندما اضع شرط لدخول الصفقات مثلا كسر مؤشر لنقطة معينة او مؤشر اخر فانه يفتح صفقات بالعدد الكلي لل maximum trades انا اريده ان يفتح صفقة واحدة مثلا بلوت 0.01 ثم في حالة اخري اريد ان افتح صفقة اخري بضعف الكمية مثلا 0.02 فاجد انه قد نفذ صفقتين 0.01 عند نفس الشرط
وكنت اريد ان اسأل حول نقطة اخري وهي كيفية عمل حماية للEA من النسخ
،،،بالنسبة لاول نقطة فيجب ان اطلع على الكود لاجيبك اجابة صحيحة اما ثانى نقطة فمن الممكن عمل نسخ من الاكسبيرت بالطلب ، مثلا عندما يتم طلب نسخة منك تقوم انت بطلب رقم حساب العميل وتقوم بوضعة فى الاكسبيرت وتقوم بوضع شرط فى اول ستارت اذا لم يكن رقم الحساب يساوى الرقم الذى ارسله لك العميل يتوقف الاكسبيرت عن العمل ،،،
Madawbs
29-12-2013, 02:26 PM
،،،بالنسبة لاول نقطة فيجب ان اطلع على الكود لاجيبك اجابة صحيحة اما ثانى نقطة فمن الممكن عمل نسخ من الاكسبيرت بالطلب ، مثلا عندما يتم طلب نسخة منك تقوم انت بطلب رقم حساب العميل وتقوم بوضعة فى الاكسبيرت وتقوم بوضع شرط فى اول ستارت اذا لم يكن رقم الحساب يساوى الرقم الذى ارسله لك العميل يتوقف الاكسبيرت عن العمل ،،،
مثلا في الكود التالي
void orderopen_buy(double x)
{Comment("15 order buy new lot = "+x);
if (x==0)x=lot;
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_BUY,x,Ask,3,Ask-(stoplose*t),Ask+(takeprofit*t),"buy",Magic,0,Blue);
//Comment(x);
}
void orderopen_sell(double x)
{Comment("85 order sell new lot = "+x);
if (x==0)x=lot;
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_SELL,x,Bid,3,Bid+(stoplose*t ),Bid-(takeprofit*t),"Sell",Magic,0,Red);
}
عند تحقق الشرط يتم كلب احد الوظيفتين للشراء او للبيع فاذا كان عدد العمليات المفتوحة = صفر يقوم بفتح عملية جديدة في حالة ما اذا تغير الشرط x<=2 مثلا كي قمكن فتح 3 صفقات فان الكود يفتح الثلاث صفقات سويا علي نفس السعر
بالنسبة للحماية كنت اقصد الحماية من النسخ وكيفية تحديد حجم محدد للمحفظة لعمل عليه الاسكربت واذا زاد او قل لايعمل يعني لا يعمل على محفظة اقل من 1000 دولار ولا اكبر من 10000 مثلا
اسلام العوامى
29-12-2013, 03:27 PM
مثلا في الكود التالي
void orderopen_buy(double x)
{Comment("15 order buy new lot = "+x);
if (x==0)x=lot;
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_BUY,x,Ask,3,Ask-(stoplose*t),Ask+(takeprofit*t),"buy",Magic,0,Blue);
//Comment(x);
}
void orderopen_sell(double x)
{Comment("85 order sell new lot = "+x);
if (x==0)x=lot;
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_SELL,x,Bid,3,Bid+(stoplose*t ),Bid-(takeprofit*t),"Sell",Magic,0,Red);
}
عند تحقق الشرط يتم كلب احد الوظيفتين للشراء او للبيع فاذا كان عدد العمليات المفتوحة = صفر يقوم بفتح عملية جديدة في حالة ما اذا تغير الشرط x<=2 مثلا كي قمكن فتح 3 صفقات فان الكود يفتح الثلاث صفقات سويا علي نفس السعر
بالنسبة للحماية كنت اقصد الحماية من النسخ وكيفية تحديد حجم محدد للمحفظة لعمل عليه الاسكربت واذا زاد او قل لايعمل يعني لا يعمل على محفظة اقل من 1000 دولار ولا اكبر من 10000 مثلا
،،،فى هذه الحالة تقوم بعمل وظيفة لمعرفة عدد الصفقات المفتوحة حسب النوع وتقوم بوضع شرط عندما يكون عدد الصفقات المفتوحة لنوع الصفقات المحدد اقل من 1 بدلا من orderstotal تساوى صفر ، الوظيفة وشرحها تجدهم فى الفيديو الاخير من دورة البرمجة،،،
،،،بالنسبة لنقطة الحماية من النسخ فانا لم افهم ماتقصد بها ولكن اذا كنت تقصد ان يتم تشغيلها على حساب واحد فقط فستكون الطريقة كما شرحت لك فى المشاركة السابقة وايضا لتحديد رصيد معين للاكسبيرت ليعمل عليه فقط يمكنك استخدام الكود التالى،،،
if(AccountBalance()<1000 || AccountBalance()>10000){return(0);}
،،،وتقوم بوضعه فى اول ستارت،،،
ابو سمر
29-12-2013, 03:27 PM
مثلا في الكود التالي
void orderopen_buy(double x)
{Comment("15 order buy new lot = "+x);
if (x==0)x=lot;
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_BUY,x,Ask,3,Ask-(stoplose*t),Ask+(takeprofit*t),"buy",Magic,0,Blue);
//Comment(x);
}
void orderopen_sell(double x)
{Comment("85 order sell new lot = "+x);
if (x==0)x=lot;
if(OrdersTotal()==0)
OrderSend(Symbol(),OP_SELL,x,Bid,3,Bid+(stoplose*t ),Bid-(takeprofit*t),"Sell",Magic,0,Red);
}
عند تحقق الشرط يتم كلب احد الوظيفتين للشراء او للبيع فاذا كان عدد العمليات المفتوحة = صفر يقوم بفتح عملية جديدة في حالة ما اذا تغير الشرط x<=2 مثلا كي قمكن فتح 3 صفقات فان الكود يفتح الثلاث صفقات سويا علي نفس السعر
بالنسبة للحماية كنت اقصد الحماية من النسخ وكيفية تحديد حجم محدد للمحفظة لعمل عليه الاسكربت واذا زاد او قل لايعمل يعني لا يعمل على محفظة اقل من 1000 دولار ولا اكبر من 10000 مثلا
بالنسبة للكود فاستاذنا سوف يصححه ويشرح اين الخطأ
اما الحمايه فيمكنك وضع امر فى بداية ستارت
اذا كان الفرى مارجن اكبر من او يساوى كذا نفذ الشروط
اعتذر استاذنا لم اشاهد ردك السابق
Madawbs
29-12-2013, 04:59 PM
شكرا لكم جميعا سوف اجرب عمل function لتعد العمليات ولكن هل اجعلها تفتح عملية جديدة فقط في حالة اختلاف السعر (Bid / Ask) عن سعر فتح الصفقة السابقة
بالنسبة للحماية من النسخ لو حضرتك حد بيبيع الملف .ex4 فيمكن لمن يشتريه عمل نسخ لاصدقائه او يقوم ببيعه مرة اخري فسمعت انه يمكن عمل حماية من عملية النسخ بشكل ما
وشكرا لمجهودكم مرة اخري
اسلام العوامى
29-12-2013, 05:21 PM
شكرا لكم جميعا سوف اجرب عمل function لتعد العمليات ولكن هل اجعلها تفتح عملية جديدة فقط في حالة اختلاف السعر (Bid / Ask) عن سعر فتح الصفقة السابقة
بالنسبة للحماية من النسخ لو حضرتك حد بيبيع الملف .ex4 فيمكن لمن يشتريه عمل نسخ لاصدقائه او يقوم ببيعه مرة اخري فسمعت انه يمكن عمل حماية من عملية النسخ بشكل ما
وشكرا لمجهودكم مرة اخري
،،،بالنسبة للحماية عندما تقوم بوضع شرط عدم عمل الاكسبيرت الا على رقم حساب معين فانت بهذه الطريقة تمنع استخدام الاكسبيرت الا على حساب واحد ، واذا اراد العميل نسخة او اعطاءة لمن يريد فليفعل لان الاكسبيرت لن يعمل الا على حسابه فقط،،،
ابو سمر
29-12-2013, 05:47 PM
استاذنا القدير
جربت عمل اكسبرت على مؤشر مغلق الكود باستخدام رقم الاندكس
وكل المحاولات فشلت
ارجو توضيح كيف نحدد شروط البيع والشراء والاغلاق عند عكس الاشارة
المؤشر بالمرفقات
اسلام العوامى
29-12-2013, 06:27 PM
استاذنا القدير
جربت عمل اكسبرت على مؤشر مغلق الكود باستخدام رقم الاندكس
وكل المحاولات فشلت
ارجو توضيح كيف نحدد شروط البيع والشراء والاغلاق عند عكس الاشارة
المؤشر بالمرفقات
،،،الاندكس عندما يكون غير مفعل تكون قيمته 2147483647 ولكن عندما يظهر اللون على الشارت يأخذ قيمة حسب احداثيات النافذة التى يظهر فيها فاذا كان على نافذة الشموع يأخذ سعر واذا كان على نافذة اخرى يأخذ قيمة موقعه على النافذة ، بمعنى اوضح على هذا المؤشر فان نافذته مقسمة من -11 الى 11 عندما يظهر اللون الاحمر مثلا ستكون قيمته بالسالب من بعد 0 الى -11 والاخضر من بعد 0 الى 11 فاذا اردت المتاجرة بتغير اللون مباشرة يمكنك استعمال شرط اذا كان السعر اقل من 2147483647 واذا كنت ستتعامل مع مستوى معين فتقوم بكتابة شرط الاندكس يساوى هذا المستوى،،،
،،،وفى هذا المؤشر الاندكس 0 و3 تتغير قيمتهم معا عند ظهور اللون الاخضر فيمكنك استخدام اى واحد منهم وبالنسبة للبيع 1 و 4 ،،،
ابو سمر
29-12-2013, 07:32 PM
،،،الاندكس عندما يكون غير مفعل تكون قيمته 2147483647 ولكن عندما يظهر اللون على الشارت يأخذ قيمة حسب احداثيات النافذة التى يظهر فيها فاذا كان على نافذة الشموع يأخذ سعر واذا كان على نافذة اخرى يأخذ قيمة موقعه على النافذة ، بمعنى اوضح على هذا المؤشر فان نافذته مقسمة من -11 الى 11 عندما يظهر اللون الاحمر مثلا ستكون قيمته بالسالب من بعد 0 الى -11 والاخضر من بعد 0 الى 11 فاذا اردت المتاجرة بتغير اللون مباشرة يمكنك استعمال شرط اذا كان السعر اقل من 2147483647 واذا كنت ستتعامل مع مستوى معين فتقوم بكتابة شرط الاندكس يساوى هذا المستوى،،،
،،،وفى هذا المؤشر الاندكس 0 و3 تتغير قيمتهم معا عند ظهور اللون الاخضر فيمكنك استخدام اى واحد منهم وبالنسبة للبيع 1 و 4 ،،،
بارك الله فيك استاذنا
افهم من كده انى اعمل 4 متغيرات تستدعى المؤشر
واخلى متغير لاندكس 0 ومتغير لاندكس 3 للشراء
ومتغير لاندكس 1 ومتغير لاندكس 4 للبيع
وتكون شروط الشراء متغير 0 ومتغير 3 اكبر من 0
وشروط البيع متغير 1 ومتغير 4 اقل من 0
هذا اولا
ثانيا هنضع شرط اغلاق على اشارة عكسيه نفس شرط الدخول
واللى هنغير فى شرط الاغلاق
ارجو التوضيح
......................
واعتذر عن كتر الاستفسارت
فالمؤشر عندما يكون على الشموع يكون التعامل معه اسهل باستخدام الشموع
GBPJPY
29-12-2013, 09:26 PM
السلام عليكم
الشكر والتقدير الى الاستاذ العوامى
جزاك الله خير
وزادك الله من علمه
تحياتى لك
sunegypt
30-12-2013, 08:58 AM
،،،تم رفع الدرس الرابع عشر والاخير فى الموضوع الخاص بالدورة،،،
،،،يشرح طريقة التعامل مع الصفقات المعلقة وعمل وظيفة لتحريك الامر المعلق مع السعر ووظيفة لمعرفة عدد الاوامر المفتوحة حسب النوع ووظيفة لمعرفة بيانات اخر صفقة مفتوحة ووظيفة لمسح الامر المعلق حسب النوع وطريقة اخفاء الهدف والاستوب عن البروكر،،،
بارك الله تعالى فيك استاذى الكريم اسلام
سيتم سماع الدرس والرجوع اليك مرة اخرى
تقبل ودى اخى الحبيب
اسلام العوامى
30-12-2013, 09:39 AM
بارك الله فيك استاذنا
افهم من كده انى اعمل 4 متغيرات تستدعى المؤشر
واخلى متغير لاندكس 0 ومتغير لاندكس 3 للشراء
ومتغير لاندكس 1 ومتغير لاندكس 4 للبيع
وتكون شروط الشراء متغير 0 ومتغير 3 اكبر من 0
وشروط البيع متغير 1 ومتغير 4 اقل من 0
هذا اولا
ثانيا هنضع شرط اغلاق على اشارة عكسيه نفس شرط الدخول
واللى هنغير فى شرط الاغلاق
ارجو التوضيح
......................
واعتذر عن كتر الاستفسارت
فالمؤشر عندما يكون على الشموع يكون التعامل معه اسهل باستخدام الشموع
،،،بالنسبة لاول نقطة فيكفى استدعاء اندكس واحد للشراء واندكس واحد للبيع لان الاثنين الخاصين بالشراء تتغير قيمتهم فى نفس الوقت وكذلك بالنسبة للبيع،،،
،،،اما بالنسبة للاغلاق العكسى فيتم وضع شروط الدخول شراء لاغلاق البيع والعكس لاغلاق الشراء يتم وضع شروط دخول البيع،،،
ابو سمر
30-12-2013, 04:26 PM
،،،بالنسبة لاول نقطة فيكفى استدعاء اندكس واحد للشراء واندكس واحد للبيع لان الاثنين الخاصين بالشراء تتغير قيمتهم فى نفس الوقت وكذلك بالنسبة للبيع،،،
،،،اما بالنسبة للاغلاق العكسى فيتم وضع شروط الدخول شراء لاغلاق البيع والعكس لاغلاق الشراء يتم وضع شروط دخول البيع،،،
شكرا استاذى الفاضل
منذ الامس وانا اجرب كل الشروط
جربت رقم الاندكس وجربت قيمة المؤشر
اما يعطى شراء فقط ولا يغلق على عكس الاشارة
او يعطى بيع فقط ولا يغلق على عكس الاشارة
او يعطى بيع وشراء بدون تحقيق الشروط ويغلق الصفقات بدون توفر الشروط
احترت معاه المؤشر ده
ارجو التكرم منك بكتابة شروط الدخول
اريد الشراء عندما يكون لون المؤشر اخضر
والبيع عندما يكون لون المؤشر احمر
وشكرا لك
اسلام العوامى
30-12-2013, 05:17 PM
شكرا استاذى الفاضل
منذ الامس وانا اجرب كل الشروط
جربت رقم الاندكس وجربت قيمة المؤشر
اما يعطى شراء فقط ولا يغلق على عكس الاشارة
او يعطى بيع فقط ولا يغلق على عكس الاشارة
او يعطى بيع وشراء بدون تحقيق الشروط ويغلق الصفقات بدون توفر الشروط
احترت معاه المؤشر ده
ارجو التكرم منك بكتابة شروط الدخول
اريد الشراء عندما يكون لون المؤشر اخضر
والبيع عندما يكون لون المؤشر احمر
وشكرا لك
،،،جرب الكود فى المرفقات ، ولكن من متابعتى للمؤشر على الباك تيست فهو يعيد رسم نفسه،،،
ابو سمر
30-12-2013, 05:34 PM
،،،جرب الكود فى المرفقات ، ولكن من متابعتى للمؤشر على الباك تيست فهو يعيد رسم نفسه،،،
بارك الله فيك استاذى
جارى التجربه
انا بقوم بالتطبيق على ماتم شرحه
حتى اتمكن من برمجة اى اكسبرت وفقا لاى متطلبات
وكل ما انفذه لا اتاجر عليه فكل هذا تدريب
شكرا لدعمك المستمر لنا
Madawbs
30-12-2013, 07:28 PM
شكرا جزيلا يا استاذ عوامي علي مجهودك معانا ربنا يكرمك يارب
كنت عاوز اسأل حضرتك بخصوص الحماية برضه مش ممكن عن طريق برامج الهندسة العكسية الوصول للكود الخص بالاكسبيرت من الملف الcompiled ومن ثم تغيير رقم الحساب
ابو سمر
30-12-2013, 07:32 PM
،،،جرب الكود فى المرفقات ، ولكن من متابعتى للمؤشر على الباك تيست فهو يعيد رسم نفسه،،،
راجعت الاكواد والحمد لله توصلت الى الخطأ عندى
كنت كاتب شرط الدخول اكبر من قيمة المؤشر
وكود حضرتك كان اصغر من قيمة المؤشر
جارى التطبيق على اضافة خصائص جديده
كالمضاعفات والستوب المتحرك والاوامر المعلقه
اسلام العوامى
30-12-2013, 08:25 PM
شكرا جزيلا يا استاذ عوامي علي مجهودك معانا ربنا يكرمك يارب
كنت عاوز اسأل حضرتك بخصوص الحماية برضه مش ممكن عن طريق برامج الهندسة العكسية الوصول للكود الخص بالاكسبيرت من الملف الcompiled ومن ثم تغيير رقم الحساب
،،،النسخ الحديثة من الميتاتريدر تعتمد تشفير عالى ومن الصعب جدا فك تشفير اى مؤشر او اكسبيرت تم عمل compile له عن طريق نسخة metaeditor حديثة،،،
Madawbs
04-01-2014, 12:43 PM
it is the first day of the week still witting for the new video ( i know the course is over )
but i want more
اسلام العوامى
04-01-2014, 01:29 PM
it is the first day of the week still witting for the new video ( i know the course is over )
but i want more
،،،جارى التحضير لويبينار شامل فى البرمجة ، وسيتم الاعلان عنه قبل مده مناسبة فى المنتدى،،،
valantinolala
04-01-2014, 10:37 PM
السلام عليكم ورحمه الله وبركاته اخي العوامي
بعد اذن حضرتك
انا برمجت اكسيبرت بيعلق صفقتين واحده شراء والاخري بيع علي شمعه GMT 00
ممكت تكتبللي كود يلغي الصفقه المعلقه بعد تنفيذ الصفقه الاخري
ولك جزيل الشكر ...
sunegypt
05-01-2014, 04:55 AM
السلام عليكم ورحمه الله تعالى وبركاته
استاذى الكريم اسلام
انا الان عندى داله تغلق الصفقات الرابحه فقط كما طلبتها منك قبل ذلك
void }CloseProfitOnly(int type)
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
{
if(OrderType()==OP_BUY&&OrderProfit()>0)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3*Q);
}
if(OrderType()==OP_SELL&&OrderProfit()>0)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3*Q);
}
}
}
}
أنا الان أريد داله اخرى مشابهه لهذه الداله ولكن بتغيير بسيط
فأنا أريد داله تقوم بأغلاق أقل صفقه رابحه حجما وليس كل الصفقات الرابحه كما فى هذه الداله
وأيضا أريد داله تقوم بأغلاق أكبر صفقه رابحه حجما ...
يعنى المطلوب دالتيين
واحده لاغلاق اقل صفقه رابحه فقط
وأخرى لاغلاق أكبر صفقه رابحه
لاجراء بعض الاختبارات فى بعض الاكسبيرتات عندى
أرجوا ان تكون فكرتى وصلتك استاذى اسلام
منتظر ردك استاذى الغالى
سلام عليكم
ابو سمر
05-01-2014, 05:47 AM
السلام عليكم ورحمة الله وبركاته
استاذى الفاضل اسلام العوامى
استفسار بسيط بخصوص vertical line
قمت باضافته لمؤشر الرينج المتعدد لعمل باك تيست يدوى
فعند تحديد الرينج الشهرى مثلا يظهر الخط على الشمعه رقم 1
وعند تغيير الفريم يظهر على الشمعه 1 لنفس الفريم
فكيف اقوم بتثبيته بحيث يثبت التاريخ مع تغيير الفريم
التوضيح
الخط على الشمعه 1 فريم شهرى
المفروض يكون على شمعه 4 فى الاسبوعى
ولكنه يظهر على الشمعه 1 اسبوعى
ارجو ان اكون وضحت الفكره
اسلام العوامى
05-01-2014, 11:28 AM
السلام عليكم ورحمه الله وبركاته اخي العوامي
بعد اذن حضرتك
انا برمجت اكسيبرت بيعلق صفقتين واحده شراء والاخري بيع علي شمعه GMT 00
ممكت تكتبللي كود يلغي الصفقه المعلقه بعد تنفيذ الصفقه الاخري
ولك جزيل الشكر ...
،،،وعليكم السلام ورحمة الله وبركاتة،،،
،،،اهلا بك اخى الكريم ، اولا ستحتاج الى وظيفة لمسح الاوامر المعلقة كالتالى،،،
void Delete(int type){
for(int a=0;a<OrdersTotal();a++){
if(OrderSelect(a,SELECT_BY_POS,MODE_TRADES))
if(OrderType()==type && OrderMagicNumber()==Magicnumber){
OrderDelete(OrderTicket());
}
}
}
،،،ودالة اخرى لحساب عدد الصفقات المفتوحة حسب النوع،،،
int ordercount(int type){
int x=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && Magicnumber==OrderMagicNumber()&& OrderType()==type){
x++;
}
}
}
return(x);
}
،،،بعد ذلك فى ستارت تقوم بكتابة جملة شرطية اذا كان عدد صفقات الشراء المفتوحة تساوى واحد وتقوم باستدعاء وظيفة مسح الاوامر المعلقة وتضع بها نوع الصفقة سيل ستوب والعكس للبيع فيكون الكود كالتالى،،،
if(ordercount(OP_BUY)==1){Delete(OP_SELLSTOP);}
if(ordercount(OP_SELL)==1){Delete(OP_BUYSTOP);}
اسلام العوامى
05-01-2014, 11:31 AM
السلام عليكم ورحمه الله تعالى وبركاته
استاذى الكريم اسلام
انا الان عندى داله تغلق الصفقات الرابحه فقط كما طلبتها منك قبل ذلك
void }CloseProfitOnly(int type)
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
{
if(OrderType()==OP_BUY&&OrderProfit()>0)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3*Q);
}
if(OrderType()==OP_SELL&&OrderProfit()>0)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3*Q);
}
}
}
}
أنا الان أريد داله اخرى مشابهه لهذه الداله ولكن بتغيير بسيط
فأنا أريد داله تقوم بأغلاق أقل صفقه رابحه حجما وليس كل الصفقات الرابحه كما فى هذه الداله
وأيضا أريد داله تقوم بأغلاق أكبر صفقه رابحه حجما ...
يعنى المطلوب دالتيين
واحده لاغلاق اقل صفقه رابحه فقط
وأخرى لاغلاق أكبر صفقه رابحه
لاجراء بعض الاختبارات فى بعض الاكسبيرتات عندى
أرجوا ان تكون فكرتى وصلتك استاذى اسلام
منتظر ردك استاذى الغالى
سلام عليكم
،،،وعليكم السلام ورحمة الله وبركاتة،،،
،،،اولا سوف تحتاج الى دالة لمعرفة اكبر ربح موجود،،،
double MaxProfit()
{
for(int i = OrdersTotal() - 1; i >= 0; i--)
{
if( OrderSelect(i, SELECT_BY_POS) && OrderMagicNumber()== MagicNumber && OrderSymbol()== Symbol() )
{
if( iBarShift(NULL,0,OrderOpenTime(),false) > 1 )
{
double Max_Profit = MathMax(Max_Profit,OrderProfit() );
}
else
{
Max_Profit = OrderProfit();
}
}
}
return(Max_Profit);
}
،،،بعد ذلك تحتاج الى دالة تقوم بالمرور على الصفقات واختيار صفقة واحدة ربحها اكبر من او يساوى اعلى ربح وتقوم باغلاقها،،،
void CloseMaxProfit()
{
int ticket;
double profit = MaxProfit();
for (int i =1 ;i>0;i--)
{
for (int x = OrdersTotal()-1;x>0;x--)
{
OrderSelect(x,SELECT_BY_POS);
if (OrderProfit() >= profit) ticket = OrderTicket();
}
OrderSelect(ticket,SELECT_BY_TICKET);
if (OrderType() == OP_BUY)
OrderClose(OrderTicket(),OrderLots(),MarketInfo(Or derSymbol(),MODE_BID),NULL);
if (OrderType() == OP_SELL)
OrderClose(OrderTicket(),OrderLots(),MarketInfo(Or derSymbol(),MODE_ASK),NULL);
}
}
اسلام العوامى
05-01-2014, 11:37 AM
السلام عليكم ورحمة الله وبركاته
استاذى الفاضل اسلام العوامى
استفسار بسيط بخصوص vertical line
قمت باضافته لمؤشر الرينج المتعدد لعمل باك تيست يدوى
فعند تحديد الرينج الشهرى مثلا يظهر الخط على الشمعه رقم 1
وعند تغيير الفريم يظهر على الشمعه 1 لنفس الفريم
فكيف اقوم بتثبيته بحيث يثبت التاريخ مع تغيير الفريم
التوضيح
الخط على الشمعه 1 فريم شهرى
المفروض يكون على شمعه 4 فى الاسبوعى
ولكنه يظهر على الشمعه 1 اسبوعى
ارجو ان اكون وضحت الفكره
،،،وعليكم السلام ورحمة الله وبركاتة،،،
،،،ستحتاج الى تثبيت شمعة لتكون بداية الحساب فى الحلقة ،،،
int StartCandle=(iBarShift(Symbol(),PERIOD_MN1,Time[i],false)+1);
،،،تقوم باستخدام المتغير الجديد ليكون بداية الحساب فى الكود وليس الشمعة رقم 1 ،،،
GBPJPY
05-01-2014, 02:23 PM
السلام عليكم استاذى العوامى
ممكن سؤال
فى طريقة استطيع احسب عدد نقاط السعر فى زمن معين
واعرف كم عدد النقاط التى تحرك فيه السعر فى وقت مثلا 10 دقائق او 5
وشكرا لك
ابو سمر
05-01-2014, 03:07 PM
،،،وعليكم السلام ورحمة الله وبركاتة،،،
،،،ستحتاج الى تثبيت شمعة لتكون بداية الحساب فى الحلقة ،،،
int StartCandle=(iBarShift(Symbol(),PERIOD_MN1,Time[i],false)+1);
،،،تقوم باستخدام المتغير الجديد ليكون بداية الحساب فى الكود وليس الشمعة رقم 1 ،،،
بارك الله فيك استاذى الفاضل
جربت استخدام الكود ولا يزال الخط يتحرك الى الشمعه 0 لكل فريم
برجاء كتابة المتغير والحلقه
ولو تكرمت تكتب كود وحلقة المستطيل
لانى اضفتها ولا يظهر المستطيل على الفتره
واجده فى خصائص الشارت موجود بتاريخ 1979 وليس تاريخ الفتره
واعتذر عن كثرة الاستفسارات
شكرا لك
اسلام العوامى
05-01-2014, 03:24 PM
بارك الله فيك استاذى الفاضل
جربت استخدام الكود ولا يزال الخط يتحرك الى الشمعه 0 لكل فريم
برجاء كتابة المتغير والحلقه
ولو تكرمت تكتب كود وحلقة المستطيل
لانى اضفتها ولا يظهر المستطيل على الفتره
واجده فى خصائص الشارت موجود بتاريخ 1979 وليس تاريخ الفتره
واعتذر عن كثرة الاستفسارات
شكرا لك
،،،ما هو الكود المطلوب يا ابو سمر ، هل تريد مثلا كود لرسم خط افقى على شمعة الشهرى ، وكيف تريد رسم المستطيل ، هل هناك احداثيات معينة للرسم،،،
sunegypt
05-01-2014, 03:31 PM
،،،وعليكم السلام ورحمة الله وبركاتة،،،
،،،اولا سوف تحتاج الى دالة لمعرفة اكبر ربح موجود،،،
double MaxProfit()
{
for(int i = OrdersTotal() - 1; i >= 0; i--)
{
if( OrderSelect(i, SELECT_BY_POS) && OrderMagicNumber()== MagicNumber && OrderSymbol()== Symbol() )
{
if( iBarShift(NULL,0,OrderOpenTime(),false) > 1 )
{
double Max_Profit = MathMax(Max_Profit,OrderProfit() );
}
else
{
Max_Profit = OrderProfit();
}
}
}
return(Max_Profit);
}
،،،بعد ذلك تحتاج الى دالة تقوم بالمرور على الصفقات واختيار صفقة واحدة ربحها اكبر من او يساوى اعلى ربح وتقوم باغلاقها،،،
void CloseMaxProfit()
{
int ticket;
double profit = MaxProfit();
for (int i =1 ;i>0;i--)
{
for (int x = OrdersTotal()-1;x>0;x--)
{
OrderSelect(x,SELECT_BY_POS);
if (OrderProfit() >= profit) ticket = OrderTicket();
}
OrderSelect(ticket,SELECT_BY_TICKET);
if (OrderType() == OP_BUY)
OrderClose(OrderTicket(),OrderLots(),MarketInfo(Or derSymbol(),MODE_BID),NULL);
if (OrderType() == OP_SELL)
OrderClose(OrderTicket(),OrderLots(),MarketInfo(Or derSymbol(),MODE_ASK),NULL);
}
}
جزاك الله تعالى خيرا استاذى اسلام
الكود اللى كتبته حضرتك هذا فى حاله اغلاق اكبر صفقه رابحه ..
وأريد ايضا كود لاغلاق اقل صفقه رابحه فى الحجم ..؟
اسلام العوامى
05-01-2014, 03:39 PM
السلام عليكم استاذى العوامى
ممكن سؤال
فى طريقة استطيع احسب عدد نقاط السعر فى زمن معين
واعرف كم عدد النقاط التى تحرك فيه السعر فى وقت مثلا 10 دقائق او 5
وشكرا لك
،،،مثلا اذا اردت معرفة عدد النقاط التى تحركها السعر فى خلال الخمس دقائق الماضية ، ستقوم بطرح هاى شمعة الخمس دقائق من اللو والناتج هو حركة السعر،،،
double h = iHigh(Symbol(),PERIOD_M5,1);
double l = iLow(Symbol(),PERIOD_M5,1);
double t = MathAbs(h-l);
Comment(t);
ابو سمر
05-01-2014, 04:27 PM
،،،ما هو الكود المطلوب يا ابو سمر ، هل تريد مثلا كود لرسم خط افقى على شمعة الشهرى ، وكيف تريد رسم المستطيل ، هل هناك احداثيات معينة للرسم،،،
انا عملت مؤشر للرينج يجمع اكثر من فريم من الشهرى الى الساعه
وجعلت لكل فريم اعداد من النوع بولين للاختيار بين اظهاره او اخفاءه
واضفت المتغير شيفت لتحديد رقم الشمعه من اعدادات المؤشر
فعند اختيار شمعه ولتكن رقم 2 على الفريم الشهرى سيكون التاريخ 1/11/2013
عندما اغير الفريم الى اسبوعى او يومى فانا اريد ان يظهر الخط عند تاريخ 1/11/2013
ولكنه يظهر على الشمعه رقم 2 للاسبوعى او اليومى
اما بالنسبه للمستطيل
اريد رسمه على رينج الفتره كامله
فمثلا
عند اختيار الشمعه 3 لفريم اسبوعى
يرسم مستطيل على هذه الفتره لفريم 4 ساعات
وعند اختيار شمعه 3 لفريم يومى
يرسم مستطيل على فترة فريم الساعه
ابو سمر
05-01-2014, 04:57 PM
استفسار اخر
كيف احدد اعلى هاى واقل لو لفتره معينه على فريم معين
مع عدم معرفتنا لرقم شمعة اعلى هاى او اقل لو
كما موضح بالصوره
http://www.fx-arabia.com/vb/uploaded/6309_01388930250.jpg
GBPJPY
05-01-2014, 05:47 PM
،،،مثلا اذا اردت معرفة عدد النقاط التى تحركها السعر فى خلال الخمس دقائق الماضية ، ستقوم بطرح هاى شمعة الخمس دقائق من اللو والناتج هو حركة السعر،،،
double h = iHigh(Symbol(),PERIOD_M5,1);
double l = iLow(Symbol(),PERIOD_M5,1);
double t = MathAbs(h-l);
Comment(t);
شكرا لك استاذى الكريم
اسلام العوامى
05-01-2014, 06:20 PM
انا عملت مؤشر للرينج يجمع اكثر من فريم من الشهرى الى الساعه
وجعلت لكل فريم اعداد من النوع بولين للاختيار بين اظهاره او اخفاءه
واضفت المتغير شيفت لتحديد رقم الشمعه من اعدادات المؤشر
فعند اختيار شمعه ولتكن رقم 2 على الفريم الشهرى سيكون التاريخ 1/11/2013
عندما اغير الفريم الى اسبوعى او يومى فانا اريد ان يظهر الخط عند تاريخ 1/11/2013
ولكنه يظهر على الشمعه رقم 2 للاسبوعى او اليومى
اما بالنسبه للمستطيل
اريد رسمه على رينج الفتره كامله
فمثلا
عند اختيار الشمعه 3 لفريم اسبوعى
يرسم مستطيل على هذه الفتره لفريم 4 ساعات
وعند اختيار شمعه 3 لفريم يومى
يرسم مستطيل على فترة فريم الساعه
،،،بالنسبة للخطوط فيكون الكود الخاص بها كالتالى،،،
for (i=Bars-1;i>=0;i--) {
int StartCandle=(iBarShift(Symbol(),PERIOD_MN1,Time[i],false)+1);
datetime ff = iTime(Symbol(),PERIOD_MN1,StartCandle);
{
ObjectCreate("VLine"+i, OBJ_VLINE, 0,ff, 0);
ObjectSet("VLine"+i, OBJPROP_STYLE,Style);
ObjectSet("VLine"+i, OBJPROP_COLOR, Color);
ObjectSet("VLine"+i, OBJPROP_WIDTH,Width);
}
}
،،،اما بالنسبة لرسم المستطيل فيكون مثل الكود التالى ولكن تقوم بعمل متغير وتضعه فى مكان الرقم 3 ،،،
datetime Time1 = iTime(Symbol(),PERIOD_W1,3);
double pric1 = iHigh(Symbol(),PERIOD_W1,3);
datetime Time2 = iTime(Symbol(),PERIOD_W1,3-1);
double pric2 = iLow(Symbol(),PERIOD_W1,3);
ObjectCreate("V"+i, OBJ_RECTANGLE, 0,Time1, pric1,Time2,pric2);
ObjectSet("V", OBJPROP_STYLE,Style);
ObjectSet("V", OBJPROP_COLOR, Color);
ObjectSet("V", OBJPROP_WIDTH,Width);
valantinolala
05-01-2014, 06:23 PM
،،،وعليكم السلام ورحمة الله وبركاتة،،،
،،،اهلا بك اخى الكريم ، اولا ستحتاج الى وظيفة لمسح الاوامر المعلقة كالتالى،،،
void Delete(int type){
for(int a=0;a<OrdersTotal();a++){
if(OrderSelect(a,SELECT_BY_POS,MODE_TRADES))
if(OrderType()==type && OrderMagicNumber()==Magicnumber){
OrderDelete(OrderTicket());
}
}
}
،،،ودالة اخرى لحساب عدد الصفقات المفتوحة حسب النوع،،،
int ordercount(int type){
int x=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && Magicnumber==OrderMagicNumber()&& OrderType()==type){
x++;
}
}
}
return(x);
}
،،،بعد ذلك فى ستارت تقوم بكتابة جملة شرطية اذا كان عدد صفقات الشراء المفتوحة تساوى واحد وتقوم باستدعاء وظيفة مسح الاوامر المعلقة وتضع بها نوع الصفقة سيل ستوب والعكس للبيع فيكون الكود كالتالى،،،
if(ordercount(OP_BUY)==1){Delete(OP_SELLSTOP);}
if(ordercount(OP_SELL)==1){Delete(OP_BUYSTOP);}
الف شكر لك اخي علي الساعده
اسلام العوامى
05-01-2014, 06:33 PM
استفسار اخر
كيف احدد اعلى هاى واقل لو لفتره معينه على فريم معين
مع عدم معرفتنا لرقم شمعة اعلى هاى او اقل لو
كما موضح بالصوره
http://www.fx-arabia.com/vb/uploaded/6309_01388930250.jpg
،،،يجب ان تعرف الرينج الذى تريد ان تبحث فيه ، وتستخدم الكود التالى،،،
int StartCandle=(iBarShift(Symbol(),PERIOD_W1,Time[0],false)+1);
double high = High[iHighest(Symbol(),PERIOD_W1,MODE_HIGH,30,StartCand le)];
double low = Low[iLowest(Symbol(),PERIOD_W1,MODE_LOW,30,StartCandle )];
،،،فى هذا المثال قمت بالبحث عن اعلى هاى واقل لو لفترة 30 شمعة على فريم الويكلى تبدأ من الشمعه رقم صفر،،،
GBPJPY
06-01-2014, 12:49 PM
السلام عليكم استاذى العوامى
طيب انا عايز طريقة التوقيت
بمعنى
فى وقت مثلا 20 دقيقة تحرك السعر 40 نقطة
يتم فتح صفقة بيع ا وشراء
وبعد فتح الصفقة
يتم العمل من جديد
ويحسب التوقيت مع السعر النقاط
ولك الشكر والعرفان
sunegypt
06-01-2014, 02:31 PM
،،،وعليكم السلام ورحمة الله وبركاتة،،،
،،،اولا سوف تحتاج الى دالة لمعرفة اكبر ربح موجود،،،
double MaxProfit()
{
for(int i = OrdersTotal() - 1; i >= 0; i--)
{
if( OrderSelect(i, SELECT_BY_POS) && OrderMagicNumber()== MagicNumber && OrderSymbol()== Symbol() )
{
if( iBarShift(NULL,0,OrderOpenTime(),false) > 1 )
{
double Max_Profit = MathMax(Max_Profit,OrderProfit() );
}
else
{
Max_Profit = OrderProfit();
}
}
}
return(Max_Profit);
}
،،،بعد ذلك تحتاج الى دالة تقوم بالمرور على الصفقات واختيار صفقة واحدة ربحها اكبر من او يساوى اعلى ربح وتقوم باغلاقها،،،
void CloseMaxProfit()
{
int ticket;
double profit = MaxProfit();
for (int i =1 ;i>0;i--)
{
for (int x = OrdersTotal()-1;x>0;x--)
{
OrderSelect(x,SELECT_BY_POS);
if (OrderProfit() >= profit) ticket = OrderTicket();
}
OrderSelect(ticket,SELECT_BY_TICKET);
if (OrderType() == OP_BUY)
OrderClose(OrderTicket(),OrderLots(),MarketInfo(Or derSymbol(),MODE_BID),NULL);
if (OrderType() == OP_SELL)
OrderClose(OrderTicket(),OrderLots(),MarketInfo(Or derSymbol(),MODE_ASK),NULL);
}
}
استاذى الغالى اسلام
اسف والله لانى بتعبك معى كثيرا
لكن الكود المكتوب هنا الان لايغلق اكبر صفقه رابحه .. ولكن يغلق اخر صفقه دائما كلما فتحت .. ( باعتبار ان اخر صفقه هى اكبر صفقه )...
وبالتالى فهو بيصفر الحساب فى اربع ساعات فقط
***** المطلوب *****
عندما يرتد السعر ويفتح صفقه شراء يشوف صفقات البيع الرابحه ويغلق اكبر صفقه رابحه فقط
وعندما يرتد السعر ويفتح صفقه بيع يشوف صفقات الشراء الرابحه ويغلق اكبر صفقه رابحه فقط
.................................................. .......................................
ومطلوب نفس الطلب السابق ولكن لاغلاق اقل صفقه رابحه اخى اسلام ..
يعنى نفس الطلب ولكن على اغلاق اقل لوت حجما رابح ..
أرجوا ان تكون فكرتى وصلتك استاذى الكريم
فأنا اجرب بعض الامور واريد ان اعرف ايهما افضل
وأسف استاذى الغالى على تعبك معنا
ربنا يزيدك من فضله وعلمه
اللهم امين
اسلام العوامى
06-01-2014, 04:42 PM
السلام عليكم استاذى العوامى
طيب انا عايز طريقة التوقيت
بمعنى
فى وقت مثلا 20 دقيقة تحرك السعر 40 نقطة
يتم فتح صفقة بيع ا وشراء
وبعد فتح الصفقة
يتم العمل من جديد
ويحسب التوقيت مع السعر النقاط
ولك الشكر والعرفان
،،،بالنسبة للتوقيت سوف تستخدم امر sleep فى اول ستارت وتضع المدة التى تريدها بالمللى ثانية بمعنى اذا اردت ان يتوقف الاكسبيرت لمدة عشرين دقيقة ثم يعاود العمل تكتب السطر التالى فى اول ستارت،،،
Sleep(1200000);
اسلام العوامى
06-01-2014, 04:44 PM
استاذى الغالى اسلام
اسف والله لانى بتعبك معى كثيرا
لكن الكود المكتوب هنا الان لايغلق اكبر صفقه رابحه .. ولكن يغلق اخر صفقه دائما كلما فتحت .. ( باعتبار ان اخر صفقه هى اكبر صفقه )...
هل يقوم باغلاق الصفقة حتى اذا كانت خاسرة؟؟
وبالتالى فهو بيصفر الحساب فى اربع ساعات فقط
***** المطلوب *****
عندما يرتد السعر ويفتح صفقه شراء يشوف صفقات البيع الرابحه ويغلق اكبر صفقه رابحه فقط
وعندما يرتد السعر ويفتح صفقه بيع يشوف صفقات الشراء الرابحه ويغلق اكبر صفقه رابحه فقط
.................................................. .......................................
ومطلوب نفس الطلب السابق ولكن لاغلاق اقل صفقه رابحه اخى اسلام ..
يعنى نفس الطلب ولكن على اغلاق اقل لوت حجما رابح ..
أرجوا ان تكون فكرتى وصلتك استاذى الكريم
فأنا اجرب بعض الامور واريد ان اعرف ايهما افضل
وأسف استاذى الغالى على تعبك معنا
ربنا يزيدك من فضله وعلمه
اللهم امين
،،،هناك استفسار بالاقتباس،،،
sunegypt
07-01-2014, 04:10 AM
نعم استاذى اسلام ..
بمجرد فتح الصفقه اساسا يقوم باغلاقها مباشرة ... ويستمر فى فتح صفقات ويغلق الصفقه بعدها مباشرة
حضرتك ممكن تجربها بنفسك
منتظر ردك استاذى الكريم
sunegypt
07-01-2014, 04:17 AM
على فكرة استاذى
انا جربت الكود على اكثر من برنامج وعلى اكثر من زوج
وبالفعل يقوم بذلك فى كل الحالات
اسلام العوامى
07-01-2014, 09:32 AM
على فكرة استاذى
انا جربت الكود على اكثر من برنامج وعلى اكثر من زوج
وبالفعل يقوم بذلك فى كل الحالات
،،،جرب الوظيفة التالية فقط،،،
void CloseMaxProfit()
{
int ticket;
double profit ;
for (int i =1 ;i<OrdersTotal();i++)
{
for (int x = OrdersTotal()-1;x>0;x--)
{
OrderSelect(x,SELECT_BY_POS);
if (OrderProfit() >= profit && OrderProfit()>0) ticket = OrderTicket();
}
OrderSelect(ticket,SELECT_BY_TICKET);
if (OrderType() == OP_BUY)
OrderClose(ticket,OrderLots(),MarketInfo(OrderSymb ol(),MODE_BID),NULL);
if (OrderType() == OP_SELL)
OrderClose(ticket,OrderLots(),MarketInfo(OrderSymb ol(),MODE_ASK),NULL);
}
}
sunegypt
09-01-2014, 05:21 AM
،،،جرب الوظيفة التالية فقط،،،
void CloseMaxProfit()
{
int ticket;
double profit ;
for (int i =1 ;i<OrdersTotal();i++)
{
for (int x = OrdersTotal()-1;x>0;x--)
{
OrderSelect(x,SELECT_BY_POS);
if (OrderProfit() >= profit && OrderProfit()>0) ticket = OrderTicket();
}
OrderSelect(ticket,SELECT_BY_TICKET);
if (OrderType() == OP_BUY)
OrderClose(ticket,OrderLots(),MarketInfo(OrderSymb ol(),MODE_BID),NULL);
if (OrderType() == OP_SELL)
OrderClose(ticket,OrderLots(),MarketInfo(OrderSymb ol(),MODE_ASK),NULL);
}
}
سلام عليكم استاذى الكريم اسلام
اولا : جزاك الله تعالى خيرا اخى الكريم على تعبك معنا هنا
واسف لتأخرى فى الرد على حضرتك لانشغالى فقط الايام الماضيه
ثانيا : بخصوص الداله هذه ففيها مشكله
الداله تغلق ايضا اخر لوت اذا كان رابح
سأعيد شرح الفكرة على حضرتك لكى تصل اليك بشكل افضل .. فربما لم استطيع ان الشرح الوافى للفكرة ..
الفكرة انى اريد داله اركبها على اى اكسبيرت فكرتها
اذا فتح الاكسبيرت اخر صفقه بيع ينظر اذا كان هناك صفقات شراء موجبه او رابحه يقوم بالنظر الى اكبر لوت شراء فقط رابح ويغلقه وفقط ويترك الباقى
و اذا فتح الاكسبيرت اخر صفقه شراء ينظر اذا كان هناك صفقات بيع موجبه او رابحه يقوم بالنظر الى اكبر لوت بيع فقط رابح ويغلقه وفقط ويترك الباقى
أرجوا ان تكون الفكرة وصلت اليك استاذى الحبيب اسلام
لكن الكود على حالته الحاليه هذه اذا فتح الاكسبيرت صفقه بيع مثلا ثم فتح صفقه اخرى بعدها .. فأنه يغلق صفقه البيع السابقه الموجبه .. وهذا خطأ
الداله فى حاله الاردتداد فقط ينفذ الداله
أرجوا ان تكون الفكرة وضحت استاذى الحبيب
الكود بشكل عام اريده لكى اجربه على اكثر من اكسبيرت .. لان الفكرة هذه ممكن تكون مربحه اذا وضعت فى بعض الاكسبيرتات
منتظر ردك استاذى الكريم
اسلام العوامى
09-01-2014, 09:35 AM
سلام عليكم استاذى الكريم اسلام
اولا : جزاك الله تعالى خيرا اخى الكريم على تعبك معنا هنا
واسف لتأخرى فى الرد على حضرتك لانشغالى فقط الايام الماضيه
ثانيا : بخصوص الداله هذه ففيها مشكله
الداله تغلق ايضا اخر لوت اذا كان رابح
سأعيد شرح الفكرة على حضرتك لكى تصل اليك بشكل افضل .. فربما لم استطيع ان الشرح الوافى للفكرة ..
الفكرة انى اريد داله اركبها على اى اكسبيرت فكرتها
اذا فتح الاكسبيرت اخر صفقه بيع ينظر اذا كان هناك صفقات شراء موجبه او رابحه يقوم بالنظر الى اكبر لوت شراء فقط رابح ويغلقه وفقط ويترك الباقى
و اذا فتح الاكسبيرت اخر صفقه شراء ينظر اذا كان هناك صفقات بيع موجبه او رابحه يقوم بالنظر الى اكبر لوت بيع فقط رابح ويغلقه وفقط ويترك الباقى
أرجوا ان تكون الفكرة وصلت اليك استاذى الحبيب اسلام
لكن الكود على حالته الحاليه هذه اذا فتح الاكسبيرت صفقه بيع مثلا ثم فتح صفقه اخرى بعدها .. فأنه يغلق صفقه البيع السابقه الموجبه .. وهذا خطأ
الداله فى حاله الاردتداد فقط ينفذ الداله
أرجوا ان تكون الفكرة وضحت استاذى الحبيب
الكود بشكل عام اريده لكى اجربه على اكثر من اكسبيرت .. لان الفكرة هذه ممكن تكون مربحه اذا وضعت فى بعض الاكسبيرتات
منتظر ردك استاذى الكريم
،،،اذا اردت ان تعمل الوظيفة فى حالة الارتداد فقط فيجب ان تقوم باستدعائها فقط فى حالة الارتداد ، بمعنى انت لديك صفقات بيع تقوم بوضع جملة شرطية اذا كان عدد صفقات البيع اكبر من 1 او 2 وصفقات الشراء اكبر من 0 فهذا معناه ان الارتداد حدث وتم فتح صفقة شراء فتقوم باستدعاء الوظيفة وشرط اخر اذا كان عدد صفقات الشراء اكبر من 2 مثلا وعدد صفقات البيع اكبر من 0 فهذا معناه ان الارتداد حدث وتم فتح صفقة بيع تقوم باستدعائها مرة اخرى،،،
if(orderscnt(OP_BUY)>=2 && orderscnt(OP_SELL)>0){CloseMaxProfit();}
if(orderscnt(OP_SELL)>=2 && orderscnt(OP_BUY)>0){CloseMaxProfit();}
،،،وهذه وظيفة عدد الصفقات حسب النوع،،،
int orderscnt(int type){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&& OrderType()==type){
cnt++;
}
}
}
return(cnt);
}
sunegypt
09-01-2014, 02:13 PM
شوف استاذى اسلام
انا كنت اعمل بهذه الداله لاغلاق كل الصفقات الرابحه عندما يرتد السعر
void }CloseProfitOnly(int type)
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
{
if(OrderType()==OP_BUY&&OrderProfit()>0)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3*Q);
}
if(OrderType()==OP_SELL&&OrderProfit()>0)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3*Q);
}
}
}
}
فأذا وضعت امر الشراء
OrderSend(Symbol(),OP_Buy,Lot,Ask,3,0,0,"Sunegypt",MagicNumber,0);كنت اضع تحتها مباشرة
CloseProfitOnly(OP_Sell);واذا وضعت امر بيع
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Sunegypt",MagicNumber,0);كنت اضع تحتها مباشرة
CloseProfitOnly(OP_Buy);وكان بمجرد ان يفتح صفقه الشراء يغلق صفقات البيع الرابحه مباشرة
واذا فتح صفقه بيع يقوم بأغلاق صفقات الشراء الرابحه فقط مباشرة ايضا
ولكن هذا يسبب بعض الفجوات بين الايكوتى والرصيد الفعلى
فحاولت ان اغلق الصفقه الرابحه الاكبر حجما فقط لعلها تقلل من تلك الفجوة
أرجوا ان تكون فهمت ما أريد استاذى الحبيب اسلام
يعنى لو تم عمل الداله التى تغلق اكبر لوت رابح فقط
فسوف اضع اسم الداله فقط تحت امر الشراء والبيع وفقط
وبجد اسف انى بتقل على حضرتك استاذى الكريم
اسلام العوامى
09-01-2014, 02:52 PM
شوف استاذى اسلام
انا كنت اعمل بهذه الداله لاغلاق كل الصفقات الرابحه عندما يرتد السعر
void }CloseProfitOnly(int type)
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
{
if(OrderType()==OP_BUY&&OrderProfit()>0)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3*Q);
}
if(OrderType()==OP_SELL&&OrderProfit()>0)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3*Q);
}
}
}
}فأذا وضعت امر الشراء
OrderSend(Symbol(),OP_Buy,Lot,Ask,3,0,0,"Sunegypt",MagicNumber,0);كنت اضع تحتها مباشرة
CloseProfitOnly(OP_Sell);واذا وضعت امر بيع
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Sunegypt",MagicNumber,0);كنت اضع تحتها مباشرة
CloseProfitOnly(OP_Buy);وكان بمجرد ان يفتح صفقه الشراء يغلق صفقات البيع الرابحه مباشرة
واذا فتح صفقه بيع يقوم بأغلاق صفقات الشراء الرابحه فقط مباشرة ايضا
ولكن هذا يسبب بعض الفجوات بين الايكوتى والرصيد الفعلى
فحاولت ان اغلق الصفقه الرابحه الاكبر حجما فقط لعلها تقلل من تلك الفجوة
أرجوا ان تكون فهمت ما أريد استاذى الحبيب اسلام
يعنى لو تم عمل الداله التى تغلق اكبر لوت رابح فقط
فسوف اضع اسم الداله فقط تحت امر الشراء والبيع وفقط
وبجد اسف انى بتقل على حضرتك استاذى الكريم
،،،فضلا قم بارفاق الاكسبيرت الذى تريد وضع الكود الجديد به،،،
valantinolala
12-01-2014, 08:45 AM
"السلام عليكم ورحمه الله وبركاته اخي العوامي"
بعد اذن حضرتك انا عملت اكسيبرت بس ناقص شويه حجات
ممكن تعديل للاكسيبرت ...
فكره الاكسيبرت:
بيعلق صفقه شراء او بيع بناءا علي اخر شمعه ساعه لوصاعده شراء ولو هابطه بيع
وسعرفتح الصفقه بيكون علي الشكل التالي
0.9000
0.9010
0.9020
0.9030
يعني لو السعر الحالي
0.9057
واخر شمعه صاعده
يعلق صفقتين شراء بسعر
0.9050
و 0.9060
ولو السعر الحالي 0.9026
واخر شمعه ساعه هابطه
يعلق صفقتين بيع
بسعر
0.9020
و
0.9030
الهدف 10 والاستوب
10
وفي حاله ضرب الاستوب بيدخل بلوت ( 0.01 ثم 0.02و0.03و0.04و0.05و0.06و0.07و0.08............الخ) عكس اخر صفقه
وبهدف10 وستوب
10
وفي حاله اخر صفقه رابحه يبدأ من جديد باول لوت للاكسيبرت بدون اي مضاعفه..
ولك جزيل الشكر ...
http://www.fx-arabia.com/vb/uploaded/16654_11389505211.zip
kimo_2010
12-01-2014, 01:28 PM
بعد اذنك استاذ اسلام
انا عملت اكسبيرت من البدايه لحد النهايه
بس جيت اعمل اكسبيرت على مؤشر خارجى
عملت استدعاء للمؤشر
double buy=iCustom(Symbol(),0,"اسم المؤشر",2,5);
بس معرفتش برضو اعمل بيع ولا شراء
اسلام العوامى
12-01-2014, 01:51 PM
بعد اذنك استاذ اسلام
انا عملت اكسبيرت من البدايه لحد النهايه
بس جيت اعمل اكسبيرت على مؤشر خارجى
عملت استدعاء للمؤشر
double buy=iCustom(Symbol(),0,"اسم المؤشر",2,5);
بس معرفتش برضو اعمل بيع ولا شراء
،،،يجب اولا ان تحدد قيمة الاندكس عند ظهوره على الشارت ويمكنك عمل ذلك عن طريق طباعة قيمة المتغير على الشارت ، كمثال على ما ارفقته فى مشاركتك المتغير هو buy وهو يساوى قيمة الاندكس رقم خمسة للشمعة رقم 2 ، فيمكنك كتابة السطر التالى لمعرفة قيمة الاندكس عند ظهوره على الشارت،،،
Comment(buy);
،،،وبعد معرفة القيمة تقوم باستخدامها فى جملة شرطية لفتح صفقات الشراء او البيع ، مثلا buy عندما تكون مختفية تكون قيمة الاندكس صفر وعند ظهورها على الشارت يأخذ المتغير قيمة السعر الحالى فتكون الجملة الشرطية كالتالى،،،
if(buy!=0){OrderSend( );}
،،،وتقوم بكتابة امر فتح الصفقة،،،
shobra
21-01-2014, 12:04 AM
تطبيق على ماتم شرحة
1- افتح اكسبيرت جديد وقم بحفظة فى مجلد الاكسبيرتات باسم fx-arabia
2 - قم بكتابة متغير واحد لكل نوع متغيرات
3 - قم بارفاق التطبيق بصيغته البرمجية والتنفيذية
اتمنى ان يشارك كل من يتابع ويريد تعلم البرمجة حتى نقيس مدى استيعاب الدروس
جزاك الله خيرا اخى الكريم
يسعدنى ان اكون احد تلاميذك
وهذا هو التطبيق الاول كتبت فيه المتغيرات ايلى فهمتها بس وحاولت اعمل متغير التاريخ معرفتش هو وباقى المتغيرات
//+------------------------------------------------------------------+
//| fx arabia.mq4 |
//| Copyright 2014, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
extern int a=1;
extern double b=1.01;
extern color c=Red;
extern string d="التدريب الاول";
extern bool e=1;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
اسلام العوامى
21-01-2014, 09:41 AM
جزاك الله خيرا اخى الكريم
يسعدنى ان اكون احد تلاميذك
وهذا هو التطبيق الاول كتبت فيه المتغيرات ايلى فهمتها بس وحاولت اعمل متغير التاريخ معرفتش هو وباقى المتغيرات
//+------------------------------------------------------------------+
//| fx arabia.mq4 |
//| Copyright 2014, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
extern int a=1;
extern double b=1.01;
extern color c=Red;
extern string d="التدريب الاول";
extern bool e=1;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
،،،الله ينور ، بالنسبة لمتغير الوقت والتاريخ يتم كتابته بهذه الطريقة،،،
datetime x = Time[0];
datetime xx = iTime(Symbol(),0,0);
،،،فى هذا المثال قمت بحجز متغير من نوع الوقت والتاريخ وقمت بتسميته x واعطاءه قيمة الوقت للشمعة الحالية ، وفى السطر الثانى نفس القيمة ولكن بطريقة اخرى،،،
،،،تابع بقية الدروس ومنتظر باقى تطبيقاتك،،،
،،،تحياتى،،،
ابو سمر
22-01-2014, 05:22 AM
السلام عليكم ورحمة الله وبركاته
الاستاذ القدير اسلام العوامى
شكرا على الرد على استفسارى واعتذر عن التأخير فى الرد
بسبب انقطاع الانترنت عندى لمده تعدت اسبوعين
واسئل الله ان يكتب لك الخير بمساعدتك لاعضاء المنتدى
بالتوفيق ان شاء الله
shobra
22-01-2014, 10:09 PM
:1 (114):،،،إختبر نفسك،،،:1 (114):
1- قم بعمل اكسبيرت جديد وحفظه فى مجلد الاكسبيرتات .
2 - قم بوضع اسمك فى حقوق الملكية .
3 - قم باستخدام الاكواد المناسبة لعمل الاتى :
طباعة اسم الزوج والتايم فريم والوقت والتاريخ للشمعة الحالية على الشارت - التأكد من ان الوظائف الاساسية تعمل بشكل سليم
4 - نفذ الخطوات السابقة لمؤشر واسكريبت مع اظهار مدخلات الاسكريبت فى البداية .
بارك الله فيك اخى
اجابه الاختبار
هذا هو المؤشر
//+------------------------------------------------------------------+
//| مؤشر shobra.mq4 |
//| Copyright 2014, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "shobra"
#property link "http://www.metaquotes.net"
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
Print("التأكد من عمل داله int");
//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
Print("التأكد من عمل داله deinit");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
Comment(Symbol()+" اسم الزوج"+
"\nالفريم الحالى "+Period()+
"\nالتايخ والوقت للشمعه الحاليه "+TimeToStr(Time[1]) );
Print("التأكد من عمل داله start");
//----
return(0);
}
//+------------------------------------------------------------------+
هذا هو الاسكربت
//+------------------------------------------------------------------+
//| اسكربت shobra.mq4 |
//| Copyright 2014, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "shobra"
#property link "http://www.metaquotes.net"
//+لاظهار رساله تأكيد+
#property show_confirm
//لاظهار مدخلات الاسكربت
#property show_inputs
extern string a="الى اللقاء";
int init()
{Print("التأكد من عمل داله int");
//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
Comment(a);
Print("التأكد من عمل داله deinit");
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
Comment(Symbol()+" اسم الزوج"+
"\nالفريم الحالى "+Period()+
"\nالتايخ والوقت للشمعه الحاليه "+TimeToStr(Time[1]) );
Print("التأكد من عمل داله start");
//----
return(0);
}
//+------------------------------------------------------------------+
اسلام العوامى
23-01-2014, 09:18 AM
السلام عليكم ورحمة الله وبركاته
الاستاذ القدير اسلام العوامى
شكرا على الرد على استفسارى واعتذر عن التأخير فى الرد
بسبب انقطاع الانترنت عندى لمده تعدت اسبوعين
واسئل الله ان يكتب لك الخير بمساعدتك لاعضاء المنتدى
بالتوفيق ان شاء الله
،،،وعليكم السلام ورحمة الله وبركاته،،،
،،،افتقدناك الفترة الماضية يا ابوسمر والحمد لله انك بخير،،،
،،،تحياتى،،،
اسلام العوامى
23-01-2014, 09:27 AM
بارك الله فيك اخى
اجابه الاختبار
هذا هو المؤشر
//+------------------------------------------------------------------+
//| مؤشر shobra.mq4 |
//| Copyright 2014, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "shobra"
#property link "http://www.metaquotes.net"
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
Print("التأكد من عمل داله int");
//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
Print("التأكد من عمل داله deinit");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
Comment(Symbol()+" اسم الزوج"+
"\nالفريم الحالى "+Period()+
"\nالتايخ والوقت للشمعه الحاليه "+TimeToStr(Time[1]) );
Print("التأكد من عمل داله start");
//----
return(0);
}
//+------------------------------------------------------------------+هذا هو الاسكربت
//+------------------------------------------------------------------+
//| اسكربت shobra.mq4 |
//| Copyright 2014, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "shobra"
#property link "http://www.metaquotes.net"
//+لاظهار رساله تأكيد+
#property show_confirm
//لاظهار مدخلات الاسكربت
#property show_inputs
extern string a="الى اللقاء";
int init()
{Print("التأكد من عمل داله int");
//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
Comment(a);
Print("التأكد من عمل داله deinit");
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
Comment(Symbol()+" اسم الزوج"+
"\nالفريم الحالى "+Period()+
"\nالتايخ والوقت للشمعه الحاليه "+TimeToStr(Time[1]) );
Print("التأكد من عمل داله start");
//----
return(0);
}
//+------------------------------------------------------------------+
،،،الله ينور ياشبرا ،،،
GBPJPY
25-01-2014, 05:27 PM
السلام عليكم استاذ العوامى
ارجو المساعدة
عايز اعرف كيف يتم عمل اكسبيرت الرينكو
مع التحكم فى m2 او m6
بمعنى
انا عايز الاكسبيرت يعمل على m6
وا m2
مع طريقة عرض شموع اليرنكو من الاكسبيرت
ولك الشكر والتقدير
اسلام العوامى
25-01-2014, 05:39 PM
السلام عليكم استاذ العوامى
ارجو المساعدة
عايز اعرف كيف يتم عمل اكسبيرت الرينكو
مع التحكم فى m2 او m6
بمعنى
انا عايز الاكسبيرت يعمل على m6
وا m2
مع طريقة عرض شموع اليرنكو من الاكسبيرت
ولك الشكر والتقدير
،،،وعليكم السلام ورحمة الله وبركاته،،،
،،،اذا كنت تقصد شرح لتركيب واستخدام اكسبيرت شموع الرينكو فيمكنك مشاهدة الفيديو رقم 2 فى المشاركة على الرابط التالى،،،
اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex - عرض مشاركة واحدة - (http://www.fx-arabia.com/vb/showpost.php?p=462690&postcount=1)
Qamar14
26-01-2014, 11:10 AM
انا عامله اكسبيرت خاصه بحركات الشموع
ولكن عندي مشكله في صياغه هاد الشرط
فانا ابغا من الاكسبير يحلل 3 شموع وبناء عليه يفتح بيع او شراء
والاغلاق بتيك بروفيت اةو ستوب لوز
ولما تغلق الصفقه
ابغا اخلي الاكسبيرت يشوف 3 شموع اللي بعدها
وما بيستخدم نفس الشموع التلات السابقه
كيف اكون قادره على صياغه هاد الكود؟
اسلام العوامى
26-01-2014, 11:31 AM
انا عامله اكسبيرت خاصه بحركات الشموع
ولكن عندي مشكله في صياغه هاد الشرط
فانا ابغا من الاكسبير يحلل 3 شموع وبناء عليه يفتح بيع او شراء
والاغلاق بتيك بروفيت اةو ستوب لوز
ولما تغلق الصفقه
ابغا اخلي الاكسبيرت يشوف 3 شموع اللي بعدها
وما بيستخدم نفس الشموع التلات السابقه
كيف اكون قادره على صياغه هاد الكود؟
،،،ابسط واسهل طريقة هى استخدام الامر sleep لمدة الثلاث شموع ، مثلا اذا كانت التايم فريم دقيقة تقومى باستخدام sleep() وتعى بين الاقواس 180000 حيث ان الثانية تساوى 1000 مللى ثانية ،وعندما تنتهى مدة الامر تصبح الشموع الجديدة هى مجال عمل الاكسبيرت،،،
Qamar14
26-01-2014, 11:57 AM
،،،ابسط واسهل طريقة هى استخدام الامر sleep لمدة الثلاث شموع ، مثلا اذا كانت التايم فريم دقيقة تقومى باستخدام sleep() وتعى بين الاقواس 180000 حيث ان الثانية تساوى 1000 مللى ثانية ،وعندما تنتهى مدة الامر تصبح الشموع الجديدة هى مجال عمل الاكسبيرت،،،
يعني الشمعه الواحده للفريم 1 دقيقه = 60 الف
صح؟
ولفريم الساعه = 60 الف *60 * 60
صح؟
واليومي !!!!! رقم غريب راح يطلع صح؟
Qamar14
26-01-2014, 12:25 PM
شكرا ليك أخ العوامي
وللفائده العامه
هاد تبسيط للرقم بالمي تانيه للفريمات
بالمرفقات
اسلام العوامى
26-01-2014, 12:45 PM
يعني الشمعه الواحده للفريم 1 دقيقه = 60 الف
صح؟
ولفريم الساعه = 60 الف *60 * 60
صح؟
واليومي !!!!! رقم غريب راح يطلع صح؟
،،،تمام،،،
شكرا ليك أخ العوامي
وللفائده العامه
هاد تبسيط للرقم بالمي تانيه للفريمات
بالمرفقات
،،،العفو ومشكورة على الملف،،،
cobra2010
28-01-2014, 11:03 AM
استاذ اسلام بارك الله فيك وتسلم على الشرح الأكثر من رائع
عندي اسئلة كثير ولكني اختصرها في الاتي حتى لا أثقل عليك
اولا : ما هو الفرق بين ( symbol , Null )
iHigh(Symbol(),PERIOD_D1,1);
و
iHigh(NULL(),PERIOD_D1,1);
ثانيا : وده الأهم عندي لو ان السعر الحالي محصور بين نقطتين ولتكن مثلا نقطة A و نقطة B (حيث A أعلى من B)
فكيف يمكن ان اجعل الاكسبيرت ان يشتري كلما زار السعر النقطة A واذا ارتد السعر للنقطة B فانه يقوم بالبيع بلوت مضاعف ويحتفظ بالشراء
واذا عاد السعر مرة اخرى للنقطة A فيقوم بالشراء مرة اخرى بلوت مضاعف وهكذا كلما زار السعر النقطة A يقوم بالشراء بمضاعفة اللوت
وكلما زار النقطة B يقوم بالبيع ويضاعف اخر لوت
ارجو ان اكون وضحت الفكرة
وتقبل فائق احترامي :1 (73):
اسلام العوامى
28-01-2014, 11:36 AM
استاذ اسلام بارك الله فيك وتسلم على الشرح الأكثر من رائع
عندي اسئلة كثير ولكني اختصرها في الاتي حتى لا أثقل عليك
اولا : ما هو الفرق بين ( symbol , Null )
iHigh(Symbol(),PERIOD_D1,1);و
iHigh(NULL(),PERIOD_D1,1);ثانيا : وده الأهم عندي لو ان السعر الحالي محصور بين نقطتين ولتكن مثلا نقطة A و نقطة B (حيث A أعلى من B)
فكيف يمكن ان اجعل الاكسبيرت ان يشتري كلما زار السعر النقطة A واذا ارتد السعر للنقطة B فانه يقوم بالبيع بلوت مضاعف ويحتفظ بالشراء
واذا عاد السعر مرة اخرى للنقطة A فيقوم بالشراء مرة اخرى بلوت مضاعف وهكذا كلما زار السعر النقطة A يقوم بالشراء بمضاعفة اللوت
وكلما زار النقطة B يقوم بالبيع ويضاعف اخر لوت
ارجو ان اكون وضحت الفكرة
وتقبل فائق احترامي :1 (73):
،،،اهلا بك اخى الكريم ، ليس هناك فرق الاثنين فى المثال السابق ولكن NULL تكتب بدون اقواس وتعنى فى المثال السابق اى عملة اما Symbol() فتعود باسم الزوج الحالى والاثنان يؤديان نفس الغرض فى المثال السابق،،،
،،،بالنسبة للجزء الاخر يجب ان تقوم بحجز متغيرين A,B ثم تقوم باعطائهم القيم الخاصة بهم وتقوم بعمل جملة شرطية كالتالى بلوت البداية،،،
if(Ask>A && OrdersTotal()==0){OrderSend()}
if(Bid<B && OrdersTotal()==0){OrderSend()}
،،،ثم تقوم بعمل وظيفة لمعرفة اخر لوت ووظيفة لمعرفة عدد صفقات الشراء واخرى لعدد صفقات البيع وتقوم بعمل جملة شرطية اخرى،،،
if(Ask>A && OrdersTotal()>0){OrderSend()}
if(Bid<B && OrdersTotal()>0){OrderSend()}
،،،ولكن تقوم بتغيير اللوت ووضع متغير لوت المضاعفات ، وكل الوظائف وطريقة كتابتها مشروحة بفيديوهات دورة البرمجة،،،
،،،تحياتى،،،
cobra2010
28-01-2014, 11:54 AM
،،،اهلا بك اخى الكريم ، ليس هناك فرق الاثنين فى المثال السابق ولكن NULL تكتب بدون اقواس وتعنى فى المثال السابق اى عملة اما Symbol() فتعود باسم الزوج الحالى والاثنان يؤديان نفس الغرض فى المثال السابق،،،
،،،بالنسبة للجزء الاخر يجب ان تقوم بحجز متغيرين A,B ثم تقوم باعطائهم القيم الخاصة بهم وتقوم بعمل جملة شرطية كالتالى بلوت البداية،،،
if(Ask>A && OrdersTotal()==0){OrderSend()}
if(Bid<B && OrdersTotal()==0){OrderSend()}
،،،ثم تقوم بعمل وظيفة لمعرفة اخر لوت ووظيفة لمعرفة عدد صفقات الشراء واخرى لعدد صفقات البيع وتقوم بعمل جملة شرطية اخرى،،،
if(Ask>A && OrdersTotal()>0){OrderSend()}
if(Bid<B && OrdersTotal()>0){OrderSend()}
،،،ولكن تقوم بتغيير اللوت ووضع متغير لوت المضاعفات ، وكل الوظائف وطريقة كتابتها مشروحة بفيديوهات دورة البرمجة،،،
،،،تحياتى،،،
اشكرك اخي اسامة على سرعة الرد وبارك الله فيك
ولكن المشكلة عندي تكمن في الجزء المظلل بالأحمر وهو الخاص بعمل وظيفة لمعرفة اخر لوت ووظيفة لمعرفة عدد صفقات الشراء واخرى لعدد صفقات البيع
صدقنى انا تعبت فيهم جدا ولكن دائما هذه الوظائف اما لا تعطي نتائج او انها تعطي نتائج خاطئة ومش عارف المشكلة فين
ارجو منك المساعدة وخصوصا الوظيفة التي تعود بأخر لوت
ارجو ان لا اكون قد اثقلت عليك
فائق احترامي
اسلام العوامى
28-01-2014, 12:27 PM
اشكرك اخي اسامة على سرعة الرد وبارك الله فيك
ولكن المشكلة عندي تكمن في الجزء المظلل بالأحمر وهو الخاص بعمل وظيفة لمعرفة اخر لوت ووظيفة لمعرفة عدد صفقات الشراء واخرى لعدد صفقات البيع
صدقنى انا تعبت فيهم جدا ولكن دائما هذه الوظائف اما لا تعطي نتائج او انها تعطي نتائج خاطئة ومش عارف المشكلة فين
ارجو منك المساعدة وخصوصا الوظيفة التي تعود بأخر لوت
ارجو ان لا اكون قد اثقلت عليك
فائق احترامي
،،،الدالة مشروحة بالتفصيل الممل فى الفيديوهات ، ويمكنك ارفاق الوظيفة التى تعطى الخطأ للاطلاع عليها وتحديد الخطأ،،،
cobra2010
28-01-2014, 11:39 PM
،،،الدالة مشروحة بالتفصيل الممل فى الفيديوهات ، ويمكنك ارفاق الوظيفة التى تعطى الخطأ للاطلاع عليها وتحديد الخطأ،،،
الشكر موصول لك اخي اسامة
الكود مرفق بالكامل مع ملاحظة ان
الدالة MyRealOrder دائما قيمتها صفر حتى بعد تفعيل الصفقة
والدالة GetOrderType دائما قيمتها -1
//+------------------------------------------------------------------+
//| test.mq4 |
//| Copyright 2014, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
extern int Step=30;
extern double Lots=0.01;
extern int Magicnumber=123123;
double point;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
if(Digits<4){point=0.01;}
else{point=0.0001;}
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
double OpenPrice,Up11,Up12,Up13,Dn11,Dn12,Dn13;
if(Hour()==0 && Minute()<1 && MyOrdersTotal(Magicnumber)>0){DeletePendingOrders(Magicnumber);}
if(Hour()==0 && Minute()>5 && MyOrdersTotal(Magicnumber)==0)
{
OpenPrice=NormalizeDouble(iOpen(Symbol(),PERIOD_D1 ,0),4);
Up11=OpenPrice+Step*point;
Up12=Up11+Step*point;
Up13=Up12+Step*point;
Dn11=OpenPrice-Step*point;
Dn12=Dn11-Step*point;
Dn13=Dn12-Step*point;
int BUY=OrderSend(Symbol(),OP_BUYSTOP,Lots,Up12,3,0,Up 13,"TEST_Buy#1",Magicnumber,0,Green);
int SELL=OrderSend(Symbol(),OP_SELLSTOP,Lots,Dn12,3,0, Dn13,"TEST_Sell#1",Magicnumber,0,Red);
int GOT=GetOrderType(Magicnumber);
int R=MyRealOrdersTotal(Magicnumber);
int mot=MyOrdersTotal(Magicnumber);
Comment("BUY = "+BUY+
"\nSELL = "+SELL+
"\nUp11 = "+Up11+
"\nUp12 = "+Up12+
"\nUp13 = "+Up13+
"\nDn11 = "+Dn11+
"\nDn12 = "+Dn12+
"\nDn13 = "+Dn13+
"\nMyRealOrdersTotal = "+R+
"\nGetOrderType = "+GOT+
"\nMyOrdersTotal = "+mot);
if((BUY>0 || SELL>0) && R>0)
{
DeletePendingOrders(Magicnumber);
// double Lots2=
OrderSend(Symbol(),OP_SELLSTOP,Lots,Up11,3,0,OpenP rice,"TEST_Sell#1",Magicnumber,0,Red);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
int MyOrdersTotal(int magic)
{
int c=0;
int total = OrdersTotal();
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == magic && OrderSymbol()==Symbol())
{
c++;
}
}
return(c);
}
//////////////////////////////////////////////////////////
int MyRealOrdersTotal(int magic)
{
int i=0;
int total = OrdersTotal();
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL))
{
i++;
}
}
return(i);
}
//////////////////////////////////////////////////////////
int DeletePendingOrders(int Magic)
{
int total = OrdersTotal()-1;
for (int cnt = total ; cnt >= 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY || OrderType()!=OP_SELL))
{
OrderDelete(OrderTicket());
}
}
return(0);
}
////////////////////////////////////////////////////////
int GetOrderType(int magic)
{
int OT=-1;
int total = OrdersTotal();
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL))
{
OT=OrderType();
}
}
return(OT);
}
مرفق ملف الكود بالمرفقات
اسلام العوامى
29-01-2014, 11:32 AM
الشكر موصول لك اخي اسامة
الكود مرفق بالكامل مع ملاحظة ان
الدالة MyRealOrder دائما قيمتها صفر حتى بعد تفعيل الصفقة
والدالة GetOrderType دائما قيمتها -1
//+------------------------------------------------------------------+
//| test.mq4 |
//| Copyright 2014, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
extern int Step=30;
extern double Lots=0.01;
extern int Magicnumber=123123;
double point;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
if(Digits<4){point=0.01;}
else{point=0.0001;}
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
double OpenPrice,Up11,Up12,Up13,Dn11,Dn12,Dn13;
if(Hour()==0 && Minute()<1 && MyOrdersTotal(Magicnumber)>0){DeletePendingOrders(Magicnumber);}
if(Hour()==0 && Minute()>5 && MyOrdersTotal(Magicnumber)==0)
{
OpenPrice=NormalizeDouble(iOpen(Symbol(),PERIOD_D1 ,0),4);
Up11=OpenPrice+Step*point;
Up12=Up11+Step*point;
Up13=Up12+Step*point;
Dn11=OpenPrice-Step*point;
Dn12=Dn11-Step*point;
Dn13=Dn12-Step*point;
int BUY=OrderSend(Symbol(),OP_BUYSTOP,Lots,Up12,3,0,Up 13,"TEST_Buy#1",Magicnumber,0,Green);
int SELL=OrderSend(Symbol(),OP_SELLSTOP,Lots,Dn12,3,0, Dn13,"TEST_Sell#1",Magicnumber,0,Red);
int GOT=GetOrderType(Magicnumber);
int R=MyRealOrdersTotal(Magicnumber);
int mot=MyOrdersTotal(Magicnumber);
Comment("BUY = "+BUY+
"\nSELL = "+SELL+
"\nUp11 = "+Up11+
"\nUp12 = "+Up12+
"\nUp13 = "+Up13+
"\nDn11 = "+Dn11+
"\nDn12 = "+Dn12+
"\nDn13 = "+Dn13+
"\nMyRealOrdersTotal = "+R+
"\nGetOrderType = "+GOT+
"\nMyOrdersTotal = "+mot);
if((BUY>0 || SELL>0) && R>0)
{
DeletePendingOrders(Magicnumber);
// double Lots2=
OrderSend(Symbol(),OP_SELLSTOP,Lots,Up11,3,0,OpenP rice,"TEST_Sell#1",Magicnumber,0,Red);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
int MyOrdersTotal(int magic)
{
int c=0;
int total = OrdersTotal();
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == magic && OrderSymbol()==Symbol())
{
c++;
}
}
return(c);
}
//////////////////////////////////////////////////////////
int MyRealOrdersTotal(int magic)
{
int i=0;
int total = OrdersTotal();
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL))
{
i++;
}
}
return(i);
}
//////////////////////////////////////////////////////////
int DeletePendingOrders(int Magic)
{
int total = OrdersTotal()-1;
for (int cnt = total ; cnt >= 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY || OrderType()!=OP_SELL))
{
OrderDelete(OrderTicket());
}
}
return(0);
}
////////////////////////////////////////////////////////
int GetOrderType(int magic)
{
int OT=-1;
int total = OrdersTotal();
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL))
{
OT=OrderType();
}
}
return(OT);
}مرفق ملف الكود بالمرفقات
،،،حسب مافهمت من الكود هو وضع امرين معلقين مع بداية اليوم حالى وعند افتتاح اليوم يتم مسح الاوامر التى لم تفعل ويتم وضع اوامر جديدة ، لكن الصياغة البرمجية للفكرة غير صحيحة فى الكود المرفق ، اذا كان مافهمته صحيح الرجاء اخبارى لاقوم بارفاق الكود الصحيح،،،
cobra2010
29-01-2014, 01:20 PM
،،،حسب مافهمت من الكود هو وضع امرين معلقين مع بداية اليوم حالى وعند افتتاح اليوم يتم مسح الاوامر التى لم تفعل ويتم وضع اوامر جديدة ، لكن الصياغة البرمجية للفكرة غير صحيحة فى الكود المرفق ، اذا كان مافهمته صحيح الرجاء اخبارى لاقوم بارفاق الكود الصحيح،،،
نعم صحيح أخي اسامة بارك الله فيك
المفروض مع بداية اليوم يمسح اي اوامر معلقة قديمة وبهذا يكون شرط اجمالي عدد الصفقات في مخزن التريد == 0 ثم يعلق صفقتين واحدة شراء والأخرى بيع وفي حال تفعلت احداهما يلغي الأخرى ثم يضيف صفقة مضادة للمفعلة بهدف مختلف وبلوت مختلف
وأعرف ان الكود غير صحيح وذلك بسبب عدم تمكني من الحصول على النتائج الصحيحة من الوظائف (مثل الحصول على نوع الصفقة المفعلة او عدد الصفقات المفعلة ) فمثلا عندما يكون اجمالي العقود المفعلة حقيقيا وليست المعلقة سواء كانت بيع او شراء == 1 يقوم بالغاء الأمر المعلق الأخر ويعدها يعلق صفقة اخرى مضادة للأولى وبلوت مختلف
وهكذا
اشكرك بشدة لأهتمامك اخي اسامة ولكني فعلا تعبت مع الوظائف ولا ادري لماذا لا تعمل بشكل صحيح حتى اتمكن من تكملة الفكرة برمجيا
جزاك الله عني كل خير
محمد سلمان
30-01-2014, 02:05 PM
السلام عليكم ورحمة الله وبركاته
اخي اسلام انا جديد في البرمجة وودي اتعلم من الصفر
شغلت الفيدو في الدرس الاول لاكن فيه مشكلة الصوت واضح لاكن الصورة مش واضحة ابدا
وعندي طلب ممكن كود للموفنج افارج 26 سمبل كلوز لفريم اليومي
لاستخدامة في كود اكسبيرت كفلتر اتجاه الترند لفريم 4 ساعات
بمعنى العمل على 4 ساعات ولا يدخل الى تاكد من الفلتر الاتجاه على اليومي
وذا خالف الاتجاه لا يدخل
وشكرا لك
GBPJPY
31-01-2014, 11:16 AM
السلام عليكم استاذ العوامى
سؤال برمجى
عندى مؤشر الاسهم
عايز اعرف السهم الاول
رقم كام فى الشموع وماهو نوعه صاعد او هابط
ولك الشكر والتقدير
Mr.Ahmed Saleh
01-02-2014, 10:54 AM
السلام عليكم و رحمه الله و بركاته
------------------------------------
اولا : شكرا جدا يا استاذ اسامه على الشرح المفيد ..
ثانيا : ياريت لو فيه كتب عندك لشرحج لغه MQL4 ترفعهالنا و يكون لك جزيل الشكر .. و برضوا علشان منتعبكش ف الاسئله ....
ثالثا : يا ريت لو تكتبلى اكونت الفيس بوك بتاعك للتواصل او تضفنى على الأكونت http://www.facebook.com/ahmed.saleh7787
رابعا : انا حاليا ف نصف الدرس الثامن و عندى بعض الاسئله (ارجو ان كانت الاجابه طويله ان ترشدنى لموضوع لأستفيد منه):
-1- مش فاهم الكود ده SetIndexBuffer و لا فايدته .
-2- ليه معملناش ال for loop كدا for(i=0,i=Bars,i++) بدل من for(i=0,i<uncountedbars,i++) .. و الصراحه مش فاهم سبب الجزئيه ديه فيا ريت لو تقدر توضحهالى (وقت عرضها ف الدرس الثامن 01:03:00) .
-3- ليه بستخدم void بدل من int .. يا ريت تعريف لل void ( حضرتك قايل السبب ف الشرح بس معلش مش فاهم ) .
-4- ممكن توضيح سريح لل shift .
شكرااااا
اسلام العوامى
01-02-2014, 11:38 AM
السلام عليكم ورحمة الله وبركاته
اخي اسلام انا جديد في البرمجة وودي اتعلم من الصفر
شغلت الفيدو في الدرس الاول لاكن فيه مشكلة الصوت واضح لاكن الصورة مش واضحة ابدا
وعندي طلب ممكن كود للموفنج افارج 26 سمبل كلوز لفريم اليومي
لاستخدامة في كود اكسبيرت كفلتر اتجاه الترند لفريم 4 ساعات
بمعنى العمل على 4 ساعات ولا يدخل الى تاكد من الفلتر الاتجاه على اليومي
وذا خالف الاتجاه لا يدخل
وشكرا لك
،،،بالنسبة للفيديوهات قم باختيار اعلى جودة موجودة ، اما بالنسبة للكود المطلوب قم باضافة السطر التالى فى بداية ستارت،،،
double ma26 = iMA(Symbol(),PERIOD_D1,26,0,0,0,1);
،،،وقم باستخدام المتغير ma26 بعد ذلك فى شروط البيع والشراء،،،
Mr.Ahmed Saleh
01-02-2014, 12:10 PM
انا عملت المؤشر كدا
//+------------------------------------------------------------------+
//| mmma caaal.mq4 |
//| ahmed saleh |
//| facebook |
//+------------------------------------------------------------------+
#property copyright "ahmed saleh"
#property link "facebook"
#property indicator_chart_window
int maperiod =20;
int mashift =0;
int mamethod =0;
int appliedpriceto =0;
double mm ;
double MaCal[];
double auto_period;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
int period = Period();
auto_period=maperiod*mm;
switch(period)
{
case 5: mm=12 ;break;
case 15: mm=4 ;break;
case 30: mm=2 ;break;
case 60: mm=1 ;break;
case 240:mm=0.25 ;break;
}
SetIndexBuffer(0,MaCal);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1,Red);
SetIndexDrawBegin(0,auto_period);
SetIndexLabel(0,"auto ma");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
int counted_bars=IndicatorCounted();
if (counted_bars<0)
return(-1);
if (counted_bars>0)
counted_bars--;
int uncounted_bars = Bars-counted_bars;
for(int i=0;i<uncounted_bars;i++)
{
MaCal[i]= iMA(NULL,0,auto_period,mashift,mamethod,appliedpri ceto,i);
}
//----
return(0);
}
//+------------------------------------------------------------------+
الحمد لله لما بضغط compile مبلاقيش اخطاء .. بس لما بحطو على الشارت مبيشتغلش
http://im32.gulfup.com/2EK2G.jpg
.. اتمنى يكون عندك الحل .. شكرا
GBPJPY
01-02-2014, 12:54 PM
السلام عليكم استاذ العوامى
سؤال برمجى
عندى مؤشر الاسهم
عايز اعرف السهم الاول
رقم كام فى الشموع وماهو نوعه صاعد او هابط
ولك الشكر والتقدير
ارجو المساعدة
قيمة السهم عند الظهور على الشمعة يكون سعر السوق
غير ذلك يكون 2345656777
رقم كبير
ارجو المساعدة
وشكرا لك
اسلام العوامى
01-02-2014, 02:09 PM
ارجو المساعدة
قيمة السهم عند الظهور على الشمعة يكون سعر السوق
غير ذلك يكون 2345656777
رقم كبير
ارجو المساعدة
وشكرا لك
،،،اذا اردت استخدام هذا المؤشر لعمل اكسبيرت يبيع ويشترى حسب الاسهم فيجب ان تقوم بمعرفة رقم السهم الاخضر ورقم السهم الاحمر من الاندكس ثم تقوم بمعرفة قيمة السهم عند ظهوره وعند عدم الظهور وانت فى هذا المثال تقول عند الظهور يعطى السعر وعند عدم الظهور يعطى قيمة كبيرة وهذه القيمة تسمى EMPTY_VALUE،،،
،،،نفرض ان السهم الاحمر رقمه فى الاندكس 0 والاخضر 1 فنقوم بكتابة شروط الدخول كالتالى،،،
if(red!=EMPTY_VALUE){OrderSend();}
if(green!=EMPTY_VALUE){OrderSend();}
،،،وتقوم باكمال ordersend حسب الكود الخاص بك،،،
،،،تحياتى،،،
اسلام العوامى
01-02-2014, 02:21 PM
السلام عليكم و رحمه الله و بركاته
------------------------------------
اولا : شكرا جدا يا استاذ اسلام على الشرح المفيد ..
ثانيا : ياريت لو فيه كتب عندك لشرحج لغه MQL4 ترفعهالنا و يكون لك جزيل الشكر .. و برضوا علشان منتعبكش ف الاسئله ....
ثالثا : يا ريت لو تكتبلى اكونت الفيس بوك بتاعك للتواصل او تضفنى على الأكونت http://www.facebook.com/ahmed.saleh7787
رابعا : انا حاليا ف نصف الدرس الثامن و عندى بعض الاسئله (ارجو ان كانت الاجابه طويله ان ترشدنى لموضوع لأستفيد منه):
-1- مش فاهم الكود ده SetIndexBuffer و لا فايدته .
-2- ليه معملناش ال for loop كدا for(i=0,i=Bars,i++) بدل من for(i=0,i<uncountedbars,i++) .. و الصراحه مش فاهم سبب الجزئيه ديه فيا ريت لو تقدر توضحهالى (وقت عرضها ف الدرس الثامن 01:03:00) .
-3- ليه بستخدم void بدل من int .. يا ريت تعريف لل void ( حضرتك قايل السبب ف الشرح بس معلش مش فاهم ) .
-4- ممكن توضيح سريح لل shift .
شكرااااا
،،،اهلا بك اخى الفاضل ، بالنسبة للاسئلة انا لا امل او اتعب منها ابدا ، اسئل بقدر ماشئت وستجد الاجابة باذن الله،،،
،،،بالنسبة ل setindexbuffer هى خاصة بالقيمة التى سياخذها المؤشر ، واستعملنا uncountedbars لاننا نريد الحساب على الشموع الجديدة التى تظهر فقط حتى لاتصبح الحلقة التكرارية طويلة وقد تتسبب فى عدم عمل المؤشر ، وبالنسبة لvoid فهى الوظيفة التى لاتقوم باعادة قيمة ولكن تقوم بتنفيذ امر معين فقط اى لاتجد فى اخرها return ولكن int او double او اى مسمى اخر يكون للوظائف التى تعود بقيمة ويعتمد نوع التسمية على نوع القيمة العائدة من الوظيفة،،،
اسلام العوامى
01-02-2014, 02:23 PM
انا عملت المؤشر كدا
//+------------------------------------------------------------------+
//| mmma caaal.mq4 |
//| ahmed saleh |
//| facebook |
//+------------------------------------------------------------------+
#property copyright "ahmed saleh"
#property link "facebook"
#property indicator_chart_window
int maperiod =20;
int mashift =0;
int mamethod =0;
int appliedpriceto =0;
double mm ;
double MaCal[];
double auto_period;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
int period = Period();
auto_period=maperiod*mm;
switch(period)
{
case 5: mm=12 ;break;
case 15: mm=4 ;break;
case 30: mm=2 ;break;
case 60: mm=1 ;break;
case 240:mm=0.25 ;break;
}
SetIndexBuffer(0,MaCal);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1,Red);
SetIndexDrawBegin(0,auto_period);
SetIndexLabel(0,"auto ma");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
int counted_bars=IndicatorCounted();
if (counted_bars<0)
return(-1);
if (counted_bars>0)
counted_bars--;
int uncounted_bars = Bars-counted_bars;
for(int i=0;i<uncounted_bars;i++)
{
MaCal[i]= iMA(NULL,0,auto_period,mashift,mamethod,appliedpri ceto,i);
}
//----
return(0);
}
//+------------------------------------------------------------------+
الحمد لله لما بضغط compile مبلاقيش اخطاء .. بس لما بحطو على الشارت مبيشتغلش
http://im32.gulfup.com/2EK2G.jpg
.. اتمنى يكون عندك الحل .. شكرا
،،،الكود مظبوط لكن ينقصه اضافة السطرين التاليين الى اول الكود،،،
#property indicator_buffers 1
#property indicator_color1 Red
Mr.Ahmed Saleh
01-02-2014, 02:42 PM
،،،الكود مظبوط لكن ينقصه اضافة السطرين التاليين الى اول الكود،،،
#property indicator_buffers 1
#property indicator_color1 Red
اضفت السطرين الى الكود و لكن نفس المشكله ماذالت قائمه ..
vBulletin® v3.8.8