وعليكم السلام
العفو والله الموفق
عرض للطباعة
وعليكم السلام
العفو والله الموفق
ذلك الشرط خاص فقط بدالة التبريد يعني بعد وجود صفقة (أو صفقات) مفتوحة من نفس النوع
وعند تحقق شرط المسافة يفتح الصفقة ولكن لا يمكن فتح العدد المتبقي لأنه تغير سعر آخر صفقة (لا تنسى انه فتح صفقة) وبالتالي شرط المسافة لم يعد محقق، لهذا استخدام حجم العقد اكثر دقة وبدون تعقيد، لماذا تريد استخدام العدد؟!
ارفق التعديل الذي قمت به للتصحيح
انا فاهم انت تقصد ايه بس انا شرحت اللى انا محتاجه بصوره ممكن يكون اوضح
اذا الماكس تريد = 2
وعكس السعر عن اخر صفقه تفعلت الاستيب يبقا بكدا الاكسبيرت عنده ماكس تريد من جديد = 2
ويحسب على اخر صفقه تفعلت من الماكس تريد الاخير الاستيب القادم ويكمل بهذا الشكل على البيع والشراء
اذا فى كود ماكس تريد ينفذ هذه الطريقه ياريت اخى يكون فضل كبير منك
اخي الكريم ردي السابق واضح جدا وقلت انه غير ممكن بشكل بسيط لان الامر معقد تحتاج لعمل مصفوفة ودوال اخرى لتقييد الستيب بالعدد هذا اذا كانت المصفوفة متوافقة مع استراتيجية الاكسبيرت يعني محتاج مراجعة للكود كاملا ....
لكن استفسرت عن اهمية العدد ولماذا ؟ حتى افهم وليس فقط مجرد سؤال برمجي دون معرفة الهدف من ورائه!
لان كل صفقه عايز تكون بلوت مختلف يعنى
الصفقه 1 لها لوت خاص بها
الصفقه 2 لها لوت خاص بها
الصفقه 3 لها لوت خاص بها
الصفقه 4 لها لوت خاص بها
هكذا
استراتيجية الاكسبيرت ايضاً تعمل على استيب لفتح الصفقات ويوجد فرص كتير يتحقق فيها شروط الدخول وحتى اقدر تحديد افضل اعدادات لعدد الصفقات المناسب لرأس المال اللى هيشتغل عليه الاكسبيرت مثلاً 5 صفقات كل ستيب او صفقتين هكذا دا الغرض من عدد الصفقات
او اذا احتاجت ان كل اللوت تكون 0.01 بدون مضاعفات يكون بامكانى فعل ذلك
ده الكود اخى حسن
اخي حسن
بحاول احسب المسافة بين البيع والشراء الاول وعلى اساسها تكون المسافة المعتمدة بين صفقات البيع والشراء لاحقاً
عن طريق الدوال التالية :
الاول عملت متغير يحسب المسافة
ثانيا في شروط الدخول عملت الاتي :
لكن الل بيحصل ايه
الاول بيفتح بيع عادي طبقا لشروط معينة انا عاملها ولما السعر يعكس المفروض انه يفتح شراء واحد فقط طبقا لشروط معينة ايضا وعلى اساسها يحسب المسافة بين الامرين ثم يفتح شراء وبيع طبقا للمسافات دي
لكن الل بيحصل انه بيفتح 3 اوردرات بعد البيع الاول (2 شراء وواحد بيع من نفس السعر ونفس اللوت) بعد توافق شروط الشراء
المشكلة فين هنا؟
الله يعطيك العافيه
هنا ظهر خطا ؟؟؟ closecount=OrderCloseCount(op,ot);
هذه الدالة موجودة سلفا بالحل السابق وهي كالتالي:
في هذه الحالة يكفي استخدام عقد واحد عند كل مستوى، سيكون اكثر دقة في التنفيذ وسهل برمجيا
اما إذا تريد مضاعفات التبريد فهذا موضوع آخر!
حاولت تصحيح الأخطاء ومعظمها غير واضحة منطقيا لأني لا اعلم ما تريده من الاكسبيرت
الكود مع بعض التعليقات
السلام عليكم
الصحيح كالتالي:
طيب انا مسحت المضاعفات وبردو الاكسبيرت مش بيشتغل على الطريقه المطلوبه ؟
الاكسبيرت بيعمل على لوت واحد بس ومش بيفتح صفقات التبريد
يا اخي والله عايز ابوس راسك
مش عارف من غيرك كنا عملنا ايه
جربته تيست ومبدئيا شغال مظبوط
جاري التجربة لايف
شكرا جدا ياغالي ومنتحرمش منك
لديك خطأ في الدالة LastPrice
والصحيح كالتالي:
العفو أخي الكريم
والله الموفق
اخى حسن صفقات التبريد شغاله بس اذا ماكس تريد = 5
والاكسبيرت فتح صفقه شراء وعكس بيفتح تبريد بس المشكله ان لو انا عامل ماكس تريد = 1
التبريد مش هيشتغل
وانا عايز ان اعمل ماكس تريد لكل استيب يعنى ماكس تريد = 1 واتفتح صفقه يبقا الاكسبيرت ينتظر انعكاس السعر وتحقيق مسافة الاستيب واثناء الانتظار اى فرصه شراء هتتحق الاكسبيرت ميدخلهاش
يعنى كل 100 نقطه انعكاس على صفقه شراء اذا تحقق شروط شراء يشترى
كل 100 نقطه انعكاس على صفقه بيع اذا تحقق شروط بيع يبيع
ومتحدد يشترى او يبيع بعد انعكاس الاستيب كام صفقه اللى هيا ماكس تريد من جديد
ووقت ما اتحقق مسافة الاستيب يفتح صفقه وينتظر انعكاس مسافة الاستيب مره اخرى ويعمل بنفس الطريقه كده
لان الوقتى لازم يكون عندى ماكس تريد = 5 او 10 وبيأخد اى فرصه بتظهر التبريد او الفرص الرئيسية اللى الاكسبيرت بيشتغل عليها وانا عايز اعمل حد لعدد الصفقات للسبب ده
اخي الكريم هذه شروطك ولا اعلم شيء عن الاستراتيحية واقوم فقط بتصحيح الاخطاء البرمجية هنا
عموما لا يمكن للاكسبيرت فتح اكثر من صفقة رئيسية من نفس النوع يعني لن تجد اكثر من شراء رئيسي او بيع رئيسي
اما الماكس تريد مرتبط فقط بالتبريدات بحيث البيع منفصل عن الشراء
طيب اتحملنى بس اخى حسن
انا عايز الصفقات اللى تتفتح بعد انعكاس مسافة الاستيب تكون هيا الصفقات الرئيسيه
مفيش اي حل برمجى مثلاً
اذا ماكس تريد = 2 واذا فى صفقين شراء مفتوحين والسعر عكس عليهم 100 نقطه = ماكس تريد متاح من جديد لصفقتين واذا تحقق شروط الشراء يشترى
البيع لوحده والشراء لوحده
اتحملنى اخى او اى افضل حل لو عايز الاكسبيرت يعمل على الشكل ده
اشرح الاستراتيجية كاملة حتى افهم المطلوب فالشروط الخاصة بالصفقة الرئيسية غير واضحة برمجيا
اما مسالة فتح عدد معين من الصفقات كل ستيب قلنا انها مسالة معقدة برمجيا فيها مصفوفات ودوال في غنا عنها لانه يمكنك بدل هذا التعقيد فتح صفقة واحدة كل ستيب بعقد موحد
الاكسبيرت بيشترى او يبيع كل استيب محدد كل ما تحقق بيشترى او يبيع دى الاستراتيجية اللى بيشتغل عليها
اذا كان الحل هو المصفوفات والدوال اللى قلت عليها استسمحك بالله عليك اخى حسن اذا وقتك سمحلك وتحاول اضافتهم ليعمل بالشكل المطلوب وهو كل استيب يكون متاح الماكس تريد للتداول مره اخرى ويكون الفرص اللى هتتنفذ هيا الفرص الرئيسيه للأكسبيرت عند الانعكاس عن اخر صفقه اتفتحت من نوعها مسافة الاستيب ينتظر تحقق شروط الدخول بيع او شراء ويتداول
والبيع والشراء كل نوعه لوحده
هذه شروط التبريد
ما هي شروط الصفقة الأساسية أو الصفقة الأولى ؟
اذا السعر اعلى الموفينج 50 اتحرك مسافة الجاب = شراء
اذا السعر اسفل الموفينج 100 اتحرك مسافة الجاب = بيع
مرفق الكود بحيث :
MaxOrders اقصى عدد الصفقات الكلية لكل نوع
MaxTrades عدد الصفقات بكل مستوى ستيب لكل نوع
السلام عليكم اخى حسن
MaxOrders اقصى عدد الصفقات الكلية لكل نوع
MaxTrades عدد الصفقات بكل مستوى ستيب لكل نوع
فى مشكله فى عدد الصفقات بيفتح صفقه واحده اساسيه حتى لو ماكس تريد = 5
وعند فتح صفقات تبريد بيفتح حوالى 7 او 8 صفقه مره ( بيخزن الفرص اللى تجاهلها اثناء مسافة الاستيب ويفتحهم مع التبريد بعتقد كده ! ) والمطلوب انه ميكررش صفقات التبريد اذا اغلقت متتكررش من نفس المكان تانى
والمفروض ان صفقات التبريد هتتفتح على شروط الصفقات الاساسيه مش بس ان اذا عكس مسافة الاستيب يفتح تبريد لازم بعد ما يعكس مسافة الاستيب ياخد فرصه الشراء او البيع اللى هتتحقق بناءً على شروط الصفقه الاساسيه
وعليكم السلام
شرحك غير واضح كما ان هذا الموضوع مخصص فقط للاسئلة البرمجية وليس للطلبات!
يعني وضعت لك مثال لطريقة برمجية حاول بدورك حل أو برمجة ما تريد بناءا عليه
عموم التعديل الذي قمت به يجعل الاكسبيرت يفتح صفقات اساسية من نفس السعر بعدد MaxOrders، وعند الانعكاس بمسافة ستيب يفتح تبريدات بعدد MaxOrders وهكذا كل انعكاس ستيب
شكراً اخى حسن وفقك الله لما يحب ويرضى
العفو أخي الكريم
السلام عليكم اخي كيرا
هنالك صديق لي ليس مشترك في المنتدى وسالني سؤال ولم اجد اي احد يمكنه مساعدتي فيه
فاتى في بالي ان اسالك وان شالله يكون الجواب عندك
الشاب برمج اكسبيرت يعطي اشارات واراد ان يربط هذه الاشارت في موقع على الانترنت لسهولة الاستخدام
فهل هنالك كود معين او طرية معينة تستطيع ان تقول للاكسبيرت
سعر اغلاق الشمعة واسم الزوج (واذا حدث سعر جديد يرسله ايضا ) يعني كل تحديث يرسله لنا
يعني الفكرة اقرب لعرض اسعار السيولة في صفحة الميتا تريدر
كيف يمكننا فعل ذلك
وفقك الله واحسن لوالديك
وعليكم السلام
هذا يحتاج الى لغة اخرى غير mql4
ولا اعلم عن طريقتها
اشكرك اخي كيرا
العفو أخي
السلام عليكم اخوانى
انا بدأت اتعلم برمجة وقابلنى هذا الخطأ فما هو حل المشكلة ؟
وشكرا جزيلاملف مرفق 15883
وعليكم السلام
الخطأ واضح من معناه،
معناه ان الدالة start سبق استخدامها أي انها مكررة وهذا لا يجوز يجب استخدامها مرة واحدة فقط
الف شكر ليك اخى حسن
معلش انا لسة مبتدأ
وبارك الله فيك
العفو، هذا واجب
والله الموفق
السلام عليكم
اخي حسن لديه مشكلة في اكسبيرت المطلوب تغير الستوب لوز عند تحقق الشرط ولكن لا ينفذ الشرط الا بعد ان يغلق buy وكذلك sell وعند فتح اوردر جديد يبدأ تطبيق الشرط سوف ارفق الاكسبيرت اورجو ان تحلها مع الشكر الجزيل
ملف مرفق 15909
وعليكم السلام
مرفق الاكسبيرت
اخ حسن عاشت الايادي شغل راقي الله يوفقك والله يعجز اللسان عن الشكر وسوف ادعو لك في صلاتي
العفو اخي الكريم وجزاك الله خيرا
السلام عليكم
كيف استطيع ان احفظ قيمة في متغير اثناء العمل ومن ثم الاحتفاظ بهذه القيمة حتى لو اقفلت المنصة ومن ثم فتحتها بعد ساعة او يوم ....الخ
مثلا اريد حفظ سعراليورو : 1.1225 في متغير وان اغلقت المنصة تبقى هذه القيمة محفوظة
ولكم مني الدعاء