Variables in MQL4

From binaryoption
Jump to navigation Jump to search
Баннер1

```wiki

المتغيرات في لغة MQL4

المتغيرات هي لبنة البناء الأساسية لأي برنامج، ولغة MQL4 ليست استثناءً. تُستخدم المتغيرات لتخزين البيانات التي يستخدمها البرنامج أثناء التنفيذ. فهم كيفية تعريف واستخدام المتغيرات أمر ضروري لكتابة برامج MQL4 فعالة وصحيحة. يهدف هذا المقال إلى تقديم شرح شامل للمتغيرات في MQL4 للمبتدئين.

ما هي المتغيرات؟

ببساطة، المتغير هو مكان في الذاكرة يتم تخصيصه لتخزين قيمة. هذه القيمة يمكن أن تكون رقمًا، أو نصًا، أو قيمة منطقية (صحيح أو خطأ)، أو نوع بيانات أكثر تعقيدًا. اسم المتغير هو المعرف الذي نستخدمه للوصول إلى القيمة المخزنة في هذا المكان في الذاكرة.

أنواع البيانات في MQL4

تحدد أنواع البيانات نوع القيمة التي يمكن أن يخزنها المتغير. MQL4 تدعم الأنواع التالية:

  • int (عدد صحيح): يستخدم لتخزين الأعداد الصحيحة (بدون كسور عشرية)، مثل -10، 0، 100.
  • double (عدد عشري): يستخدم لتخزين الأعداد التي تحتوي على كسور عشرية، مثل 3.14، -2.5، 0.0. يُستخدم هذا النوع بشكل شائع في حسابات الأسعار.
  • bool (منطقي): يستخدم لتخزين قيمتين فقط: true (صحيح) أو false (خطأ). يُستخدم غالبًا في الشروط والعمليات المنطقية.
  • string (نص): يستخدم لتخزين سلسلة من الأحرف، مثل "Hello, World!"، "EURUSD".
  • char (حرف): يستخدم لتخزين حرف واحد فقط، مثل 'A'، '7'، '$'.
  • datetime (تاريخ ووقت): يستخدم لتخزين التاريخ والوقت، بتنسيق خاص بـ MQL4.

تعريف المتغيرات

لتعريف متغير في MQL4، يجب تحديد نوع البيانات واسم المتغير. الصيغة العامة هي:

```mql4 نوع_البيانات اسم_المتغير; ```

على سبيل المثال:

```mql4 int myInteger; // تعريف متغير صحيح باسم myInteger double myDouble; // تعريف متغير عشري باسم myDouble bool myBoolean; // تعريف متغير منطقي باسم myBoolean string myString; // تعريف متغير نصي باسم myString char myChar; // تعريف متغير حرفي باسم myChar datetime myDatetime; // تعريف متغير تاريخ ووقت باسم myDatetime ```

يمكنك أيضًا تهيئة المتغير بقيمة عند تعريفه:

```mql4 int myInteger = 10; double myDouble = 3.14; bool myBoolean = true; string myString = "Hello"; char myChar = 'A'; datetime myDatetime = TimeCurrent(); // الحصول على الوقت الحالي ```

نطاق المتغيرات

نطاق المتغير يحدد أين في الكود يمكن الوصول إلى المتغير. MQL4 تدعم ثلاثة أنواع من النطاق:

  • المتغيرات العامة (Global Variables): يتم تعريفها خارج أي دالة. يمكن الوصول إليها من أي مكان في البرنامج.
  • المتغيرات المحلية (Local Variables): يتم تعريفها داخل دالة. يمكن الوصول إليها فقط داخل تلك الدالة.
  • المتغيرات المُمرَّرة (Passed Variables): يتم تمريرها كمعاملات للدوال. يمكن الوصول إليها داخل الدالة التي تم تمريرها إليها.

مثال:

