تبدو الفكرة سهلة: إطار أعلى للاتجاه وإطار أدنى للدخول. الصعوبة المخفية هي الوقت. عند حدث في الإطار الأدنى قد تكون شمعة الإطار الأعلى مفتوحة، أو التاريخ غير جاهز، أو كل تأكيد يعود إلى لقطة مختلفة.
هناك أحد عشر سجلاً مكتملاً في الأرشيف صُنّفت بوضوح كأعمال multi-timeframe. شملت فلاتر اتجاه وهيكل fractal واتفاق مؤشرات وإطارات مخصصة وإدارة صفقات وقرارات من ثلاث طبقات. الدرس المشترك هو الحاجة إلى ساعة واحدة وتعريف واحد للمعلومة الصالحة.
كيف يتخذ الـEA قراراً واحداً؟
ينتظر الـEA اللحظة المتفق عليها، ثم يقرأ الشموع المختارة معاً، ويطبق القواعد بالترتيب، ويتخذ قراراً واحداً مسجلاً.
- 01اختيار وقت البدايةانتظار الحدث المتفق عليه، مثل بداية شمعة جديدة في الإطار الأدنى.
- 02اختيار الشموعاستخدام الشمعة الحالية أو المغلقة المتفق عليها من كل إطار وفق سياسة وقت واحدة.
- 03القراءة معاًتكوين صورة واحدة بدلاً من خلط قيم جاءت من لحظات مختلفة.
- 04تطبيق القواعد بالترتيبفحص الاتجاه والـsetup والـtrigger والمنع والانتهاء وفق ترتيب محدد.
- 05قرار واحدقبول الفعل أو رفضه مرة واحدة، ثم تسجيل المدخلات ونتيجة الوسيط.
أعط كل إطار دوراً
يمكن للإطار الأعلى أن يحدد النظام أو الاتجاه أو الهيكل أو المستوى، والمتوسط أن يحدد setup، والأدنى أن يعطي trigger. تبدأ المشاكل عندما تكون الأدوار ضمنية أو يتجاوز الأدنى قرار الأعلى من دون قاعدة مكتوبة.
يجب تحديد دور وصلاحية كل طبقة. الفلتر يسمح أو يمنع، والtrigger يحدد التوقيت لكنه لا يعيد تعريف اتجاه السوق إلا إذا كان ذلك جزءاً صريحاً من المنهج.
ثبت سياسة الشمعة
Bar 0 هي الشمعة المفتوحة وBar 1 عادة آخر شمعة مكتملة، لكن يلزم الحذر بعد تحميل التاريخ أو عند حدود الجلسة. قراءة يومي من حدث ساعي تعني أن القيمة اليومية قد تثبت ساعات أو تتغير طوال اليوم إذا استُخدمت Bar 0.
سياسة الشموع المغلقة تسهل إعادة الإنتاج. ويمكن استخدام intrabar، لكن يجب أن يحكم الاختبار والـEA والرسم اللاحق على السياسة نفسها.
ابنِ لقطة واحدة
قراءة الشروط بالتتابع من دون snapshot قد تخلق اختلافاً خفياً؛ قد تصل tick جديدة أو يعاد حساب مؤشر بين قراءتين. الأفضل اختيار حدث القرار والتحقق من البيانات وقراءة كل قيمة مرة وتخزين وقت الشمعة.
بهذا يصبح السجل مفيداً ويظهر إن كان الفلتر اليومي والsetup الساعي والtrigger الأدنى قد انتموا إلى أوقات مختلفة أو وصل الأخير بعد انتهاء setup.
حدد الذاكرة والانتهاء
بعض الأنظمة تشترط تزامن كل الشروط، وأخرى تسمح ببقاء setup الأعلى جاهزاً حتى وصول trigger لاحق. كلاهما ممكن، لكنهما ينتجان صفقات مختلفة.
إذا استمرت الحالة، يجب تحديد عمرها الأقصى وإعادة الضبط والإلغاء. كما يجب بيان هل شمعة أعلى جديدة تحدث setup أم تلغيه أم تنشئ فرصة جديدة.
اختبر الحدود الزمنية
يجب التركيز على أول tick من شمعة جديدة، وrollover اليومي، وافتتاح السوق، وتغيير التوقيت الصيفي، وفجوة نهاية الأسبوع، ونقص التاريخ، وإعادة التشغيل. هذه النقاط قد تخفي قراراً حياً مختلفاً خلف رسم نظيف.
الدليل الجيد يسجل أوقات المصادر ويتأكد من قرار واحد لكل حدث. الغاية ليست إثبات ربحية التسلسل، بل إثبات أن الكود يقيّمه بالطريقة نفسها كل مرة.
- حدد دوراً وصلاحية ثابتين لكل إطار.
- حدد bar index والمنطقة الزمنية وحدث التحديث وجاهزية البيانات.
- اقرأ snapshot متزامنة وسجل وقت مصدر كل شرط.
- حدد عمر التأكيد وتحديثه وإعادة ضبطه وإلغاءه.
- اختبر حدود الشموع والجلسات وإعادة التشغيل ونقص التاريخ.
أسئلة قد تخطر لك
هل زيادة الأطر تجعل EA أكثر أماناً؟
ليس تلقائياً. قد تضيف سياقاً، لكنها تضيف أيضاً تأخيراً وتعارضاً واحتمال overfitting. يجب أن يكون لكل إطار عمل واضح.
هل يجب أن تستخدم كل الأطر شموعاً مغلقة؟
ليس بالضرورة. المهم سياسة صريحة وثابتة تتكرر في التطوير والباك تست والتشغيل الحي.
لماذا نسجل وقت الشمعة مع كل شرط؟
لإثبات المعلومات المتاحة لحظة القرار وتشخيص أخطاء المزامنة بسرعة.