-
هي نفس الدالة القديمة مع بعض الاختصارات، وكاملة تعمل على البيع والشراء، ولا يوجد فرق من حيث التنفيذ
ot<=OP_SELL تعني اذا كانت الصفقة شراء او بيع، لأن الشراء ياخد القيمة 0 والبيع القيمة 1، وبالتالي وكأننا نقول ot<=1
ولهذا لم نستخدم ot<=OP_BUY بمعنى ot<=0 أي مخصصة للشراء فقط ونحن نريد الدالة للشراء والبيع
أما NormalizeDouble لضبط عدد الأرقام بعد الفاصلة لعدد عشري مثل الاسعار
الدالة الاصلية للتريلنغ كالتالي :
-
شكرا لك اخي حسن على التوضيح وجعله الله في ميزان حسناتك
-
-
السلام عليكم
لدي استفسار عن التعامل مع المصفوفة ممكن شرح مختصر عنها لو سمحت و عن كيفية اضافة شرط اقصى اسبريد
-
الاستاذ الكبير حسن
كيف احول هذا الاستدعاء الى icustom
اريد ان يستدعي متوسط حسابي مخصص وليس المتوسط الموجود في الميتا تريدر
او اي مؤشر اخر
-
وعليكم السلام
المصفوفات تعمل في أي مكان تقوم بتعريفها مثلها مثل المتغيرات لكن الفرق فقط أن المصفوفه تستطيع أن تحمل أكثر من قيمه حسب حجم المصفوفه
مثلا لو قمت بتعريف مصفوفه
فهذا يعني أن المصفوفه تحفظ 10 قيم وتبدأ من 0 إلى 9
وهذه بعض الأمثلة
+ مصفوفة الأزواج :
+ مضاعفات اختيارية بناء على المصفوفة :
https://www.fxprg.com/vb/showthread.php?t=31456&p=844598&viewfull=1#post844 598
وهذا الموضوع به شرح للمصفوفات
https://book.mql4.com/variables/arrays
أما بالنسبة لشرط أقصى سبريد راجع المشاركة التالية :
https://www.fxprg.com/vb/showthread.php?t=31457&page=5&p=852508&viewfull=1# post852508
-
1 مرفق
يمكنك عمل مؤشر وتستدعي هذه الدوال
ويبقى تختار شكل المؤشر هل عبارة عن إشارات بالجزء السفلي من الشارت مثل الماكد ام عبارة عن أسهم أم أوبجكتس،،، وهكذا
اما عن طريقة عمل مؤشر فهذا يطول شرحه
وبالمرفق مثال لمؤشر أسهم بسيط لتقاطع موفينجين
بالنسبة للمتوسط المخصص، ما هي طريقة حسابك له؟
-
شكرا لردك الكريم انا اقصد مثلا اريد ان استخدم البولنجر بدل المتوسط الحسابي في الكود اعلاه
حيث اذا قطع السعر حد البولنجر الاعلى بيع والشراء العكس هل يمكن تعديله لطفا
-
-
السلام عليكم أخى الكريم حسن
أريد وضع شرط time_step فى دالة فتح الصفقة بحيث يكون الـtime_step هو المدة الزمنية بين الصفقة التى سيتم فتحها والصفقة السابقة .
هل تكون
TimeCurrent()-OrderOpenTime () >= Time_step
أم سيكون هناك دالة خارجية لتوقيت آخر صفقة تم فتحها ؟
ولكم جزيل الشكر
-
وعليكم السلام
الشرط صحيح ولكن يجب عمل دالة خارجية تستخرج توقيت آخر صفقة مفتوحة وهي كالتالي :
Time_step بالثواني
-
-
اخي حسن سؤال هل يمكن اضافة close at next هنا
ام في مكان اخر من كود الاكسبيرت
-
ستحتاج لدالة الاغلاق بدلالة النوع كجواب للشرط العكسي بالدالة الرئيسية كالتالي :
-
1 مرفق
اخي حسن يظهر معي هذا الخطأ
عند اضافة الكود
-
-
1 مرفق
طبعا ..تفضل
هو احد اكسبيرتات استاذنا مستر دولار
فقط ارجو اضافة خيار close at next
-
1 مرفق
مرفق الاكسبيرت المعدل مع تصحيح الاخطارات
-
1 مرفق
الف شكر ..كل الحب والاحترام
-
شكراً اخي سأتابع الشروحات
-
1 مرفق
شروط صفقات
السلام عليكم
لو سمحت اخي ارفق مؤشر خارجي ارجو كتابة شروط فتح الصفقات له، عندما يكون 50% و اللون احمر يفتح صفقة بيع، و فتح صفقة شرا لما النسبة 50% و اللون اخضر، الهدف 20 نقطة و الاستوب لما يكون النسبة 0و اللون رمادي، و لما يتغير اتجاه السعر يفتح مع الاتجاه، و اهم شيء يفتح اول ما يندرج على الشارت. شكراً لك
-
لو سمحت يا اخي
اريد ان اضيف الماجيك نمبر للاكسبيرت
ماهي معادلة الماجيك وكيف اضيفها وشكرا
-
ستقوم باضافة شرط الماجك نمبر بكل الدوال الخارجية كالتريلينغ ودالة حساب عدد الصفقت ...
ثم تضع المتغير MagicNo بدوال فتح الصفقات
مثال :
والمتغير الخارجي
-
-
السلام عليكم استاذ حسن
اريد وظيفة بريك ايفن اذا وصل الربح 50 نقطة يتحرك الاستوب ليحجز ربح 20
وكلما كان الفرق خمسين نقطة بين الاستوب والربح يتحرك الاستوب ليحجز 20 نقطة اخرى
بارك الله فيك
-
وعليكم السلام
ستستخدم دالة التريلينغ كالتالي :
ثم الشروط ببدالة الدالة الرئيسية كالتالي:
بحيث المتغيرات الخارجية كالتالي:
TrailingStep هي عدد النقاط التي سيبدأ من بعدها إستخدام التريلينج ستوب
على سبيل المثال إذا جعلت التريلينج ستيب 10 نقاط وجعلت التريلينج ستوب 30 نقطه في هذه الحاله سيبدأ بتحريك الأستوب لوز إلى نقطة الدخول بعد ربح 40 نقطه وليس ثلاثين نقطه
-
-
السلام عليكم أستاذ حسن ....عندي سؤالين لو سمحت
1- عندي إكسبرت يفحص مجموعة أزواج حسب إستراتيجية معينة - عند فتح صفقة على زوج معين لا يفتح أي صفقات أخرى على زوج آخر(ممكن يفتح صفقات تعزيز على الزوج نفسه) حتى إغلاق كل الصفقات ويعيد البحث من جديد
2- هل يمكن عمل تريلنغ ستوب بالدولار لمجموعة صفقات - مثلا 4 صفقات مفتوحة ورابحة 500 دولار كيف أضع ستوب لكل الصفقات بحيث لو ضرب الستوب يبقى الربح 300 دولار
-
وعليكم السلام
1- نعم يمكن ذلك بعمل شرط إذا يوجد صفقة مفتوحة يتم فتح صفقات تعزيز بنفس اسم الزوج والنوع ويتم معرفة ذلك من خلال دوال خارجية لكل مواصفات الصفقة المفتوحة
مثال :
دالة عدد الصفقات إجمالا على كل الأزواج كالتالي :
ودالة تستخرج اسم الزوج كالتالي :
ودالة لمعرفة نوع وسعر آخر صفقة مفتوحة كالتالي :
فتكون شروط فتح التعزيزات كالتالي :
//-----
2- دالة التريلينغ بالدولار كالتالي :
-
-
السلام عليكم استاذ حسن
الرجاء توضيح الفرق بين كود ربح اخر صفقة بالدولار
وكود ربح كل الصفقات بالدولار
مع جزيل الشكر
-
وعليكم السلام
- دالة ربح آخر صفقة كالتالي :
- دالة إجمالي الربح بالدولار كالتالي:
والفرق بين الدالتين واضح بحيث بالدالة الأولى نستخدم الحلقة من نوع :
بحيث سيبحث بدءا من آخر صفقة إلى أول صفقة
وستعود بقيمة الربح (لآخر صفقة)
بينما بالدالة الثانية نستخدم الحلقة من نوع:
سيبحث بدءا من أول صفقة إلى آخر صفقه
وستعود بقيمة إجمالي ربح الصفقات
بحيث الرمز =+ أي أننا نجمع قيمه ربح الصفقة السابقه + القيمه للصفقة الجديده وهكذا... إلى أن يجمع كل أرباح الصفقات
-
بارك الله فيك استاذ حسن
وجزاك الله خيرا
-
وإياك أخي الكريم
لكن لماذا استخدمنا OrdersTotal-1؟
لأن عدد الصفقات يبدأ من 0 حتى ( مجموع الصفقات 1- )
مثلا لو كان يوجد 5 صفقات مفتوحه فترتيبهم سيكون 0 , 1 , 2 , 3 , 4
الصفقة الأخيره رقمها 4 وليس 5 ويعبر عنها بـ OrdersTotal-1
-
شكرا جزيلا على الايضاح التفصيلي
بارك الله فيك
-
للتذكير اخ حسن لو سمحت ممكن مساعدتك
-
سؤال تاني غلبتك معي عفواً
هل هذا الكود صح ام غلط، و ايضاً كتبت الشروط مع مصفوفة طلع فيها اخطاء هو لازم تكون الشروط مستقلة او داخل المصفوفة؟ يا ريت حضرتك تساعدني
-
الصحيح أن تجعل اسم الزوج متغير
مثال :
ثم تضع بالشروط اسم المصفوفة أو الزوج
مثال :
-
وعليكم السلام
لا أعتقد انه ممكن استخراج النسبة المئوية لاوبجكت بهذا الشكل !
لذلك يجب معرفة الشروط من كود المؤشر والتي تعطي هذه النسبة ثم تستخدمها مباشرة بالشروط
اما بالنسبة لشرط الألون يمكن ذلك باستخدام الوظيفة ObjectGet وتستخرج قيمة اللون من الوظيفة OBJPROP_COLOR
مثال
قيمة لون السطر الأول والثاني كالتالي :
ثم نستخدم الكومنت لمعرفة قيمة كل لون كالتالي :
والنتيجة كانت 65280 والتي تعني اللون الأخضر ، ثم 4678655 والتي تعني اللون البني (حسب ما نراه بألوان السطرين على الشارت)
وبهذا نستنتج الشروط أنه إذا كانت قمية لون السطر الأول يساوي قيمة 65280 فهذا يعني أن لونه أخضر، وإذا يخالفه فهذا معناه ان لونه أحمر
نفس الشيء بالسطر الثاني
ومن خلالها نضع شروط الشراء والبيع
مثال :
-
1 مرفق
شكرا اخي قمت حالا بتطبيق ما اشرت به علي و ظهر الخطأ التالي لو سمحت كيف تتم معالجته
ملف مرفق 2150