التداول الخوارزمي للمبتدئين: من الفكرة إلى الكود | تكتارو

آخر تحديث
آخر تحديث:
مدة القراءة
22 دقيقة للقراءة
جدول المحتويات
  1. ما الذي يفعله نظام التداول الخوارزمي؟
  2. الفكرة تحت التفكيك
  3. نسخة أولية كاملة من القاعدة
  4. من المواصفات إلى منطق شبه برمجي
  5. أين تنكسر الأفكار
  6. خطأ التوقيت داخل الشمعة
  7. تجاهل الأصول التي اختفت
  8. عدم تعديل البيانات بصورة مناسبة
  9. مثال رقمي على أثر التعريف
  10. اختر بيانات تناسب القرار
  11. ابنِ الاختبار قبل بناء الروبوت
  12. فصل التدريب عن التحقق
  13. لا تختصر التقييم في صافي الربح
  14. افحص التوزيع حسب الظروف
  15. قارن الخطة بالتنفيذ
  16. بنية مشروع صغير يمكن صيانته
  17. اجعل الإعدادات خارج المنطق
  18. الوقت جزء من البيانات
  19. قابلية إعادة الاختبار
  20. اختبر ما يحدث عند تغير السوق
  21. مثال عملي: من الإشارة إلى حجم الصفقة
  22. ماذا يحدث إذا كانت مسافة الوقف واسعة؟
  23. منطق الحالة أهم من شرط الدخول
  24. إدارة الأوامر والتنفيذ
  25. المخاطر التي يجب أن توقف النظام
  26. التداول التجريبي خطوة لا يمكن حذفها
  27. اختبارات الكود قبل السوق
  28. اختبار الوحدة
  29. اختبار التكامل
  30. إعادة تشغيل أحداث تاريخية
  31. حالات الفشل
  32. سجل يمكن تدقيقه
  33. أين يستخدم التعلم الآلي؟
  34. الخطوة العملية الأولى
  35. أخطاء شائعة لدى المبتدئ
  36. تحسين النتيجة قبل التحقق من الصحة
  37. استخدام بيانات اليوم كاملة لاتخاذ قرار في بدايته
  38. تجاهل الصفقات التي لم تنفذ
  39. فتح مراكز بلا سقف إجمالي
  40. تشغيل الكود من جهاز غير مستقر
  41. وضع المفاتيح داخل الكود
  42. الاعتقاد أن الأتمتة تلغي المراقبة
  43. قائمة جاهزية قبل التنفيذ الحي
  44. الكود هو آخر ترجمة للفكرة
  45. أسئلة شائعة

«اشترِ عند كسر المقاومة» جملة مفهومة لإنسان وغير قابلة للتنفيذ آليًا. أي مقاومة؟ وما تعريف الكسر: تجاوز السعر أم إغلاق الشمعة؟ وعلى أي إطار زمني؟ تحويل الاستراتيجية إلى كود يكشف الغموض الذي كان مستورًا في الصياغة اللفظية، وهذه فائدته الأولى قبل الأتمتة نفسها. يمشي المقال بفكرة واحدة بسيطة من جملة عربية إلى شروط محددة قابلة للاختبار، ويبيّن أين تنكسر الأفكار عادةً في هذا الطريق.

التداول الخوارزمي (Algorithmic Trading) هو استخدام قواعد قابلة للحساب لتوليد قرارات التداول أو تنفيذها أو كليهما. قد تكون الخوارزمية شرطين بسيطين يعملان مرة يوميًا، وقد تكون منظومة سريعة تراقب عدة أسواق. التعقيد ليس دليل جودة. كثير من الأخطاء الخطرة تبدأ حين يغطي الكود المتطور على فرضية غير واضحة.

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

ما الذي يفعله نظام التداول الخوارزمي؟

يمكن تقسيم النظام إلى 5 وظائف. لا يلزم أن تكون كلها آلية منذ اليوم الأول:

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

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