```mql4 int globalVariable = 5; // متغير عام

void MyFunction() {

 int localVariable = 10; // متغير محلي
 Print(globalVariable);  // يمكن الوصول إلى المتغير العام
 Print(localVariable);   // يمكن الوصول إلى المتغير المحلي

}

void AnotherFunction() {

 Print(globalVariable);  // يمكن الوصول إلى المتغير العام
 // Print(localVariable);   // خطأ: لا يمكن الوصول إلى المتغير المحلي من دالة أخرى

} ```

استخدام المتغيرات

بعد تعريف المتغير، يمكنك استخدامه في الكود الخاص بك. يمكنك تعيين قيم جديدة للمتغير، واستخدام قيمته في العمليات الحسابية، وفي الشروط، وفي أي مكان آخر حيث تحتاج إلى البيانات المخزنة فيه.

```mql4 int price = 12345; int lotSize = 0.1; double profit = price * lotSize * Point(); // حساب الربح if (profit > 10) {

 Print("Profit is greater than 10");

} ```

الثوابت

الثوابت هي قيم لا يمكن تغييرها بعد تعريفها. يتم تعريف الثوابت باستخدام الكلمة المفتاحية const.

```mql4 const double PI = 3.14159; const int MAX_LOT = 10; ```

استخدام الثوابت يجعل الكود أكثر قابلية للقراءة والصيانة، ويساعد على منع الأخطاء.

المتغيرات المضمنة (Built-in Variables)

MQL4 توفر العديد من المتغيرات المضمنة التي توفر معلومات حول السوق، والحساب، والرسوم البيانية. بعض الأمثلة:

  • Symbol() : إرجاع اسم الرمز (الزوج).
  • Period() : إرجاع الفترة الزمنية للرسم البياني.
  • TimeCurrent() : إرجاع الوقت الحالي للخادم.
  • Ask : سعر الطلب الحالي.
  • Bid : سعر العرض الحالي.
  • Point() : حجم أصغر تغيير في السعر.

يمكنك استخدام هذه المتغيرات مباشرة في الكود الخاص بك دون الحاجة إلى تعريفها.

أمثلة عملية

  • حساب نسبة المخاطرة إلى العائد:

```mql4 double takeProfit = 50 * Point(); double stopLoss = 25 * Point(); double riskRewardRatio = takeProfit / stopLoss; Print("Risk/Reward Ratio: ", riskRewardRatio); ```

  • تحديد ما إذا كان السعر الحالي أعلى من المتوسط المتحرك:

```mql4 double ma = iMA(NULL, 0, 20, 0, MODE_SMA, PRICE_CLOSE, 0); // حساب المتوسط المتحرك البسيط double currentPrice = Ask; bool isAboveMA = currentPrice > ma; if (isAboveMA) {

 Print("Price is above the Moving Average");

} ```

أفضل الممارسات

  • استخدام أسماء وصفية للمتغيرات: اختر أسماء تجعل الكود الخاص بك أكثر قابلية للقراءة والفهم. على سبيل المثال، استخدم "averagePrice" بدلاً من "ap".
  • التعليق على الكود: اشرح الغرض من المتغيرات، خاصة إذا كانت معقدة.
  • استخدام الثوابت للقيم الثابتة: هذا يجعل الكود الخاص بك أكثر قابلية للصيانة.
  • تجنب استخدام المتغيرات العامة بشكل مفرط: يمكن أن يؤدي ذلك إلى صعوبة تتبع التغييرات في الكود.
  • تهيئة المتغيرات قبل استخدامها: هذا يساعد على منع الأخطاء غير المتوقعة.

روابط لمواضيع ذات صلة

استراتيجيات و مفاهيم متعلقة بالخيارات الثنائية والتحليل الفني

```

ابدأ التداول الآن

سجّل في IQ Option (الحد الأدنى للإيداع 10 دولار) افتح حساباً في Pocket Option (الحد الأدنى للإيداع 5 دولار)

انضم إلى مجتمعنا

اشترك في قناة Telegram الخاصة بنا @strategybin لتصلك: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات اتجاهات السوق ✓ مواد تعليمية للمبتدئين

Баннер