PDA

View Full Version : Mql5 المرجعي أساسيات اللغة وظائف التعامل مع الحدث وظائف OnCalculate



Hana Ramzi
05-17-2015, 22:53
يتم استدعاء الدالة OnCalculate () فقط في المؤشرات مخصصة عندما كان ذلك ضروريا لحساب قيم المؤشرات من قبل حساب الحدث. يحدث هذا عادة عند تلقي علامة جديدة للرمز، والتي يتم احتساب المؤشر. غير مطلوب هذا المؤشر لضمها الى أي مخطط ثمن هذا الرمز.

يجب أن يكون وظيفة OnCalculate () نوع إرجاع الباحث. هناك نوعان من التعاريف الممكنة. ضمن مؤشر واحد لا يمكنك استخدام كلا الإصدارين من وظيفة.

ويهدف النموذج الأول لتلك المؤشرات التي يمكن أن تحسب على منطقة عازلة بيانات واحدة. مثال على مثل هذا المؤشر هو العرف المتوسط ​​المتحرك.
الباحث OnCalculate (CONST الباحث rates_total، // حجم السعر [] مجموعة
CONST الباحث prev_calculated، // الحانات التعامل معها على دعوة سابقة
CONST الباحث تبدأ، // حيث تبدأ بيانات هامة من
CONST ضعف والسعر [] // مجموعة لحساب



كما ثمن [] مجموعة، واحدة من timeseries أو منطقة عازلة المحسوب لبعض المؤشرات يمكن تمريرها. لتحديد اتجاه الفهرسة في سعر [] مجموعة، دعوة ArrayGetAsSeries () . لكي لا تعتمد على القيم الافتراضية، يجب استدعاء دون قيد أو شرط ArraySetAsSeries () وظيفة لتلك المصفوفات، التي من المتوقع أن تعمل معها.

السلاسل الزمنية اللازمة أو مؤشرا لاستخدامها، حيث ارتفع سعر [] مجموعة يمكن اختيارها من قبل المستخدم في "معلمات" التبويب عند بدء تشغيل المؤشر. للقيام بذلك، يجب تحديد عنصر ضروري في قائمة منسدلة "تنطبق على" المجال.



للحصول على قيم مؤشر مخصصة من برامج MQL5 أخرى، iCustom () يتم استخدام الدالة، والتي ترجع مؤشر مؤشر لعمليات لاحقة. يمكنك أيضا تحديد سعر [] مجموعة مناسبة أو مقبض مؤشر آخر. يجب أن تنتقل هذه المعلمة الأخير في قائمة المتغيرات مدخلات مؤشر المخصصة.
على سبيل المثال:
باطل OnStart ()
{
// ---
سلسلة terminal_path = TerminalInfoString (STATUS_TERMINAL_PATH)؛
الباحث handle_customMA = iCustom (الرمز ()، PERIOD_CURRENT، "مخصص المتوسط ​​المتحرك"، 13،0، MODE_EMA، PRICE_TYPICAL)؛
إذا (handle_customMA> 0)
الطباعة ("handle_customMA =" handle_customMA)؛
آخر
الطباعة ("لا يمكن فتح ملف أو لا EX5" + terminal_path + "\\ \\ مؤشرات MQL5 \\" + "Average.ex5 مخصص نقل")؛
}


في هذا المثال، المعلمة الأخيرة مرت هي القيمة PRICE_TYPICAL (من ENUM_APPLIED_PRICE التعداد)، مما يدل على أن مؤشر مخصصة وسيتم بناء على أسعار النموذجية التي يتم الحصول عليها (ارتفاع منخفض + + إغلاق) / 3. إذا لم يتم تحديد هذه المعلمة، هو مبني المؤشر على أساس القيم PRICE_CLOSE، أي أسعار الإغلاق للكل شريط.

مثال آخر أن يظهر يمر من معالج مؤشر كمعلمة الأخيرة لتحديد السعر [] مجموعة، يرد في وصف iCustom () وظيفة.


ويهدف النموذج الثاني لجميع المؤشرات الأخرى، التي يستخدم فيها سلسلة أكثر من مرة واحدة لإجراء العمليات الحسابية.
الباحث OnCalculate (CONST الباحث rates_total، // حجم المدخلات السلاسل الزمنية
CONST الباحث prev_calculated، // الحانات التعامل معها في دعوة سابقة
CONST التاريخ والوقت والوقت []، // الوقت
CONST ضعف ومفتوحة []، // المفتوحة
CONST ضعف والعالية []، // العليا
CONST ضعف ومنخفضة []، // منخفضة
CONST ضعف وعلى مقربة []، // إغلاق
CONST طويلة وtick_volume []، // القراد حجم
CONST طويلة وحجم []، // ريال حجم
CONST الباحث وانتشرت [] // انتشار



معالم مفتوحة []، عاليا []، منخفضة [] وعلى مقربة [] يحتوي على المصفوفات مع أسعار الافتتاح، وارتفاع الأسعار وانخفاض الأسعار وثيقة الإطار الزمني الحالي. تحتوي الساعة [] المعلمة صفيف مع قيم الوقت مفتوحة، وانتشار [] معلمة لديها مجموعة واسعة تحتوي على تاريخ ينتشر (إذا قدم أي انتشار للأمن المتداولة). المعلمات من حجم [] وtick_volume [] يحتوي على تاريخ التجارة وحجم القراد، على التوالي.

لتحديد اتجاه فهرسة الوقت []، فتح []، عاليا []، منخفضة []، على مقربة []، tick_volume []، حجم [] وانتشار []، والدعوة ArrayGetAsSeries () . لكي لا تعتمد على القيم الافتراضية، يجب عليك الاتصال دون قيد أو شرط ArraySetAsSeries () وظيفة لتلك المصفوفات، التي من المتوقع أن تعمل معها.

يحتوي على أول معلمة rates_total عدد من الحانات ومتاحة للمؤشر لحساب، ويتوافق مع عدد من الحانات المتاحة في التخطيط.

يجب أن لاحظنا العلاقة بين قيمة الإرجاع OnCalculate () والمعلمة مدخلات الثانية prev_calculated. أثناء المكالمة وظيفة، المعلمة prev_calculated تحتوي على القيمة التي تم إرجاعها من قبل OnCalculate () خلال دعوة سابقة. وهذا يسمح للخوارزميات الاقتصادية لحساب مؤشر مخصص لتفادي الحسابات المتكررة لتلك القضبان التي لم تتغير منذ تشغيل السابقة من هذه الوظيفة.

لهذا، فإنه عادة ما يكون كافيا لإرجاع قيمة المعلمة rates_total، الذي يحتوي على عدد من الحانات في استدعاء دالة الحالية. إذا منذ آخر مكالمة من OnCalculate () بيانات الأسعار قد تغيرت (تاريخ أعمق تحميلها أو الفراغات تاريخ شغل)، وقيمة معلمة الإدخال سيتم تعيين إلى الصفر بحلول محطة prev_calculated.

ملاحظة: في حالة عودة OnCalculate صفر، ثم لا تظهر في قيم المؤشر في DataWindow من محطة العميل.

لفهم ذلك على نحو أفضل، سيكون من المفيد أن يبدأ المؤشر، الذي كود يرد أدناه.

yhassen
06-20-2015, 20:40
السلام عليكم ورحمة الله تعالى وبركاته و رمضانكم مبروك
و تحية طيبة لكل الإخوة الأفاضل..أشكرك آخى الفاضل على الموضوع المميز:
Mql5 المرجعي أساسيات اللغة وظائف التعامل مع الحدث وظائف OnCalculate
أشكرك آخى الفاضل والتوضيحـات و على المعلومات
أسأل الله الربح الوافر والتوفيق و النجاح للجميع

arkantos
06-24-2015, 02:37
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله تعالى و بركاته
شكرا جزيلا اخي الكريم على هذه المشاركة الفعالة
تقبل مروري

alimed
10-26-2015, 14:17
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله تعالى و بركاته
منافع كثيرة يجنيها الإنسان المؤمن الصادق من التعمق في كتاب الله العلي العظيم
تضمن له السعادة في الدنيا و الجزاء العظيم في الآخرة جنات عدن
أكرمك الله و جزاك خير جزاء

torkhan mohamed
02-29-2016, 17:28
لسلام عليكم ورحمه الله وبركاته
شكرا اخى على الموضوع الجميل
واتمنى منك دائما الافاده لنا والله يجازيك كل خير واتمنى لك التوفيق
وبارك الله فيك وجزاك خيراً والسلام عليكم ورحمه الله

AboMoZo
03-06-2016, 21:10
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
شكراً لك علي هذا الطرح الرائع وجزاك الله كل خير
بإنتظار جديدك بفارغ الصبر فلا تحرمنا من الفائدة
تمنياتي بالتوفيق والسداد

minoch
04-18-2016, 21:28
جزاك الله كل خير وبارك الله فيك
آحسن الله اليك ورفع الله قدرك في عليين
اللهم أهدي شباب المسلمين
اللهم أستر بنات المسلمين

AYA.M
05-22-2016, 14:27
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
شكراً جزيلاً لك طرحك لهذا الموضوع الجميل
اسعدني التواجد بهذا المنتدي الرائع فأشكركم علي الجهد المبذول واتمني دوماً الافادة للجميع
تمنياتي لكم بالنجاح الدائم

lascars
03-12-2017, 14:31
سلام عليكم ورحمة الله تعالى وبراكاته

شكرا لك اخي الكريم على هذا الموضوع القيم بخصوص المرجعي أساسيات اللغة وظائف التعامل مع الحدث وظائف OnCalculate ، واصل عملك الجيد اخي الكريم
تقبل مرورى اخى الكريم