Help:Scribunto

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

```wiki

Help:Scribunto

Scribunto هي محرك نصوص برمجة مُضمَّن في MediaWiki يسمح بتوسيع وظائف القوالب ووحدات Lua. باختصار، Scribunto تسمح لك بكتابة كود Lua داخل Wiki، مما يفتح الباب أمام إمكانيات معالجة بيانات معقدة، وتنسيقات متقدمة، وتفاعلات ديناميكية لا يمكن تحقيقها باستخدام لغة Parser Functions العادية. هذا المقال هو دليل للمبتدئين لمساعدتك على فهم Scribunto وكيفية استخدامه.

ما هي Lua؟

Lua هي لغة برمجة نصية خفيفة الوزن وقوية. تتميز ببساطة تركيبها وسهولة تضمينها في تطبيقات أخرى، مما يجعلها مثالية للاستخدام في بيئة Wiki مثل MediaWiki. Lua تستخدم على نطاق واسع في تطوير الألعاب (مثل Roblox)، والتطبيقات المضمنة، وتطبيقات الويب. يمكنك معرفة المزيد عن Lua من [الرسمي للغة Lua].

لماذا نستخدم Scribunto؟

  • القوة والمرونة: Scribunto تسمح لك بأداء عمليات حسابية معقدة، ومعالجة النصوص، والتعامل مع البيانات بطرق لا يمكن تحقيقها باستخدام Parser Functions.
  • الأداء: Lua أسرع بكثير من Parser Functions، مما يعني أن القوالب التي تستخدم Scribunto ستعمل بشكل أكثر كفاءة.
  • قابلية الصيانة: كود Lua أسهل في القراءة والكتابة والصيانة مقارنة بتعبيرات Parser Functions المعقدة.
  • إمكانيات متقدمة: Scribunto تتيح لك الوصول إلى وظائف MediaWiki الداخلية، مما يتيح لك إنشاء قوالب ووحدات أكثر تطوراً.

أساسيات Scribunto

Scribunto تعمل من خلال وحدات Lua. الوحدة هي ملف نصي يحتوي على كود Lua. يمكن استدعاء هذه الوحدات من القوالب أو من وحدات أخرى.

  • إنشاء وحدة: لإنشاء وحدة جديدة، قم بإنشاء صفحة باسم Module:اسم الوحدة (استبدل "اسم الوحدة" باسم وصفي للوحدة).
  • كتابة الكود: في صفحة الوحدة، اكتب كود Lua. يجب أن تبدأ الوحدة بدالة `pcall` لحماية MediaWiki من الأخطاء في الكود.
  • استدعاء الوحدة: لاستدعاء الوحدة من قالب، استخدم بناء الجملة `{{#invoke:اسم الوحدة|اسم الدالة|وسائط}}`.

مثال بسيط

لنبدأ بمثال بسيط: وحدة تحسب مربع رقم.

1. إنشاء الوحدة: قم بإنشاء صفحة باسم Module:Square. 2. كتابة الكود: أضف الكود التالي إلى صفحة Module:Square:

```lua local p = {}

function p.square(x)

 return x * x

end

return p ```

3. إنشاء قالب: قم بإنشاء قالب باسم Template:Square. 4. كتابة الكود: أضف الكود التالي إلى صفحة Template:Square:

```wiki {{#invoke:Square|square|{{{1}}}}} ```

الآن، يمكنك استخدام القالب `Template:Square` وسيعرض 25.

شرح المثال

  • `local p = {}`: ينشئ جدولاً فارغاً باسم `p`. يستخدم هذا الجدول لتجميع الدوال.
  • `function p.square(x)`: تعرف دالة جديدة باسم `square` تأخذ وسيطاً واحداً `x`.
  • `return x * x`: تحسب مربع `x` وتعيد النتيجة.
  • `return p`: تعيد الجدول `p` الذي يحتوي على الدالة `square`.
  • `{{#invoke:Square|square|{{{1}}}}}`: يستدعي الدالة `square` في الوحدة `Square` ويمرر قيمة الوسيط `1` (الذي يتم تمريره إلى القالب) كمدخل للدالة.

المفاهيم الأساسية في Lua

  • المتغيرات: تستخدم المتغيرات لتخزين القيم. في Lua، لا تحتاج إلى تحديد نوع المتغير بشكل صريح. مثال: `x = 10`، `name = "John"`
  • أنواع البيانات: Lua تدعم عدة أنواع من البيانات، بما في ذلك:
   *   الأرقام: أعداد صحيحة وأعداد عشرية.  مثال: 10، 3.14
   *   السلاسل النصية: سلاسل من الأحرف محاطة بعلامات اقتباس مفردة أو مزدوجة.  مثال: "Hello"، 'World'
   *   الجداول: هياكل بيانات تستخدم لتخزين مجموعات من القيم.  مثال: `{1, 2, 3}`، `{name = "John", age = 30}`
   *   القيم المنطقية: `true` أو `false`.
  • العمليات الحسابية: Lua تدعم العمليات الحسابية الأساسية: `+` (جمع)، `-` (طرح)، `*` (ضرب)، `/` (قسمة)، `%` (باقي القسمة).
  • العبارات الشرطية: تستخدم العبارات الشرطية لتنفيذ كود معين بناءً على شرط معين. مثال:

```lua if x > 10 then

 print("x is greater than 10")

else

 print("x is not greater than 10")

end ```

  • الحلقات: تستخدم الحلقات لتكرار تنفيذ كود معين. مثال:

```lua for i = 1, 5 do

 print(i)

end ```

  • الدوال: تستخدم الدوال لتجميع مجموعة من التعليمات البرمجية التي يمكن إعادة استخدامها. مثال (كما رأينا في المثال السابق).

التعامل مع الجداول

الجداول هي هياكل البيانات الأكثر أهمية في Lua. يمكن استخدامها لتخزين البيانات المنظمة.

  • إنشاء جدول: `my_table = {}`
  • إضافة عناصر إلى جدول: `my_table[1] = "Apple"`، `my_table["name"] = "John"`
  • الوصول إلى عناصر جدول: `print(my_table[1])`، `print(my_table["name"])`
  • التكرار على عناصر جدول:

```lua for i, value in ipairs(my_table) do

 print(i, value)

end ```

الوصول إلى وظائف MediaWiki الداخلية

Scribunto تتيح لك الوصول إلى وظائف MediaWiki الداخلية من خلال جدول `mw`. هذا يسمح لك بالتفاعل مع Wiki بطرق متقدمة.

  • `mw.title.new(page_name)`: ينشئ كائن عنوان لصفحة معينة.
  • `mw.text.escape(text)`: يهرب الأحرف الخاصة في النص.
  • `mw.language.new(code)`: ينشئ كائن لغة.
  • `mw.ustring`: يوفر مجموعة من دوال معالجة السلاسل النصية Unicode.

الأخطاء والتصحيح

عند كتابة كود Lua، من المحتمل أن تواجه أخطاء. Scribunto توفر بعض الأدوات للمساعدة في تصحيح الأخطاء:

  • رسائل الخطأ: عندما يحدث خطأ في كود Lua، سيعرض MediaWiki رسالة خطأ تشير إلى سطر الكود الذي تسبب في الخطأ.
  • `mw.log(message)`: تستخدم هذه الدالة لتسجيل رسائل في سجل أخطاء Scribunto. يمكنك عرض سجل الأخطاء في Special:ScribuntoErrors.
  • `debug.traceback()`: تعرض تتبع المكدس الذي يوضح تسلسل استدعاءات الدوال التي أدت إلى الخطأ.

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

  • التعليقات: قم بتضمين تعليقات واضحة في كود Lua الخاص بك لشرح ما يفعله الكود.
  • التنظيم: قم بتنظيم كود Lua الخاص بك في دوال وجداول منطقية.
  • الأداء: حاول كتابة كود Lua فعال لتجنب مشاكل الأداء.
  • الأمان: كن حذراً عند استخدام وظائف MediaWiki الداخلية وتأكد من أن الكود الخاص بك آمن.

تطبيقات عملية في الخيارات الثنائية (Binary Options)

على الرغم من أن Scribunto مصممة لـ MediaWiki، يمكننا استعارة بعض المفاهيم لتطبيقها على تحليل الخيارات الثنائية. تخيل أنك تقوم بإنشاء نظام Wiki داخلي لتتبع استراتيجيات الخيارات الثنائية. Scribunto يمكن أن تساعد في:

  • حساب عائد الاستثمار (ROI): كتابة دوال لحساب ROI بناءً على عدد الصفقات الرابحة والخاسرة، وحجم الاستثمار.
  • تحليل حجم التداول: معالجة البيانات المتعلقة بحجم التداول لتحديد الاتجاهات.
  • تطبيق المؤشرات الفنية: كتابة دوال لحساب المؤشرات الفنية مثل المتوسطات المتحركة (Moving Averages)، ومؤشر القوة النسبية (RSI)، و MACD.
  • تنفيذ استراتيجيات التداول: تمثيل استراتيجيات التداول كخوارزميات Lua. على سبيل المثال:
   *   استراتيجية 60 ثانية:  تعتمد على تحليل سريع للاتجاهات قصيرة الأجل.
   *   استراتيجية الاختراق:  تعتمد على تحديد مستويات الدعم والمقاومة.
   *   استراتيجية البولينجر باند:  تستخدم نطاقات بولينجر لتحديد فرص الشراء والبيع.
   *   استراتيجية الرسوم البيانية: تحليل أنماط الرسوم البيانية لتوقع الاتجاهات المستقبلية.
  • إدارة المخاطر: تنفيذ دوال لحساب حجم الصفقة الأمثل بناءً على مستوى المخاطر المقبول. (على سبيل المثال، قاعدة 1% للمخاطرة).
  • محاكاة التداول: إنشاء محاكاة بسيطة للتداول لاختبار الاستراتيجيات المختلفة.
  • تحليل الاتجاهات: استخدام Lua لتحديد الاتجاهات الصاعدة والهابطة في أسعار الأصول.
  • تحديد نقاط الدخول والخروج: تطوير خوارزميات لتحديد أفضل نقاط الدخول والخروج للصفقات.
  • استخدام مؤشرات التذبذب: تنفيذ مؤشرات مثل مؤشر ستوكاستيك (Stochastic Oscillator) لتحديد ظروف ذروة الشراء والبيع.
  • استراتيجية مارتينجال: (تحذير: عالية المخاطر) تنفيذ نظام مارتينجال لزيادة حجم الصفقة بعد كل خسارة.
  • استراتيجية المضاعفة: مضاعفة حجم الصفقة بعد كل صفقة رابحة.
  • استراتيجية التداول بناءً على الأخبار: دمج بيانات الأخبار في نظام التداول.
  • تحليل الفجوات السعرية: تحديد الفجوات السعرية في الرسوم البيانية.
  • استراتيجية التداول اللحظي (Scalping): تنفيذ استراتيجية تداول تعتمد على تحقيق أرباح صغيرة من التغيرات الطفيفة في الأسعار.
  • استخدام مؤشر فيبوناتشي: تطبيق مستويات فيبوناتشي لتحديد مستويات الدعم والمقاومة المحتملة.
  • استراتيجية التداول بناءً على الأنماط الشموع: التعرف على أنماط الشموع (مثل المطرقة، النجمة الصباحية، النجمة المسائية) لاتخاذ قرارات التداول.
  • تحليل الحجم: دراسة حجم التداول لتأكيد قوة الاتجاهات.
  • استراتيجية التداول باستخدام المتوسطات المتحركة المتقاطعة: تحديد نقاط الدخول والخروج بناءً على تقاطع المتوسطات المتحركة.
  • استراتيجية التداول بناءً على التباعدات: التعرف على التباعدات بين السعر والمؤشرات الفنية.
  • استراتيجية التداول بناءً على أنماط الهارموني: تحليل أنماط الهارموني (مثل الفراشة، الخفاش، السرطان) لتحديد فرص التداول.
    • تحذير:** تداول الخيارات الثنائية ينطوي على مخاطر عالية وقد لا يكون مناسبًا لجميع المستثمرين. يجب عليك فهم المخاطر المرتبطة بتداول الخيارات الثنائية قبل البدء في التداول. هذه الأمثلة هي لأغراض تعليمية فقط ولا تشكل نصيحة مالية.

الموارد الإضافية

```

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

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

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

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

Баннер