لا يعني المستوى الأعلى أنه أفضل. إذا كانت الاستراتيجية تعتمد على حدث نادر يحتاج تفسيرًا نوعيًا، فقد يناسبها تنبيه منضبط أكثر من تنفيذ أعمى.

حاسبة حجم المركز

القاعدة الأولى في إدارة المخاطر: حدّد كم تقبل أن تخسر، ودَع الحجم يُحسب منها.

حجم المركز (وحدات)
20,000
قيمة المركز
$22,000
مبلغ المخاطرة
$100
بلوت الفوركس القياسي
≈ 0.2

الفكرة تحت التفكيك

ابدأ من الجملة الأصلية واسأل عن كل كلمة فيها:

الكلمةالسؤالقرار قابل للبرمجة
المقاومةأي مستوى بالضبط؟أعلى قمة خلال 20 شمعة
كسرتجاوز أم إغلاق؟إغلاق الشمعة فوق المستوى
اشترِبأي أمر ومتى؟أمر سوق عند فتح الشمعة التالية
الخروجلم تُذكر أصلًاوقف تحت أدنى قاع خلال 10 شموع

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

ما زالت المواصفات تحتاج قرارات أخرى. هل تشمل «أعلى قمة خلال 20 شمعة» الشمعة الحالية؟ ماذا يحدث إذا فتح السعر بفجوة فوق المستوى؟ هل نشتري مرة أخرى بينما المركز مفتوح؟ ما الحد الأقصى لعدد المراكز؟ وماذا نفعل إن كان وقف 10 شموع بعيدًا جدًا؟

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

نسخة أولية كاملة من القاعدة

يمكن صياغة الفكرة هكذا:

السوق: أسهم سائلة محددة مسبقًا
الإطار: يومي
المقاومة: أعلى سعر خلال 20 شمعة مكتملة سابقة
الدخول: عند افتتاح الشمعة التالية إذا أغلق السعر فوق المقاومة
الفلتر: لا يوجد مركز مفتوح على السهم نفسه
الوقف الأولي: أدنى سعر خلال 10 شموع مكتملة سابقة
المخاطرة: 0.4% من الرصيد الجاري
الخروج بالربح: عند 2R
الخروج الزمني: بعد 15 شمعة إذا لم يصل السعر إلى الوقف أو الهدف
إلغاء الصفقة: إذا تجاوزت مسافة الوقف 6% من سعر الدخول

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

من المواصفات إلى منطق شبه برمجي

قبل اختيار لغة، اكتب تسلسلًا يوضح متى تقرأ البيانات ومتى ترسل القرار:

عند اكتمال كل شمعة يومية:
احسب أعلى قمة في الشموع الـ20 السابقة
احسب أدنى قاع في الشموع الـ10 السابقة
إذا كان الإغلاق الحالي أعلى من مقاومة الـ20 السابقة:
وإذا لم يوجد مركز مفتوح:
حدد دخولًا عند افتتاح الشمعة التالية
احسب المسافة من الدخول المتوقع إلى الوقف
إذا كانت المسافة موجبة ولا تتجاوز 6%:
احسب الحجم من مخاطرة 0.4%
جهز أمر الدخول والوقف والهدف

لاحظ أن المقاومة تحسب من الشموع السابقة، لا من نافذة تضم الشمعة التي تحاول اختراقها. إذا ضممت الحالية، قد يصبح الشرط مستحيلًا أو يختلف معناه، بحسب طريقة الحساب.

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

أين تنكسر الأفكار

الشرط الذي لا يمكن قياسه. «حين يكون السوق قويًا» ليس شرطًا. إما أن تحوّله إلى قياس (السعر فوق متوسط متحرك لمئتي شمعة مثلًا) أو تحذفه. الشروط التي تقاوم التحويل إلى رقم هي غالبًا تقديرات شخصية تختلف من يوم لآخر، وهي بالضبط ما يجعل النتائج غير قابلة للتكرار.

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

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

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

