الشروط سهلة كالتالي
أولا يفتح صفقة حسب الشرط بيع أو شراء
ثانيا. إذا عكست الصفقة مثلا 10 نقاط يفتح صفقة تبريد بلوت مضاعف مع توحيد الهدف
وهكذا حتي إغلاق كل الصفقات تغلق على ربح
عرض للطباعة
الشروط سهلة كالتالي
أولا يفتح صفقة حسب الشرط بيع أو شراء
ثانيا. إذا عكست الصفقة مثلا 10 نقاط يفتح صفقة تبريد بلوت مضاعف مع توحيد الهدف
وهكذا حتي إغلاق كل الصفقات تغلق على ربح
توحيد الهدف أين ؟ يمكنك التوضيح بصورة تخطيطية أو من الشارت
أستاذي الحبيب
توحيد الهدف معناه جميع الصفقات العاكسة لنفس الصفقة تيك بروفت واحد
يعني
حين تضرب الصفقة الهدف يغلق معها كل الصفقات التي كانت عاكسة مرة واحدة
اتمني ان تكون الفكرة وصلت أستاذي الحبيب
السلام عليكم ورحمة الله
كيف سيكون الكود البرمجي
لفكرة هذا الموشر
هي حساب اربعة انواع من الترندات في داخل جسم الشمعة سواء كانت شمعه يوميه او غيرها من الشموع ولا بد ان لايقل مقدار الترند عن 20 نقطة سواء صعودا اوهبوطا وتكون البدايه مع سعر افتتاح الشمعة
1. الترند الطالع : هو كل ترند موجود دائما فوق سعر الافتتاح من قبل ان يرتد السعر ويتكون الترند المرتد
2.الترند النازل : هو كل ترند موجود دائما تحت سعر الافتتاح من قبل ان يرتد السعر ويتكون الترند المرتد
3.الترند المرتد : هو كل ترند موجود اما فوق او تحت سعر الافتتاح وهو يتكون دائما بعد كل ترند طالع او نازل.
4.الترند القاطع: هو كل ترند موجود جزء منه فوق سعر الافتتاح والجزء الاخر تحت سعر الافتتاح اي انه بتقاطع مع سعر الافتتاح
كما قلت سابقا لابد ان يكون الترند عبارة عن 20 نقطه او أكثر حتى نعتبره ترند
مثال على فكرة المؤشر حتى تتضح الفكرة اكثر
لوافترضنا ان سعر افتتاح الشمعه اليوميه كان 1400 وبعد ها ارتفع السعر الى الاعلى حتى نقطه 1460 يقوم المؤشر باحتساب هذا على انه ترند من نوع طالع ويسميه ترند رقم 1 ومقداره 60 نقطه
ولو افترضنا انه بعد ذلك انعكس السعر وصار عند 1435 نقطه يقوم الموشر باحتسابه على انه ترند من نوع مرتد ويسميه ايضا رقم 1 ومقداره 25 نقطه ولو واصل الارتفاع مرة اخرى الى 1470
يصير ترند من نوع طالع ويعطيه الرقم 2 بمقدار 35 نقطه ومن ثم هبط السعر الى 1390 يصير ترند من نوع قاطع لانه قطع سعر الافتتاح ويعطيه الرقم 1 ومقداره 80 نقطه .
و هكذا تتم العمليه الى نهاية الشمعة.. وبعدها يقوم بجمع عدد الترندات لكل نوع وكذلك المجموع الكلي لمقاديرها.
ان شاء الله تكون الفكره وصلت.... مشكور مقدما اخي
وعليكم السلام
لا يمكن معرفة حركة السعر في شمعة سابقة (بداية من آخر شمعة مغلقة)
اما الشمعة الحالية ممكن بعمليات المقارنة كما قمت بها ثم تحفظ القيم من نوع static وتقارنها مع القيم الجديدة ...
مرفق الاكسبيرت
حياك الله اخي كيرا
اتوقع الفكره لم تصلك بشكل المطلوب وكما يقولون الصوره خير من الف كلمة
هننا صورة للفكره واتوقع الفكرة شبيهه بفكرة موشر الزجزاج
ملف مرفق 13797
الف شكر أستاذي الكريم
وكل عام وانتم بخير
وجاري التجريب
حسب مثالك بالصورة هل الحركة بنفس الشمعة يعني من الافتتاح الى الاغلاق؟ اذا كان جوابك نعم ففهمي صحيح، وراجع الرد السابق
واذا كان لا فالمرجو التوضيح بصورة من الشارت
وارفق الكود الذي قمت بعمله للتصحيح فهذا الموضوع ليس للطلبات بل للاسئلة البرمجية وتصحيح الاخطاء وتبادل الخبرات...
حياك الله استاذي العزيز
اخوك جديد هنا وفي هذا المحيط وما عندي خبرة في البرمجة اعتبر اسئلتي لتعلم من تلميذ لمعلمه ...ومنكم نتعلم
صراحة قرات ردك اكثر من مرة ولم افهم ماتقصدة بالضبط
هل تقصد انك تستطيع تنفيذ الفكرة اذا كانت لمجموعه الشموع التي تكون قد تكونت وانتهت ولديك فكره عن حركه السعر بداخلها ام تقصد العكس
فكرتي اتوقع قريبة جدا من فكرة الزجزاج... كيف يعرف موشر الزجزاج الترندات الصاعده والهابطة في مجموعه من الشموع السابقة..
كيف ستكون الترجمه لهذا الشرط مثلا
اذا كان الفرق بين السعر الحالي للشمعة واعلى نقطه وصل اليها السعر هو عشرين نقطه فاكثر اذا قيمة اعلى نقطه ناقص سعر الافتتاح هو الترند الصاعد الاول
اي بمعني
اذا كان السعر الحالي للشمعة مبتعدا عن اعلى نقطه بمقدار عشرين نقطه فان اعلى نقطه ناقص سعر الافتتاح هو الترند الصاعد
المشكله اني لم استطيع كتابة هذه الشروط على ارض الواقع ...ومنكم نتعلم
حياك الله اخي حسن
فكر خارج الصندوق لربما تجد حل للفكرة وكما نعرف انه ما في شي الا وله حل ولكنه قد يغيب احيانا عنا ونجده عند الجيران . ..
واذا فكرت خارج الصندوق ولم تلقى الحل ولغتك الانجليزية كويسة اطرح الفكرة هناك لربما نجد ما غاب عنا وبذلك تعلمنا شي جديد كان قد غاب عنا..
ودائما يبقى الانسان يتعلم و يردد ((وقل ربي زدني علما))
وتعبكم ان شاء الله في ميزان حسناتكم يوم القيامه.
أخي الكريم
ردي السابق والذي قبله واضحين جدا !
عموما كخلاصة
إذا تريد تلك الشروط تتحقق بشمعة مغلقة سابقا فهي غير ممكنة برمجيا لأن البرنامج لا يعرف حركات السعر السابقة،
أما إذا تريد تلك الشروط تتحقق بآخر شمعة مفتوحة فهذا ممكن برمجيا باستخدام حفظ القيم من نوع static ومقارنتها بالقيم الجديدة...
أما إذا تريد الشروط بمجموعة شموع سابقة فهذا ممكن وهي نفس الشروط التي يعمل عليها الزيجزاج تقريبا
كلام جميل لو كانت اللغة كبيرة ومتشعبة لكن الحقيقة لغة mql4 لغة محدودة جدا وبالتالي الحلول محدودة وخصوصا إذا الشروط مرتبطة بالاسعار والتي لا يمكن الخروج عن قوانينها مثلا يمكن معرفة فقط أسعار الاغلاق الافتتاح الهاي ثم اللو ولا يمكن معرفة غير ذلك مثل سعر تكة سابقة بين سعري الهاي واللو دون الاغلاق والافتتاح!
طيب اخي حسن
استوقفتني جملتك هذة
أما إذا تريد الشروط بمجموعة شموع سابقة فهذا ممكن وهي نفس الشروط التي يعمل عليها الزيجزاج تقريبا
اذا افترضنا اننا نريد تطبيق الفكرة على الشمعة اليومية و انت قلت انه لايمكن معرفة حركة السعر لشمعه سابقه
وبما ان الشمعه اليومية هي عبارة عن مجموعه من الشموع الصغيره مثل شموع الدقيقه والساعه وغيرها
فنحن سنقوم بالتالي:
اولا اخذ قيمه الافتتاح للشمعة الدقيقه في اول اليوم ومن ثم نقارنها مع الهاي لقيمه الشمعه التالية فان كان الفارق اقل من عشرين نقطة لانحفظها وننتظر حتى تكون هاي الشمعه اللي بعدها الى ان نحصل على الفارق وهو عشرين نقطة نقوم بحفظ هذه القيمه لان شرط الترند تحقق وهي عشرين نقطه فأكثر
بعد ان نكون قد حفضنا قيمه الهاي للشمعه التي تحقق عندها الفارق وهو عشرين نقطه فاكثر نقوم بمقارنه هذه القيمة مع هاي ولو الشمعه القادمه لانه احتمال الترند يبقى صاعد واحتمال يرتد
فاذا كان قيمة الهاي للشمعة القادمه اكبر من القيمة اللمحفوظه نحفظ فقط الجديده لانها القيمة الاعلى الى ان يرتد السعر ومعرفة ارتداد السعر هو طرح القيمة المحفوظة من اللو للشمعه القادمه.
بعني بالمختصر
يمكن ايجاد الترندات في جسم الشمعة من دون حركه السعر وانما من خلال المقارنه و الفرق بين الهاي واللو للشموع الصغيرة الموجوده داخل جسم الشمعة الكبيره..
اتمنى ان تكون الفكرة وصلت
السلام عليكم استاذ حسن
اريد وظيفة تضع استوب صفقة الشراء اسفل اقل قاع + 5 نقاط ( اقل قاع لاخر عشرة شموع )
وتضع استوب صفقة البيع اعلى من اعلى قمة + 5 نقاط ( اعلى قمة لاخر عشرة شموع )
بارك الله فيك وتقبل الله منا ومنك الصيام والقيام
وعليكم السلام
مثال :
هذا ممكن ولكن لم يكن بمضمون طلبك السابق!
طيب بما أن العمل على الشمعة اليومية الحالية فلن تحتاج لفريم الدقيقة بل يمكن حفظ قيم حركة السعر الحالية ومقارنتها بالقيم الجديدة، وهو ما قلت سابقا أنه ممكن باستخدام المتغيرات الثابثة من نوع static
ولديك وظيفة الـ Bid للسعر الحالي
يعني مثلا :
من خلال المثال يمكنك بناء أي شرط كما تريد
السلام عليكم اخي حسن
يمكن تحويل ما تقصدة على شكل مؤشر لنرى هل فعلا ما اردت او انه اصاب جزء من الفكرة..
وعليكم السلام
الموضوع مخصص فقط للأسئلة البرمجية وليس للطلبات (اكسبيرت، مؤشر، سكريبت...)
يمكنك فتح موضوع بقسم برمجة المـؤشرات و الاكسبـيرتـات و برامـج التـداول فـي الفـوركس
ولا تنسى مراجعة الموضوع بتوقيعي
بارك الله فيك اخي حسن
لماذا مازلت مصر اخي حسن على الشمعه الحاليه.. اريد معرفة الترندات حتى في الشموع السابقه وذلك من خلال مقارنه الفوارق بين هاي ولو الشمعات الصغيره الموجوده في داخل الشمعه الكبيره , لان كل
شمعه عباره عن مجموعة من الشموع الصغيره.. او انا غلطان؟!
لان حسب كلامك انه لايمكن معرفه حركة السعر او تكاته في الشموع السابقه ولكن على ضوء الهاي واللوا والافتتاح والاغلاق ممكن...
يعني بالمختصر يمكن تنفيذ الفكره بحذافيرها من دون معرفة حركه السعر وانما من خلال ايجاد الفورقات في الشمعات وعمل مقارنه بينها..
لأنك ذكرت الفوارق للهاي... بشموع الدقيقة لشمعة اليوم، إذن من الأفضل استخدام فوارق التكات لشمعة اليوم مباشرة ولديك مثال لحفظ القيم! طبعا المقصود اليوم الحالي وليس السابق، ويبدأ العد من بداية اليوم
يمكن عمل المقارنات ولكن لا يمكن رسم الترندات عليها!
ماشاء الله عليك... حساس بالفهم. واي تعبير بسيط يسلكنا فج اخر...
انت فهمت اقصد شمعة اليوم بحذافيراها وليس سواها
والصح اقصد فريم الشمعه اليوميه وتكون لمجموعة من الشموع اليوميه والتي سنقوم بدراستها من خلال الفورقات بين شموع الدقيقه الموجوده بداخل اجسامهن.من اجل كشف الترندات المذكوره انفا ..
ان شاء الله فهمت ما اقصد....
السلام عليكم
صباح الخير مشرفنا القدير حسن
تقبل لله صيامك
استفسار بسيط ) ما هو الحل لجعل دالة الموديفاي الخاصة بتعديل هدف ووقف الصفقة تعمل لمرة واحدة فقط
أي لا أريدها تعمل بإستمرار حتى لا تتناقض مع دالة التريلينج
مع ملاحظة انني أفتح أكثر من صفقة في الشمعة الواحدة
وفقك الله
يبقى تضع شروط التيك بروفيت والاستوب لوز داخل حلقة شروط فتح الصفقة وليس الموديفاي
او لو حابب تستخدمها ممكن تقييدها كالاتي :
لو هنفترض انك بتحط الاستوب عند للو الشمعة السابقة ف حالة الشراء وعند الهاي ف حالة البيع
ومثلا مثلا بتبيع وتشتري عند اغلاق كل شمعة وانت عايز الاكسبرت مش يحرك الاستوب من بعد الصفقة الاولى
يبقى باختصار هتعمل كده داخل الدالة الرئيسية
غير انت بقى شرط حساب الصفقات لشروطك انت
اخي حسن لما بكتب #property strict ف الاكسبرت بيطلعلي اخطاء كتيرة وكمان ف الاكواد الل باخدها من حضرتك
حتى الاكواد والدوال الموضوعة هنا ف المنتدى في الموضوع المثبت بيطلع فيها اخطاء لما بكتب #property strict فوق
فبضطر احذفها واشتغل بدونها
ايه الحل وخاصة اني بحس اني محتاج اتعلم من اول وجديد
وهل يمكنك تعديل الدوال مرة اخرى لتتلائم مع التحديثات الاخيرة للغة وكيف يمكنني متابعة التحديثات وتحديث الدوال ؟
ليست أخطاء بل اغلبها تنبيهات ليس لها تأثير على عمل الاكسبيرت
عموما property strict للتدقيق البرمجي في كل كلمة أو تعبير بالكود
يعني مثلا البرنامج يتجاوز حالة جمع بين كلمة وعدد صحيح (أو عشري) بينما بالـ strict لابد من تحويل العدد الى كلمة من نوع string
مثلا
وهكذا...
اكتب الكود للتعديل عليه
ويمكنك متابعة التحديثاث من الموقع الرسمي للغة على الرابط التالي Updated MQL4
السلام عليكم اخي كيرا اريد من حضرتك طلب صغير
وهو كود تحريك الاوامر المعلقة كل مدة من الثواني او الدقائق
شكرا لك
السلام عليكم استاذ حسن
كيف اجعل تتبع الربح بناء على مؤشر atr
جزاك الله خيرا
بعض الاكواد التي اصنعها تعمل بشكل صحيح بدون استخدام
مثلا الاكسبرت المرفق يعمل بشكل صحيح عند وضع شروط الدخول في اكسبرت منفرد لكل زوج
وعندما صنعته ف اكسبرت واحد ليعمل ع كل الازواج من خلال شارت واحد ظهرلي مشكلة الاوامر المعلقة حيث يقوم بفتحها عند اسعار غير صحيحة واحيانا لا يفتح رغم انها نفس المتغيرات مع الاكسبرت المنفرد ويعمل هناك بشكل صحيح بجانب انه لا يعمل مع ازواج الين نهائيا والعكس مع الاكسبرت المنفرد يعمل بدون مشاكل
اما بعد اضاافة #propertystrict
ظهرلي 7 اخطاء و 24 تحذيرات
ارجو اصلاحها اذا امكن لاتعلم منها
شكرا لك أخي سبيل على تعاونك معي سلمت يمناك
نعم هذه أول محاولة حاولتها قبل طرح الاستفسار وكتبت نفس هذا الكود ولكن هذا الكود لا ينفذ الفكرة
لأن مشكلته التكرار الدائم ولو ترجمنا هذا الكود فهو يعني (طالما أن هناك صفقة مفتوحة فإن دالة الموديفاي لتعديل الهدف والوقف سوف تعمل بإستمرار) وهذا يتناقض مع دالة التريلينج
ما أريده هو أن دالة الموديفاي تعدل وقف صفقة البيع أو الشراء المفتوحة لمرة واحدة فقط ثم تتوقف عن العمل
دالة التريلينج لا تتوقف عن العمل أبدا طالما أن هناك صفقة مفتوحة
ماهي شروط الموديفاي عندك اصلا عشان اقدر افيدك
((( إذا تم إفتتاح صفقة بيع أو شراء قم بتعديل الهدف والوقف لمرة واحدة فقط )))
يرجى ملاحظة أنني أقوم بإفتتاح أكثر من صفقة في الشمعة الواحدة
يبقى مش هتحتاج دالة الموديفاي وهتعمل الهدف والاستوب داخل الحلقة تحت شروط الدخول
أخي الكريم
لابد من دالة الموديفاي لأن الهدف والوقف قيمتهم مختلفة قبل افتتاح الصفقة وبعد افتتاحها
أنا فاهم قصدك بشكل عام .....أنت تقصد المنطق البرمجي التالي
ولكن هذا لا ينفع في كل الأحوال لأنه توجد صفقة معلقة، ولا ندري ولا يدري الإكسبيرت متى سيتم تفعيل الصفقة المعلقة
يعني دخولي في أغلب الأحيان ليس أمر مباشر بيع أو شراء ولكنه عن طريق الأمر المعلق
الحل المثالي في نظري دالة مبسطة خاصة بمراقبة ما يلي:
بمجرد إفتتاح صفقة بيع أو شراء يقوم الإكسبيرت بتعديل هدف ووقف هذه الصفقة لمرة واحدة فقط
وهكذا يعمل مع كل صفقة جديدة يتم افتتاحها، ولاتهتم هذا الدالة بطريقة افتتاح الصفقة سواء تم افتتاحها بشكل مباشر أو عن طريق أمر معلق
كل ما تفعله هو تعديل الهدف والوقف لمرة واحدة فقط لكل صفقة جديدة تفتتح
أخي الكريم
لابد من دالة الموديفاي لأن الهدف والوقف قيمتهم مختلفة قبل افتتاح الصفقة وبعد افتتاحها
أنا فاهم قصدك بشكل عام .....أنت تقصد المنطق البرمجي التالي
ولكن هذا لا ينفع في كل الأحوال لأنه توجد صفقة معلقة ولا ندري ولا يدري الإكسبيرت متى سيتم تفعيل الصفقة المعلقة
يعني دخولي في أغلب الأحيان ليس أمر مباشر بيع أو شراء ولكنه عن طريق الأمر المعلق
الحل المثالي في نظري دالة مبسطة خاصة بمراقبة ما يلي:
بمجرد إفتتاح صفقة بيع أو شراء يقوم الإكسبيرت بتعديل هدف ووقف هذه الصفقة لمرة واحدة فقط
وهكذا يعمل مع كل صفقة جديدة يتم افتتاحها، ولاتهتم هذا الدالة بطريقة افتتاح الصفقة سواء تم افتتاحها بشكل مباشر أو عن طريق أمر معلق
كل ما تفعله هو تعديل الهدف والوقف لمرة واحدة فقط لكل صفقة جديدة تفتتح
تمام فهمتك
الحل بسيط اخي
اولا سوف تضع دالة بيانات اخر صفقة جارية سواء مباشرة او معلقة خارج الدالة
هذا الكود خارج الدالة
اما داخل الدالة
سوف تضع داخل الحلقة
في حالة الشراء
وفي حالة البيع
تم تصحيح الأخطاء مع الشرح بالكود المرفق
وعليكم السلام
مثال لدالة تحريك الأمر المعلق كل مسافة معينة ويمكنك تغييره بالفرق الزمني بين توقيت فتح الأمر OrderOpenTime و التوقيت الحالي TimeCurrent
أخي الكريم sabil
أشكرك وأحيي فيك روح التعاون والمساعدة
وهكذا نحن نتعلم نصيب ونخطئ مرات عدة حتى نتقن الأمور
بالنسبة لهذا الكود أراه بعيد عن طلبي وليس له علاقة
أعتقد بأن الحل يكمن في التوقيت والزمن
أنا أقتبست فكرة عدم افتتاح أكثر من صفقة في الشمعة الواحدة وعدلت عليها
أعتقد بأن التوقيت والزمن هو الأقرب للصواب، جربت هذا الكود ولم يعمل بسبب وجود علامة تحذير
أتمنى التصحيح من مشرفنا الأستاذ حسن وإرشادنا إلى الطريق الصحيح لنتعلم سويا ونعرف أين الخلل سواء بما أدرجناه من أكواد أو أي كود آخر يراه مناسبا