GNU Make: Difference between revisions

From binaryoption
Jump to navigation Jump to search
Баннер1
(@pipegas_WP)
 
(@pipegas_WP)
 
Line 1: Line 1:
'''GNU Make: دليل شامل للمبتدئين في أتمتة عمليات البناء'''
=== GNU Make: دليل المبتدئين ===


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


GNU Make هي أداة بناء قوية ومرنة تُستخدم على نطاق واسع في تطوير البرمجيات.  إنها ليست خاصة بلغة برمجة معينة، بل هي أداة عامة يمكن استخدامها لأتمتة أي عملية تتطلب خطوات متعددة. في هذا المقال، سنستكشف أساسيات GNU Make، وكيفية عملها، وكيف يمكن استخدامها لتبسيط عملية تطوير البرامج.  يعتبر فهم Make أمرًا بالغ الأهمية لأي مطور برامج، خاصةً عند التعامل مع مشاريع كبيرة ومعقدة.  سنتطرق إلى المفاهيم الأساسية مثل [[Makefile]]، [[الأهداف]]، [[التبعيات]]، و[[الأوامر]].
== ما هي أداة البناء؟ ==


== ما هو GNU Make؟ ==
قبل الغوص في تفاصيل GNU Make، من المهم فهم ما هي أداة البناء.  في عملية تطوير البرمجيات، عادة ما تتكون البرامج من عدة ملفات مصدر (مثل ملفات C++ أو Java).  هذه الملفات تحتاج إلى تجميع (compilation)، ربط (linking)، وربما إجراء خطوات أخرى مثل ضغط الملفات أو إنشاء ملفات التوثيق.  أداة البناء تقوم بأتمتة هذه الخطوات، مع التأكد من أن الملفات يتم تجميعها بالترتيب الصحيح وأن جميع الاعتمادات (dependencies) يتم التعامل معها بشكل صحيح.  بدون أداة بناء، يجب على المطورين تنفيذ هذه الخطوات يدويًا، وهو أمر ممل ومعرض للأخطاء.


ببساطة، GNU Make هي أداة تقوم بتقييم [[Makefile]]، وهو ملف نصي يحتوي على مجموعة من القواعد التي تحدد كيفية بناء البرنامج أو المشروع.  تقوم Make بتحليل هذا الملف وتحديد المهام التي يجب تنفيذها، بترتيب معين، لبناء الهدف النهائي.  هذا يوفر الكثير من الوقت والجهد، خاصةً عندما تحتاج إلى إعادة بناء المشروع بعد إجراء تغييرات طفيفة.  بدون Make، سيتعين عليك تنفيذ جميع خطوات البناء يدويًا في كل مرة، وهو أمر ممل وعرضة للأخطاء. 
== المفاهيم الأساسية في GNU Make ==


== مكونات Makefile الأساسية ==
* '''Makefile''': هذا هو الملف الذي يحتوي على مجموعة القواعد (rules) التي تحدد كيفية بناء البرنامج.  يجب أن يكون اسمه عادةً "Makefile" أو "makefile".
* '''القواعد (Rules)'':'' كل قاعدة في Makefile تحدد كيفية إنشاء ملف هدف (target) من مجموعة من الملفات المصدر (dependencies).  تتكون القاعدة من الهدف، والاعتمادات، والأوامر (commands).
* '''الأهداف (Targets)'':'' هي الملفات التي تريد إنشاؤها، مثل ملف تنفيذي، أو ملف كائن (object file)، أو ملف مكتبة (library file).
* '''الاعتمادات (Dependencies)'':'' هي الملفات التي يعتمد عليها الهدف. إذا تغيرت أي من الاعتمادات، يجب إعادة بناء الهدف.
* '''الأوامر (Commands)'':'' هي التعليمات التي يتم تنفيذها لإنشاء الهدف.  يجب أن تكون الأوامر مكتوبة على سطر منفصل، ويجب أن تبدأ بمسافة بيضاء (tab).