خطأ التوقيت داخل الشمعة

إذا لمست شمعة واحدة الوقف والهدف، لا تعرف البيانات اليومية أيهما حدث أولًا. اختيار الهدف دائمًا يرفع الأداء، واختيار الوقف دائمًا محافظ لكنه قد يقلله. الحل استخدام بيانات أدق أو قاعدة تنفيذ معلنة، ثم اختبار حساسية النتيجة.

تجاهل الأصول التي اختفت

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

عدم تعديل البيانات بصورة مناسبة

تؤثر الانقسامات والتوزيعات والعقود المستمرة في الأسعار. قد يظهر انقسام سهم كهبوط 50% في بيانات غير معدلة، فيولد إشارة وهمية. نوع التعديل يعتمد على السؤال، لذلك لا تستخدم ملفًا لمجرد أنه طويل.

مثال رقمي على أثر التعريف

القاعدة نفسها بتعريفين مختلفين للكسر، على العينة نفسها:

كسر = تجاوز السعر للمستوى داخل الشمعة
عدد الصفقات = 214 التوقع = 0.04R
كسر = إغلاق الشمعة فوق المستوى
عدد الصفقات = 96 التوقع = 0.31R

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

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

احسب كذلك مقدار الفرق بعد إزالة أفضل الصفقات. توقع 0.31R قد يعتمد على 3 فجوات صاعدة لا يستطيع أمر السوق التقاطها بالسعر المفترض. افتح تلك الصفقات يدويًا وتحقق من البيانات والتوقيت.

اختر بيانات تناسب القرار

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

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

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

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

ابنِ الاختبار قبل بناء الروبوت

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

ابدأ بنظام بسيط يملك مركزًا واحدًا. بعد التحقق، أضف تعدد الأصول والتعرض المتزامن. التعقيد المبكر يخفي الأخطاء: قد يستخدم كل أصل رأس المال كاملًا، فيظهر الاختبار 10 مراكز لا يستطيع الحساب تمويلها.

أدخل على الأقل:

  • عمولة التداول.
  • فرق الشراء والبيع أو تقديرًا له.
  • انزلاقًا يتناسب مع الأداة والحجم.
  • تأخير الإشارة إلى وقت تنفيذ ممكن.
  • قيود الحجم والحد الأدنى للعقد.
  • الفجوات عبر الوقف.
  • عدم تنفيذ أمر الحد إذا لم يتداول السعر عنده بكمية كافية.

فصل التدريب عن التحقق

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

لا تختَر نافذة 20 شمعة لأنها أعطت أعلى عائد بين 2 و200 ثم تعتبرها حقيقة. افحص منطقة من القيم. إذا عملت 18 و20 و22 بصورة متقاربة، تبدو الفكرة أقل حساسية من نظام يعمل عند 20 فقط وينهار عند 19.

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

سجل عدد المحاولات. نتيجة ممتازة بعد 300 تجربة مختلفة تحمل احتمال مصادفة أعلى من نتيجة مقبولة لفكرة اختبرت مرة أو مرتين بناء على منطق سابق.

لا تختصر التقييم في صافي الربح

قد ينتهي اختباران عند الربح نفسه ويختلفان جذريًا في المخاطرة وقابلية التنفيذ. التقرير المفيد يعرض كيف وصل النظام، لا أين انتهى فقط.

ابدأ بالتوقع الرياضي بوحدة R:

التوقع = (معدل الربح × متوسط الربح) - (معدل الخسارة × متوسط الخسارة)

إذا ربح النظام 42% من الصفقات بمتوسط 1.8R، وخسر 58% بمتوسط 0.9R:

التوقع = (0.42 × 1.8R) - (0.58 × 0.9R)
التوقع = 0.756R - 0.522R = 0.234R لكل صفقة

