قرأت الموضوع وأحببت أن أشارك بهذه الملاحظات البرمجية :
- عندما نريد عمل شرط مساواة بين رقمين من النوع دبل فإنه لا ينصح أبدا باستخدام المعامل == ... لأنه نتيجة التدوير الداخلي للقيم في المتحولات قد تنتج حالات عدم تساوي .. مع أن الرقمين متساويين أو الفرق ضئيل جدا جدا .
ومعظم لغات البرمجة وليس فقط MQL تنصح بالاستعاضة عنه بالتالي :
كود:
if(MathAbs(A-B)<رقم الحساسية المطلوب)
وفي مثالنا عن الأسعار يصبح الكود
كود:
if(MathAbs(A-B)<Point)
- يصبح استخدام NormalizeDouble مطلوبا عند إرسال سعر إلى OrderSend ويكون عبارة عن حسابات قد ينتج عنها أرقاما بعد الفاصلة أكثر من عدد الخانات الخاصة بالزوج .
لذلك نستخدم :
كود:
NormalizeDouble(Price,Digits);