منطقيا لا يوجد
اشرح الفكرة أو ارفق الكود كاملا للتصحيح
عرض للطباعة
منطقيا لا يوجد
اشرح الفكرة أو ارفق الكود كاملا للتصحيح
السلام عليكم الاخ المحترم ,الاستاذ حسن .
من فضلك ما هو الكود لفتح صفقتين بيع و شراء في الحال و صفقتين معلقتين(بيع على بعد +50نقطة و شراء على بعد-50نقطة)
لك مني جزيل الشكر.
السلام عليكم
الاكسبيرت يعمل على 28 زوج يستخرج رقميا 6 توقعات للصفقات
مع اشاره مؤشراخر
إذا اجتمع مؤشر مع توقعات يحسب عدد النقط بين ظهور اشاره المؤشرين و ظهور الاشاره التوقعات
إذا كانت عدد نقاط اقل من 10 يدخل ألصفقه على حسب التوقعات الزوج الموجود عليه الاكسبيرت
المشكلة عندي هى
عدم القدره تحديد نقطه الحساب الموجود بين الإشارات
المؤشرممكن تحديد نقطه تجمع جميع الإشاره
إما التوقعات ليس ليها مكان على المنصة
فأكيف تحديد ليها سعر لحساب النقط بين ظهور اشاره المؤشر و ظهور الاشاره التوقعات
كانت فكرتي هي
استخدام الوقت ظهور التوقعات وحساب السعر في الوقت المحدد
بالطرح اشاره سعر ظهور المؤشر وسعر الناتج من وقت الظهور
ينتج عدد نقاط على أساس الدخول ولا لا
حوليت ارسم خط افقى على سعر الاشاره المؤشرين وخط أخر عامودي على الوقت وخط أخر افقى على سعر عند الوقت المحدد
معرفه عدد النقط الموجودة بين الخطين الافقيا
اذا ممكن كتابه الداله التى تساعدنى فى ذلك اكون شاكر
بعد اذن استاذى kira-h
متغير خارجى
وعليكم السلام
لا يمكنني كتابة دالة او دوال وليس لي معرفة بقيم المؤشرات المستخدمة او شكلها على الشارت!
فالقيم تختلف من مؤشر لاخر
اذا لا تريد نشر فكرتك، استخدم نفس الفكرة بمؤشرات مختلفة كمثال، مع الشرح بالصور حتى استطيع المساعدة
السلام عليكم
اقسم بالله ان الفكره ليس لى وان صاحب الفكره وضعها عندى كا امانه لذلك لا استطيع وضع الاكسبيرت
كل الا انا واقف عنده هو عند ظهور التوقعات عاوز سعر عند الظهورالتوقع فقط
لحل مشكله ممكن نعمل متغير من نوع string
كيف تحديد السعر فى الوقت 2019.02.06 11:45
تسلم اخي shivaa, شكرا لك . يجب على من يستطيع الاِفادة أن يساعد الآخرين حتى نخفف الضغط على الأ ستاذ حسن.
سبق وشرحت الطريقة بالاقتباس التالي :
ولا يوجد تحديد سعر عند توقيت محدد دون تحديد نوع السعر هل للاغلاق او الافتتاح او الهاي أو اللو
مثلا سعر الاغلاق حسب مثالك كالتالي:
وعليكم السلام
أبسط طريقة ان تستخدم شرط عدد الصفقات
فمثلا إذا كان عدد الصفقات المفتوحة 1 يفتح اول تعزيز بمسافة 1
وإذا كان عدد الصفقات المفتوحة 2 يفتح ثاني تعزيز بمسافة 2
وهكذا ...
جزاك الله خيراااا
السلام عليكم
أخي حسن المرجو إضافة دوال الحماية
أولا قفل الإكسبيريت بباسوورد حساب حقيقي أو ديمو فلا يشتغل إلا على هذا الحساب
ثانيا كود تحديد تاريخ الصلاحية
ثالثا كود الحساب الذي سيشتغل عليه الباكتيست فلا يستطيع أحد أن يعمل الباكتيست إلا على رقم هذا الحساب
شكرا جزيلا واسف على تعبك معنا
معلومة محتاج دمج كل تلك الدوال المطلوبة كلها في الإكسبيرت وبالتالي يصبح الإكسبيرت يتوفر على ثلاث دوال حماية في اان واحد
وعليكم السلام
ستضع الشروط التالية ببداية الدالة OnTick :
وإياك أخي الكريم
السلام عليكم يا استاذنا الكريم
السكربت التالي لانتاج ماجك نمبر مميز بمعرفة الزوج و التشارت
و هو يعمل كما يجب كما يبدو من دوال التحقق برنت الموضوعه علي كل خطوة كما هو مرفق حيث يظهر الرقم المطلوب في النقطه رقم ٣
ما عدا الخطوة الاخيرة عند تحويل السترنج الي انتجر ... ارجو ان توضح لي السبب في ذلك اذا تفضلت و لكم جزيل الشكر
[/LEFT]
مع ملاحظة انه يعمل جيدا اذا تم التحويل من سترنج الي انتجرفي الدالة الرئيسية و ليس في الدالة الفرعية كالتالي
وعليكم السلام
StringToInteger هذه الوظيفة تقوم بتحويل عدد نصي إلى عدد صحيح، وليس كلمة نصية بحيث سيقوم بتحويلها الى عدد صحيح كبير
جزاك الله خيرا يا استاذي
لكن الداله كما تري استعملت لتحويل متغير سترنج اسمه MagicString و هو متغير وليس نص تم تعريفه ك string
و لماذا يعمل نفس الكود اذا وضع في الداله الرئيسيه كالتالي ؟
لم افهم ما هو الاشكال ! فالكود بمشاركتك الاخيرة سليم
الدالة MAGIC_NO_Gen يجب أن تكون من نوع string لأنها تنتج لنا عدد نصي وليس صحيح
ثم تقوم بتحويلها الى عدد نصي لكي تستخدمه بماجك نمبر الصفقة والذي عبارة عن عدد صحيح
فهمت الاشكال أن النتيجة غير متساوية بين الصيغة الأولى والثانية للكود وهذا طبيعي
فالصحيح الصيغة الأولى للكود، لأنها تعمل ضمن مجال المصفوفة chararray
مشكور يا استاذي وبارك الله فيك
كنت ارغب في انتاج الرقم النهائي بعد تحويله الي رقم داخل الداله الفرعية و استخدامه مباشرة بعد ذلك و لكن لسبب اجهله يجب ان تكون الداله من نوع string و تتحول الي رقم في الدالة الرئيسية
جزاك الله خيرا وفيت و كفيت
chararray وظيفتها كما افهم تنتهي عند الامر StringAdd
حيث يحصل المتغير MagicString علي مابداخل المصفوفة
الخطا يحدث بين السطرين برنت ٣ وبرنت٤ اي عند التحويل
علي اي حال اشكرك جزيل الشكر
الكود الصحيح كالتالي :
يكون ببداية الدالة بعدها تستخدم الـ MagicNo1 بدوال فتح الصفقة
السلام عليكم أخي حسن.
طلبي لحضرتك ان توجهني وتصلح لي الاخطاء, من فضلك, في برمجة اِكسبيرت .
الفكرة : فتح صفقتين الاولى بيع و الثانية شراء في نفس الوقت بلوت 0.01 مثلا.
- تيك بروفيت مثلا20 نقطة لكلتا الصفقتين , بدون ستوب لوس .
-وضع صفقتين معلقتين بلوت مضاعف, واحدة بيع وواحدة شراء ب تيك فروفيت محدد , دون ستوب لوس .
-لما واحدة من الصفقتين تضرب الهدف ,تُلغى الصفقة المعلقة من نفس النوع (اِذا صفقة التي ضربت الهدف كانت شراء فتُلغى صفقة الشراء المعلقة. والعكس) .
- بعد ذلك اِذا ضربت الصفقة الباقية الهدف , تلغى الصفقة المعلقة المتبقية. و يعاود من جديد ( فتح صفقتين و صفقتين معلقتين بيع و شراء).
-أما اِذا فُعِّلت الصفقة المعلقة الثانية , فيضع صفقة معلقة نفس النوع الصفقة المفتوحة بلوت مضاعف ,على بعد 50 نقطة .
-يستمر هكذا حتى تضرب الصفقة الهدف فتغلق جميع الصفقات المفعلة و المعلقة ,او يصل الوت الحد الاقصى المعلن عنه في الاعدادات ,فيغلق الكل.
أنا الان في البداية , أُريد من حضرتك ان تلقي نظرة على الكود هل صحيح , و اِذا كنت علي الطريق الصحيح؟
جزاك الله كل خير.
اشكرك جزيل الشكر يا استاذنا الكريم
اخي الكريم
عرفت اين المشكلة واحببت ان اشرككم بها
وهي للاسف بلا حل في Mql4
the largest number you can have as an int is... 2147483648 which is a 10 digit number.. so anything above that is not going to work right in mt4
الكود الذي كتبته يستخرج ١٣ رقم و اكبر رقم ممكن لنوع انتجر هو ١٠ ارقام
و لقد فهمت ان هذه المشكلة تم حلها في Mql5 و لكني استخدم Mql4 حاليا
لك شكري و تحياتي
وعليكم السلام
أخي الكريم الكود لا يحتوي على أي شروط لتصحيحها!!
المرجو توضيح الفكرة أكثر بصور تخطيطية او من الشارت
شكرا أخي حسن.
الفكرة بسيطة :
-فتح صفقة بيع و صفقة شراء (بلوت 0.01)في آنِِ واحد بهدف صغير (20نقطة مثلا) بدون ستوب لوس.
- وضع صفقة بيع معلقة (0.02) على بعد +50 نقطة , و صفقة معلقة شراء (0.02) على بعد -50نقطة (دائما بهدف 20 نقطة و بدون ستوب).
- لما يتحرك السعر الى اسفل , و تضرب صفقة البيع الهدف (20نقطة) ,تُلغى صفقة البيع المعلقة .
- لما ينزل السعر الى مستوى صفقة الشراء المعلقة تتفعل الصفقة و تُوضع صفقة شراء معلقة جديدة(0.04) على بعد -50 نقطة.
-تستمر العملية هكذا حتى تُحقق صفقة الهدف فتُغلق جميع الصفقات المفتوحة و المعلقة . و يبدأ الاكسبيرت من جديد .
و اذا صعد السعر يكون نفس المبدأ فقط بدل البيع يكون الشراء.
اتمنى أخي الكريم ان اكون توفقت في شرح الفكرة هذه المرة.
تحياتي لك.
ملف مرفق 12120
هذا اصبح طلب اكسبيرت وليس سؤال برمجي !
عموما الكود كالتالي مع شرح كل دالة وشرط
معذرة أخي حسن اِن كان بعض التجاوز في طلبي , لكن أفهم اكثر من خلال الامثلة التطبيقية اكثر , ربما عيب في طريقة عملي , أعتذر مرة أُخرى.
شكرا على كرمك اللا محدود .
العفو اخي
ويمكنك مراجعة موضوع تطبيقي تعليمي على الرابط التالي
https://www.fxprg.com/vb/showthread.php?t=31456
هل هناك طريقة لربط المؤشرات والاكسبرتات المبرمجة على ميتا تريدر 4 لجعلها تعمل على ميتاتريدر 5؟
لدي بعض المؤشرات والاكسبردات اريد تشغيلها على منصة احدى الشركات (ميتاتريدر 5)
لا بل يجب إعادة برمجتها بلغة mql5
اخي حسن كيف نجعل مؤشر يرسم خطوط افقيه تاريخي
اي يرسم لكل يوم على حده
راجع كود المؤشر المرفق
السلام عليكم أخي حسن.
كيف يمكنني كتابة كود حيث اِذا ضربت صفقة الهدف ,تُغلق كل الصفقات من نفس النوع سواء كانت مفعلة او أوامر معلقة,
مثلا اِذا ضربت صفقة البيع الهدف, تغلق جميع صفقات البيع المفعلة والمُعلقة. و اِذا ضربت صفقة الشراء الهدف تُغلق جميع صفقات الشراءالمُفعلة و المعلقة .
حاولت بهذا الكود لكنه غير صحيح .
شكرا أخي حسن .
وعليكم السلام
الكود مع الشرح كالتالي:
شكرا أُستاذي الكريم.
بالتوفبق ان شاء الله
الف شكر اخي حسن لم افهم الطريقه
هذا هو الكود المطلوب جعله تاريخي