النتيجة موجبة في العينة، لكنها لا تخبرك بتسلسل الخسائر أو اعتماد الأرباح على صفقات قليلة. أضف المقاييس التالية:

المقياسالسؤال الذي يجيب عنه
عدد الصفقاتهل العينة كافية لتقدير أولي؟
معدل الربحكم مرة تنجح الإشارة؟
متوسط الربح والخسارةهل أحجام النتائج تدعم المعدل؟
التوقعما متوسط النتيجة لكل صفقة؟
أكبر تراجعما الهبوط الذي ظهر في المسار؟
مدة التعافيكم بقي النظام تحت قمته؟
أطول سلسلة خسائرما الضغط السلوكي والمالي؟
حصة أفضل الصفقاتهل الربح مركز في حالات نادرة؟
معدل الدورانكم تستهلك التكاليف؟
التعرض الأقصىكم مركزًا وعاملًا اجتمعا؟

أكبر تراجع تاريخي ليس سقفًا للمستقبل. أعد ترتيب الصفقات أو استخدم محاكاة مناسبة لرؤية مسارات أخرى، واختبر تكاليف أعلى وخسارة فجوة. إذا اختفى التوقع بعد زيادة طفيفة في الانزلاق، فالنظام حساس للتنفيذ.

افحص التوزيع حسب الظروف

قسّم النتائج بحسب اتجاه السوق والتقلب والجلسة والأداة. قد يأتي الربح كله من سوق صاعد، بينما يستهلك النظام المال في النطاقات. التقسيم لا يهدف إلى حذف الفترات السيئة بعد رؤيتها، بل إلى فهم آلية الفكرة.

إذا قررت إضافة مرشح نظام سوق، عرّفه واختبره على بيانات أخرى. لا تكتب شرطًا يستبعد كل خسارة تاريخية واحدة تلو الأخرى.

قارن الخطة بالتنفيذ

أنشئ 3 أعمدة للنتيجة:

قارن متوسط الانزلاق ونسبة الأوامر المرفوضة ووقت الاستجابة وعدد الإشارات المفقودة. إذا حقق الاختبار 0.20R لكل صفقة والتجريبي 0.08R، فلا تفسر الفرق بالحظ مباشرة. قد تكون فرضية التنفيذ متفائلة.

حاسبة الربح والخسارة

ماذا لو خرجت عند هذا السعر؟ النتيجة بالدولار وبنسبة من قيمة المركز.

+80$

▲ 0.73٪ من قيمة المركز

بنية مشروع صغير يمكن صيانته

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

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

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

اجعل الإعدادات خارج المنطق

ضع نافذة 20 والوقف 10 والمخاطرة 0.4% في إعدادات واضحة، مع نسخة وتاريخ. لا تغيرها أثناء التشغيل من دون تسجيل. يجب أن يعرف التقرير أي نسخة صنعت كل صفقة.

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

الوقت جزء من البيانات

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

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

قابلية إعادة الاختبار

احتفظ بنسخة البيانات أو معرفها، ونسخة الكود، والإعدادات، والتكاليف، وتاريخ التشغيل. إذا لم تستطع إعادة التقرير نفسه، لا تستطيع معرفة أثر تعديل لاحق.

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

اختبر ما يحدث عند تغير السوق

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

حدد نطاقات متوقعة لمعدل الإشارات والانزلاق ومعدل الربح والتراجع، مع هامش طبيعي. إذا كان النظام يولد 15 إشارة شهريًا ثم انخفض إلى 2 من دون تفسير، قد تكون البيانات أو القاعدة أو السوق تغيرت.

تجنب إيقاف النظام لمجرد 3 خسائر إذا كانت السلسلة طبيعية في الاختبار. وفي المقابل، لا تتمسك به لأن «الماضي يثبت نجاحه» عندما يتغير التنفيذ بوضوح. اجمع دليلًا: هل وصل السعر متأخرًا؟ هل اتسع الفارق؟ هل تغير توزيع العوائد؟

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