* '''الأهداف (Targets):'''  تمثل الأهداف الملفات التي تريد بناءها، مثل ملف تنفيذي، أو مكتبة، أو ملف كائن.  مثال: `myprogram`
== مثال بسيط لـ Makefile ==
* '''التبعيات (Dependencies):'''  هي الملفات التي يعتمد عليها الهدف.  إذا تغير أي من هذه الملفات، يجب إعادة بناء الهدف. مثال: `main.c header.h`
* '''الأوامر (Commands):'''  هي التعليمات التي يجب تنفيذها لبناء الهدف. مثال: `gcc -o myprogram main.c header.h`
* '''القواعد (Rules):'''  تجمع بين الهدف والتبعيات والأوامر.  تحدد القواعد كيفية بناء هدف معين بناءً على تبعياته.


== مثال بسيط لـ Makefile ==
لننظر إلى مثال بسيط لـ Makefile لبرنامج C++:


لنأخذ مثالاً بسيطًا لبرنامج C يتكون من ملفين: `main.c` و `header.h`. إليك كيف يمكن أن يكون ملف `Makefile` الخاص بنا:
```makefile
program: main.o helper.o
g++ main.o helper.o -o program


[[User:Admin|Admin]] ([[User talk:Admin|talk]])makefile
main.o: main.cpp helper.h
myprogram: main.c header.h
g++ -c main.cpp
gcc -o myprogram main.c header.h


clean:
helper.o: helper.cpp helper.h
rm -f myprogram *.o
g++ -c helper.cpp
[[User:Admin|Admin]] ([[User talk:Admin|talk]])
```


في هذا المثال:
في هذا المثال:


* `myprogram` هو الهدف.
*   '''program''' هو الهدف الرئيسي، وهو الملف التنفيذي الذي نريد إنشاؤه.
* `main.c` و `header.h` هما التبعيات.
*   '''main.o''' و '''helper.o''' هما الاعتمادات لـ '''program'''.  هذا يعني أن '''program''' يعتمد على هذين الملفين.
* `gcc -o myprogram main.c header.h` هو الأمر الذي يقوم بتجميع البرنامج.
*   '''g++ main.o helper.o -o program''' هو الأمر الذي يتم تنفيذه لإنشاء '''program'''.
* `clean` هو هدف آخر يستخدم لحذف الملفات التي تم إنشاؤها.
*   '''main.o''' يعتمد على '''main.cpp''' و '''helper.h'''.
 
*  '''helper.o''' يعتمد على '''helper.cpp''' و '''helper.h'''.
== كيفية تشغيل Make ==
*  '''g++ -c main.cpp''' و '''g++ -c helper.cpp''' هما الأوامر التي يتم تنفيذها لإنشاء ملفات الكائن '''main.o''' و '''helper.o''' على التوالي.
 
لإطلاق عملية البناء، انتقل إلى الدليل الذي يحتوي على ملف `Makefile` في سطر الأوامر (Terminal) واكتب ببساطة:


```bash
== كيفية استخدام GNU Make ==
make
```


سيقوم Make تلقائيًا بتحليل ملف `Makefile` وتنفيذ القواعد اللازمة لبناء الهدف المحدد (في هذه الحالة، `myprogram`). إذا كنت تريد بناء هدف معين، يمكنك تحديده بعد الأمر `make`:
لتشغيل Makefile، افتح الطرفية (terminal) وانتقل إلى الدليل الذي يحتوي على ملف Makefile. ثم اكتب الأمر '''make'''.  سيقوم Make بقراءة ملف Makefile وتنفيذ القواعد اللازمة لإنشاء الهدف الرئيسي (عادةً ما يكون الهدف الأول في الملف).


```bash
إذا كنت تريد إنشاء هدف معين غير الهدف الرئيسي، يمكنك تحديد اسمه بعد الأمر '''make'''.  على سبيل المثال، '''make main.o''' سينشئ فقط ملف '''main.o'''.
make clean
```


== المتغيرات في Make ==
== متغيرات Makefile ==


يمكنك استخدام المتغيرات في `Makefile` لتخزين القيم وإعادة استخدامها. هذا يجعل `Makefile` أكثر قابلية للقراءة والصيانة.  مثال:
يمكنك تعريف متغيرات في Makefile لتسهيل الصيانة وإعادة الاستخدام. على سبيل المثال:


```makefile
```makefile
CC = gcc
CC = g++
CFLAGS = -Wall -g
CFLAGS = -Wall -O2


myprogram: main.c header.h
program: main.o helper.o
$(CC) $(CFLAGS) -o myprogram main.c header.h
$(CC) $(CFLAGS) main.o helper.o -o program
```
```


في هذا المثال، `CC` هو متغير يحتوي على اسم المترجم (gcc)، و `CFLAGS` يحتوي على خيارات المترجم.  باستخدام `$(CC)` و `$(CFLAGS)`، يمكنك بسهولة تغيير المترجم أو الخيارات دون الحاجة إلى تعديل الأمر مباشرةً.
في هذا المثال، قمنا بتعريف متغيرين:


== الدوال المضمنة في Make ==
*  '''CC''': يمثل المترجم (compiler).
*  '''CFLAGS''': يمثل خيارات المترجم.


توفر Make مجموعة من [[الدوال المضمنة]] التي يمكن استخدامها لتنفيذ مهام مختلفة، مثل معالجة النصوص، والتحقق من وجود الملفات، وتنفيذ الأوامر الشرطية.  من بين هذه الدوال: `wildcard`، `subst`، `patsubst`، `shell`، وغيرها.
يمكنك استخدام هذه المتغيرات في الأوامر باستخدام صيغة '''$(variable_name)'''.


== استخدام Make في المشاريع الكبيرة ==
== الدوال المضمنة في Make ==


في المشاريع الكبيرة، يمكن أن يصبح `Makefile` معقدًا للغاية.  لذلك، من الشائع تقسيم `Makefile` إلى عدة ملفات أصغر، أو استخدام أدوات بناء أكثر تقدمًا مثل [[CMake]] أو [[Autotools]]ومع ذلك، فإن فهم أساسيات Make يظل ضروريًا حتى عند استخدام هذه الأدوات.
يوفر GNU Make العديد من الدوال المضمنة التي يمكن استخدامها في Makefile.  بعض الدوال الشائعة تشمل:


== استراتيجيات تداول الخيارات الثنائية ذات الصلة (للإشارة إلى أهمية الأتمتة) ==
*  '''wildcard''':  تستخدم لإرجاع قائمة بجميع الملفات التي تطابق نمطًا معينًا.
*  '''patsubst''':  تستخدم لاستبدال نمط في سلسلة نصية.
*  '''shell''':  تستخدم لتنفيذ أمر في shell وإرجاع الناتج.


على الرغم من أن Make هي أداة بناء برامج، إلا أن مفهوم الأتمتة الذي تمثله وثيق الصلة باستراتيجيات التداول.  بعض الاستراتيجيات التي تعتمد على الأتمتة تشمل:
== الاعتبارات المتقدمة ==