حاسبة الهامش والرافعة

الرافعة لا تُكبّر الأرباح فحسب، تُكبّر الخسائر بالمقدار نفسه. اعرف هامشك وحدّه.

الأداة:
الهامش المطلوب
$100
نسبة الهامش
1٪

عند رافعة 1:100، تحرّكُ السعر ضدك بنسبة 1٪ يستهلك هامشك بالكامل.

مثال عملي: من الإشارة إلى حجم الصفقة

لنفترض أن النظام يعمل على أسهم سائلة خلال الجلسة الرسمية. أغلق سهم عند 42.58 دولار فوق أعلى قمة في 20 جلسة، وفتح اليوم التالي عند 42.65. أدنى قاع خلال 10 جلسات 41.92، فيكون الوقف هناك. رصيد الحساب 25,000 دولار، ومخاطرة الصفقة 0.4%.

المبلغ المعرض للمخاطرة = 25,000 × 0.4% = 100 دولار
المخاطرة لكل سهم = 42.65 - 41.92 = 0.73 دولار
الحجم النظري = 100 ÷ 0.73 = 136.98 سهم
الحجم بعد التقريب إلى أسفل = 136 سهمًا
المخاطرة السعرية = 136 × 0.73 = 99.28 دولار

إذا كان الهدف 2R، تكون المسافة 1.46 دولار والسعر النظري 44.11 دولار:

الهدف = 42.65 + (0.73 × 2) = 44.11 دولار

لكن النظام يحتاج إلى طرح العمولة وتقدير الانزلاق. إذا نفذ الدخول عند 42.69 والوقف عند 41.88 بسبب فجوة أو حركة سريعة، تصبح الخسارة 0.81 دولار للسهم، أي 110.16 دولارات على 136 سهمًا. تجاوزت المخاطرة المخططة.

يستطيع الكود حساب الحجم بعد معرفة سعر التنفيذ الفعلي، أو استخدام أمر يحدد أسوأ سعر، أو ترك هامش. لكل خيار تكلفة: التأخير قد يفوت الصفقة، وأمر الحد قد لا ينفذ، والهامش يقلل الحجم.

ماذا يحدث إذا كانت مسافة الوقف واسعة؟

إذا فتح السهم عند 45.20 وبقي الوقف 41.92، تصبح المسافة 3.28 دولارات أو نحو 7.3% من الدخول. قاعدة المثال تلغي الصفقة عندما تتجاوز المسافة 6%. لا يطارد النظام الفجوة بحجم صغير فقط، لأن منطق الكسر والعائد المحتمل تغير.

هذه قاعدة تحتاج اختبارًا. قد يكون الأفضل في استراتيجية أخرى تعديل الوقف أو انتظار إعادة اختبار. المهم أن القرار مكتوب قبل رؤية النتيجة.

منطق الحالة أهم من شرط الدخول

النظام الحي لا يعمل على جدول نظيف. قد ينقطع الاتصال بعد إرسال الأمر وقبل وصول التأكيد. قد ينفذ نصف الحجم. وقد يعاد تشغيل البرنامج وهو يملك مركزًا قائمًا.

يحتاج النظام إلى حالات واضحة:

الحالةالسؤال
لا مركزهل توجد إشارة جديدة؟
أمر دخول معلقهل ألغي أم ما زال صالحًا؟
تنفيذ جزئيما الحجم المتبقي وكيف يوضع الوقف؟
مركز مفتوحهل الوقف والهدف موجودان؟
خروج معلقماذا لو لم ينفذ كاملًا؟
اتصال مفقودهل توقف إرسال أوامر جديدة؟

المبتدئ يكتب شرط «إذا اخترق فاشترِ» وينسى أن الحلقة تعمل كل ثانية، فترسل عشرات الأوامر ما دام الشرط صحيحًا. يجب أن يمنع النظام تكرار الإشارة، ويتحقق من الأوامر والمراكز الفعلية لدى جهة التنفيذ، لا من ذاكرته فقط.

إدارة الأوامر والتنفيذ

أمر السوق يعطي أولوية للتنفيذ لا للسعر. أمر الحد يعطي حدًا للسعر لا ضمانًا للتنفيذ. وأمر الوقف يتحول حسب مواصفات السوق إلى نوع أمر عند بلوغ مستوى، وقد ينفذ بانزلاق.

حدد في المواصفات:

  • نوع الأمر.
  • مدة صلاحيته.
  • التعامل مع التنفيذ الجزئي.
  • حد الانزلاق المقبول.
  • ما يحدث عند الرفض.
  • ترتيب وضع الوقف والهدف.
  • سلوك النظام عند إغلاق السوق.

في أسواق تعمل بجلسات، قد تُرفض أوامر خارج الوقت أو تنتقل إلى اليوم التالي. وفي أسواق 24 ساعة، توجد صيانة وسيولة متغيرة. تحقق من ساعات الأداة لا ساعات واجهة البرمجة وحدها.

لا تسجل أن الأمر «نُفذ» عند إرساله. انتظر تأكيد التنفيذ واحفظ السعر والكمية والمعرف. السجل الصحيح يفرق بين قرار النظام وطلب الأمر ونتيجة السوق.

المخاطر التي يجب أن توقف النظام

أضف قاطعًا يمنع أوامر جديدة عندما تتجاوز حالة محددة، مثل:

  • خسارة يومية شخصية.
  • عدد أخطاء متتالية في البيانات أو الاتصال.
  • فرق سعري أعلى من حد منطقي.
  • انحراف كبير بين السعر المتوقع والمنفذ.
  • مركز لدى الوسيط لا يطابق سجل النظام.
  • بيانات قديمة أو مفقودة.
  • حجم محسوب يساوي صفرًا أو يتجاوز السقف.

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

ضع أيضًا حدًا للتعرض الإجمالي. إذا أعطت الخوارزمية 8 إشارات على أسهم مترابطة، لا تعامل كل واحدة كأنها مستقلة. يمكن تحديد سقف للقطاع أو العامل أو مجموع المخاطرة المفتوحة.

التداول التجريبي خطوة لا يمكن حذفها

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

قارن كل أمر تجريبي بما كان الاختبار سيفعله. إذا اختلفا، حدد السبب. قد تكون البيانات الحية تعدل الشمعة، أو يستخدم الاختبار توقيتًا آخر، أو توجد فجوة في حدث السوق.

المحاكاة لا تعيد ضغط القرار الحقيقي ولا تضمن جودة التنفيذ. بعد التحقق، قد يختار المتداول تشغيلًا حيًا بحجم صغير يستطيع خسارته، مع رقابة لصيقة. هذا قرار مخاطرة، لا خطوة تلقائية.

حاسبة قيمة النقطة

كم يساوي تحرّك نقطة واحدة في حسابك؟ الأساس الذي تُبنى عليه كل حسابات المخاطرة.

قيمة النقطة لمركزك

النقطة: 0.0001 لمعظم الأزواج، و0.01 لأزواج الين. القيم بالدولار الأمريكي.

اختبارات الكود قبل السوق

لا تحتاج إلى بنية شركات كبيرة، لكنك تحتاج اختبارات للحالات الحساسة.

اختبار الوحدة

اختبر كل دالة على مدخلات معروفة. إذا كانت أعلى قمة 20 شمعة تساوي 50.25، يجب أن تعيد الدالة هذا الرقم. اختبر القيم المفقودة وعدد شموع أقل من المطلوب.

اختبار التكامل

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

إعادة تشغيل أحداث تاريخية