[[استراتيجية المتابعة بالاتجاه]] (Trend Following): تتطلب تنفيذًا سريعًا ودقيقًا.
'''الاعتمادات الضمنية (Implicit Dependencies)'':'' يمكن لـ Make استنتاج بعض الاعتمادات تلقائيًا بناءً على الامتدادات.
*  [[استراتيجية الاختراق]] (Breakout Strategy): تعتمد على تحديد نقاط الاختراق وتنفيذ الصفقات تلقائيًا.
'''القواعد النمطية (Pattern Rules)'':'' تسمح بتعريف قواعد عامة تنطبق على مجموعة من الملفات.
*  [[استراتيجية المتوسطات المتحركة]] (Moving Average Strategy): تتطلب حسابات مستمرة وتحديثًا للأوامر.
'''المتغيرات المعرفة من قبل المستخدم (User-Defined Variables)'':'' يمكنك تعريف متغيرات خاصة بك لتخصيص عملية البناء.
*  [[استراتيجية التداول الخوارزمي]] (Algorithmic Trading): تعتمد بشكل كامل على الأتمتة.
'''الأهداف الوهمية (Phony Targets)'':'' تستخدم لتحديد أهداف لا تمثل ملفات حقيقية، مثل هدف "clean" لحذف الملفات المؤقتة.
[[استراتيجية التداول العكسي]] (Reverse Trading): تتطلب مراقبة دقيقة وتنفيذًا سريعًا.
*  [[استراتيجية مارتينجال]] (Martingale Strategy): تتطلب تعديل حجم الصفقة تلقائيًا.
*  [[استراتيجية فيبوناتشي]] (Fibonacci Strategy): تتطلب تحديد مستويات فيبوناتشي وتنفيذ الصفقات عند الوصول إليها.
*  [[استراتيجية بولينجر باند]] (Bollinger Bands Strategy): تتطلب حساب نطاقات بولينجر وتنفيذ الصفقات عند تجاوزها.
*  [[استراتيجية مؤشر القوة النسبية]] (RSI Strategy): تتطلب حساب مؤشر القوة النسبية وتنفيذ الصفقات بناءً على قيمه.
[[استراتيجية MACD]] : تتطلب تحليل تقاطع خطوط MACD وتنفيذ الصفقات بناءً على ذلك.
*  [[استراتيجية Ichimoku Cloud]] : تتطلب تحليل السحابة Ichimoku وتنفيذ الصفقات بناءً على ذلك.
*  [[استراتيجية التداول على الأخبار]] (News Trading): تتطلب مراقبة الأخبار وتنفيذ الصفقات تلقائيًا عند صدور أخبار مهمة.
*  [[استراتيجية التداول المتأرجح]] (Swing Trading): تتطلب تحديد نقاط الدخول والخروج وتنفيذ الصفقات بناءً على تحليل فني.
[[استراتيجية التداول اليومي]] (Day Trading): تتطلب مراقبة دقيقة للسوق وتنفيذ الصفقات بسرعة.
*    [[استراتيجية التداول بناءً على الأنماط]] (Pattern Trading): تتطلب التعرف على الأنماط الفنية وتنفيذ الصفقات بناءً عليها.


== التحليل الفني وحجم التداول ==
== GNU Make وتطوير البرمجيات الحديثة ==


بالإضافة إلى استراتيجيات التداول، فإن فهم [[التحليل الفني]] و [[حجم التداول]] مهم أيضًا.  يمكن استخدام Make لأتمتة جمع البيانات وتحليلها، مما يساعد في اتخاذ قرارات تداول أفضل. بعض الأدوات والتقنيات ذات الصلة تشمل:
على الرغم من وجود أدوات بناء أكثر حداثة مثل [[CMake]] و [[Ninja]]، لا يزال GNU Make أداة مهمة ومستخدمة على نطاق واسع في تطوير البرمجياتفهم مفاهيمها الأساسية يمكن أن يكون مفيدًا جدًا لأي مطور.


*  [[مؤشرات التحليل الفني]]
== روابط مفيدة ==
*  [[مستويات الدعم والمقاومة]]
*  [[الشموع اليابانية]]
*  [[التحليل الأساسي]]
*  [[إدارة المخاطر]]
*    [[تحديد الاتجاه]]
*  [[تداول العزوم]]
*  [[تداول الاختراق]]
*  [[تداول التصحيح]]
*  [[تداول التجميع]]
*  [[تداول التوزيع]]
*  [[تداول الفجوات السعرية]]
*  [[حجم التداول]]
*  [[عمق السوق]]
*  [[التقلب]]