مرر يومًا معروفًا خطوة بخطوة، وراجع سجل القرارات. لا تكتف بالنتيجة النهائية. يجب أن تعرف لماذا دخل ومتى خرج.

حالات الفشل

اقطع الاتصال، وأرسل بيانات قديمة، واجعل الأمر يرفض، وحاكي تنفيذًا جزئيًا. النظام الذي يعمل فقط في الحالة المثالية غير جاهز.

سجل يمكن تدقيقه

لكل قرار، احفظ الوقت ومصدر البيانات والقيم المحسوبة والشرط والنتيجة. سجل الأوامر المرسلة والردود والتنفيذ الفعلي والأخطاء. تجنب حفظ المفاتيح والبيانات السرية داخل سجل مكشوف.

مثال سجل مفهوم:

الوقت: 2026-09-16 16:05:00 UTC
الأداة: XYZ
إغلاق الشمعة: 42.58
مقاومة 20: 42.51
الإشارة: اختراق مؤكد
سعر الدخول المتوقع: افتتاح الجلسة التالية
الحالة: انتظار الافتتاح

في اليوم التالي، يضيف النظام سعر الافتتاح والوقف والحجم ومعرف الأمر. هذا السجل يجعل الفرق بين خطأ الفكرة وخطأ الكود وخطأ التنفيذ قابلًا للتشخيص.

أين يستخدم التعلم الآلي؟

لا يحتاج المبتدئ إلى التعلم الآلي لبناء نظام خوارزمي. قاعدة واضحة قابلة للاختبار تعلمه البيانات والتنفيذ والمخاطر. النموذج المعقد يضيف خطر تسرب البيانات والإفراط في الملاءمة وصعوبة تفسير القرار.

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

قد يتنبأ النموذج باحتمال أو عائد، لكن طبقة المخاطر والتنفيذ تظل ضرورية. إشارة ذات دقة 60% تستطيع خسارة المال إذا كانت الخسائر أكبر من الأرباح أو التكاليف مرتفعة.

الخطوة العملية الأولى

لا تبدأ بالكود. اكتب استراتيجيتك على ورقة بصيغة «إذا تحقق كذا وكذا، افعل كذا»، حتى لا يبقى فيها كلمة تحتاج تفسيرًا. إن عجزت عن كتابتها بهذا الشكل، فالمشكلة في الاستراتيجية لا في البرمجة. وحين تكتمل الورقة، تصير الترجمة إلى أي لغة برمجة مسألة تنفيذ.

استخدم هذا القالب:

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

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

أخطاء شائعة لدى المبتدئ

تحسين النتيجة قبل التحقق من الصحة

يغير المتداول النوافذ والمرشحات بحثًا عن عائد أعلى قبل التأكد من توقيت الإشارة والتنفيذ. افحص صحة كل صفقة عينة أولًا.

استخدام بيانات اليوم كاملة لاتخاذ قرار في بدايته

يظهر الخطأ في الحجم اليومي والإغلاق والأعلى والأدنى. استخدم فقط ما كان معروفًا لحظة الأمر.

تجاهل الصفقات التي لم تنفذ

يلمس السعر أمر الحد في البيانات ولا يعني أن الكمية كلها نُفذت. ضع افتراضًا محافظًا واختبر الحساسية.

فتح مراكز بلا سقف إجمالي

تحسب كل إشارة 0.5% من الحساب، ثم تفتح 10 إشارات في يوم واحد. أصبح التعرض 5% قبل الترابط. أضف مدير محفظة لا مدير صفقة فقط.

تشغيل الكود من جهاز غير مستقر

النوم وإعادة التشغيل وانقطاع الشبكة قد يوقف إدارة الصفقة. استخدم بيئة تشغيل مناسبة ومراقبة، أو أبق التنفيذ يدويًا.

وضع المفاتيح داخل الكود

تسرب الملف أو رفعه إلى مستودع يعرّض الحساب. استخدم إدارة أسرار وصلاحيات محدودة، ولا تمنح مفتاحًا قدرة سحب إذا لم يحتجها النظام.

الاعتقاد أن الأتمتة تلغي المراقبة

السوق والواجهات والرموز ومواصفات العقود تتغير. راقب البيانات والأوامر والانحراف عن الاختبار، وحدد متى توقف النظام.

قائمة جاهزية قبل التنفيذ الحي

إذا كانت إجابة واحدة غير واضحة، فهذا عمل متبق قبل المال الحقيقي، لا تفصيل يمكن تأجيله.

الكود هو آخر ترجمة للفكرة

يبدأ التداول الخوارزمي الجيد من جملة يمكن تفكيكها، لا من مكتبة برمجية. عندما تحدد المقاومة والكسر والتوقيت والخروج والحجم، تحصل على استراتيجية يمكن نقدها واختبارها. وقد تكتشف عندها أن الفكرة لا تملك أفضلية، وهذا نجاح للعملية لا فشل لها.

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

الآلة لا تعرف أن السوق «يبدو غريبًا» إلا إذا عرفت الغرابة رقمًا. ولا تعرف أن الحساب معرض للخطر إلا إذا كتبت حدود الخطر. كل ما لم تحدده سيتركه النظام للمصادفة أو لقرار خفي في الكود. لهذا تكون أفضل خطوة أولى ورقة واضحة، قبل أول سطر.

أسئلة شائعة

هل يعني هذا أنني بحاجة إلى تعلّم البرمجة؟

لتشغيل النظام آليًا نعم، ولو بلغة نصية بسيطة على منصة رسم. لكن الفائدة الأكبر هنا لا تحتاج برمجة أصلًا: التفكيك إلى شروط قابلة للقياس يحسّن التداول اليدوي بنفس القدر.

هل النظام الآلي أفضل من اليدوي؟

ليس بالضرورة. الآلي يلغي التردد وينفّذ القاعدة كما هي، ويلغي أيضًا قدرتك على ملاحظة ظرف استثنائي. المقارنة الصحيحة ليست بين آلي ويدوي، بل بين قاعدة واضحة وقاعدة غامضة.

ما أفضل لغة لبدء التداول الخوارزمي؟

اختر لغة تدعمها بيئة بياناتك وتنفيذك وتستطيع اختبارها وصيانتها. اللغات العامة مناسبة للتحليل والبنية، ولغات المنصات تسهل النماذج الأولية. وضوح القاعدة وجودة الاختبار أهم من اسم اللغة.

هل أحتاج إلى خادم يعمل طوال الوقت؟

إذا كان النظام يراقب السوق أو يدير أوامر خارج ساعات وجودك، يحتاج بيئة مستقرة تعمل عند الحاجة. نظام يومي يولد تنبيهًا بعد الإغلاق قد يعمل بجدول أبسط.

كم صفقة أحتاج في الاختبار؟

لا يوجد رقم سحري. عينة أقل من 30 ضعيفة جدًا، و100 إلى 300 تعطي تقديرًا أوليًا إذا غطت ظروفًا مختلفة. الاستراتيجية قليلة الصفقات تحتاج سنوات وربما أسواقًا متعددة مع الحفاظ على استقلال الفكرة.

لماذا تختلف نتائج الاختبار عن التداول التجريبي؟

قد تختلف البيانات والتوقيت والفروق والانزلاق، أو يكون الاختبار استخدم سعرًا غير متاح. قارن القرارات صفقة بصفقة بدل مقارنة العائد النهائي فقط.

هل يمكن للنظام العمل من دون وقف خسارة؟

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

متى أوقف الخوارزمية؟

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

تعلّم التداول بمنهج واضح، لا بالتخمين.

أنشئ حسابك مجانًا، واحفظ تقدّمك، واجمع النقاط والأوسمة بينما تتدرّج في المنهج خطوة بخطوة.