== الخلاصة ==
*  [[GNU Make Manual]]: [https://www.gnu.org/software/make/manual/make.html](https://www.gnu.org/software/make/manual/make.html)
*  [[Make Tutorial]]: [https://www.makemake.net/](https://www.makemake.net/)
*  [[CMake]]: [[CMake]] هي أداة بناء متعددة المنصات.
*  [[Ninja]]: [[Ninja]] هي أداة بناء صغيرة وسريعة.
*  [[Autotools]]: [[Autotools]] هي مجموعة من الأدوات لإنشاء برامج محمولة.
*  [[Build Systems]]: [[Build Systems]] نظرة عامة على أنظمة البناء المختلفة.
*  [[Compilation]]: [[Compilation]] عملية تحويل شيفرة المصدر إلى شيفرة الآلة.
*  [[Linking]]: [[Linking]] ربط ملفات الكائن لإنشاء ملف تنفيذي.


GNU Make هي أداة قوية يمكن أن تساعدك في أتمتة عمليات البناء وتبسيط عملية تطوير البرامج.  من خلال فهم المفاهيم الأساسية لـ `Makefile`، يمكنك توفير الكثير من الوقت والجهد وتحسين جودة عملك.  على الرغم من وجود أدوات بناء أكثر تقدمًا، فإن فهم Make يظل أساسيًا لأي مطور برامج.
== استراتيجيات تداول الخيارات الثنائية (روابط ذات صلة) ==


[[قائمة أدوات البناء]]
[[استراتيجية مارتينجال]]
[[أتمتة]]
[[استراتيجية المضاعفة]]
[[بيئة التطوير المتكاملة]]
[[استراتيجية المتوسط المتحرك]]
[[نظام التحكم في الإصدار]]
[[استراتيجية بولينجر باند]]
[[تجميع (برمجة)]]
[[استراتيجية التداول العكسي]]
[[الربط (برمجة)]]
[[استراتيجية اختراق النطاق]]
[[الأوامر في نظام التشغيل]]
[[تحليل الفجوة السعرية]]
[[Scripting]]
[[تداول الأخبار]]
[[Bash (shell)]]
[[تداول الاتجاه]]
[[البرمجة]]
[[تداول الاختراق]]
[[تطوير البرمجيات]]
[[تداول الانعكاس]]
[[C (لغة برمجة)]]
[[إدارة المخاطر في الخيارات الثنائية]]
[[C++ (لغة برمجة)]]
[[التحليل الفني للخيارات الثنائية]]
[[جافا (لغة برمجة)]]
[[تحليل حجم التداول]]
[[بايثون (لغة برمجة)]]
[[مؤشر القوة النسبية (RSI)]]
[[التحكم في التدفق]]
[[البيانات]]
[[الخوارزميات]]
[[هياكل البيانات]]


[[Category:**الفئة:أدوات_البناء**]
[[Category:أدوات_البناء]]


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

Latest revision as of 00:04, 24 April 2025

GNU Make: دليل المبتدئين

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

ما هي أداة البناء؟

قبل الغوص في تفاصيل GNU Make، من المهم فهم ما هي أداة البناء. في عملية تطوير البرمجيات، عادة ما تتكون البرامج من عدة ملفات مصدر (مثل ملفات C++ أو Java). هذه الملفات تحتاج إلى تجميع (compilation)، ربط (linking)، وربما إجراء خطوات أخرى مثل ضغط الملفات أو إنشاء ملفات التوثيق. أداة البناء تقوم بأتمتة هذه الخطوات، مع التأكد من أن الملفات يتم تجميعها بالترتيب الصحيح وأن جميع الاعتمادات (dependencies) يتم التعامل معها بشكل صحيح. بدون أداة بناء، يجب على المطورين تنفيذ هذه الخطوات يدويًا، وهو أمر ممل ومعرض للأخطاء.

المفاهيم الأساسية في GNU Make

  • Makefile: هذا هو الملف الذي يحتوي على مجموعة القواعد (rules) التي تحدد كيفية بناء البرنامج. يجب أن يكون اسمه عادةً "Makefile" أو "makefile".
  • القواعد (Rules): كل قاعدة في Makefile تحدد كيفية إنشاء ملف هدف (target) من مجموعة من الملفات المصدر (dependencies). تتكون القاعدة من الهدف، والاعتمادات، والأوامر (commands).
  • الأهداف (Targets): هي الملفات التي تريد إنشاؤها، مثل ملف تنفيذي، أو ملف كائن (object file)، أو ملف مكتبة (library file).
  • الاعتمادات (Dependencies): هي الملفات التي يعتمد عليها الهدف. إذا تغيرت أي من الاعتمادات، يجب إعادة بناء الهدف.
  • الأوامر (Commands): هي التعليمات التي يتم تنفيذها لإنشاء الهدف. يجب أن تكون الأوامر مكتوبة على سطر منفصل، ويجب أن تبدأ بمسافة بيضاء (tab).

مثال بسيط لـ Makefile

لننظر إلى مثال بسيط لـ Makefile لبرنامج C++:

```makefile program: main.o helper.o g++ main.o helper.o -o program

main.o: main.cpp helper.h g++ -c main.cpp

helper.o: helper.cpp helper.h g++ -c helper.cpp ```

في هذا المثال:

  • program هو الهدف الرئيسي، وهو الملف التنفيذي الذي نريد إنشاؤه.
  • main.o و helper.o هما الاعتمادات لـ program. هذا يعني أن program يعتمد على هذين الملفين.
  • g++ main.o helper.o -o program هو الأمر الذي يتم تنفيذه لإنشاء program.
  • main.o يعتمد على main.cpp و helper.h.
  • helper.o يعتمد على helper.cpp و helper.h.
  • g++ -c main.cpp و g++ -c helper.cpp هما الأوامر التي يتم تنفيذها لإنشاء ملفات الكائن main.o و helper.o على التوالي.

كيفية استخدام GNU Make

لتشغيل Makefile، افتح الطرفية (terminal) وانتقل إلى الدليل الذي يحتوي على ملف Makefile. ثم اكتب الأمر make. سيقوم Make بقراءة ملف Makefile وتنفيذ القواعد اللازمة لإنشاء الهدف الرئيسي (عادةً ما يكون الهدف الأول في الملف).

إذا كنت تريد إنشاء هدف معين غير الهدف الرئيسي، يمكنك تحديد اسمه بعد الأمر make. على سبيل المثال، make main.o سينشئ فقط ملف main.o.

متغيرات Makefile

يمكنك تعريف متغيرات في Makefile لتسهيل الصيانة وإعادة الاستخدام. على سبيل المثال:

```makefile CC = g++ CFLAGS = -Wall -O2

program: main.o helper.o $(CC) $(CFLAGS) main.o helper.o -o program ```

في هذا المثال، قمنا بتعريف متغيرين:

  • CC: يمثل المترجم (compiler).
  • CFLAGS: يمثل خيارات المترجم.

يمكنك استخدام هذه المتغيرات في الأوامر باستخدام صيغة $(variable_name).

الدوال المضمنة في Make

يوفر GNU Make العديد من الدوال المضمنة التي يمكن استخدامها في Makefile. بعض الدوال الشائعة تشمل:

  • wildcard: تستخدم لإرجاع قائمة بجميع الملفات التي تطابق نمطًا معينًا.
  • patsubst: تستخدم لاستبدال نمط في سلسلة نصية.
  • shell: تستخدم لتنفيذ أمر في shell وإرجاع الناتج.

الاعتبارات المتقدمة

  • الاعتمادات الضمنية (Implicit Dependencies): يمكن لـ Make استنتاج بعض الاعتمادات تلقائيًا بناءً على الامتدادات.
  • القواعد النمطية (Pattern Rules): تسمح بتعريف قواعد عامة تنطبق على مجموعة من الملفات.
  • المتغيرات المعرفة من قبل المستخدم (User-Defined Variables): يمكنك تعريف متغيرات خاصة بك لتخصيص عملية البناء.
  • الأهداف الوهمية (Phony Targets): تستخدم لتحديد أهداف لا تمثل ملفات حقيقية، مثل هدف "clean" لحذف الملفات المؤقتة.

GNU Make وتطوير البرمجيات الحديثة

على الرغم من وجود أدوات بناء أكثر حداثة مثل CMake و Ninja، لا يزال GNU Make أداة مهمة ومستخدمة على نطاق واسع في تطوير البرمجيات. فهم مفاهيمها الأساسية يمكن أن يكون مفيدًا جدًا لأي مطور.

روابط مفيدة

استراتيجيات تداول الخيارات الثنائية (روابط ذات صلة)

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

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

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

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

Баннер