تخطَّ إلى المحتوى

مسارات معالجة الإشارات التداولية

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

إنشاء سلسلة خاصة بكل حالة

Section titled “إنشاء سلسلة خاصة بكل حالة”

حالات المحرك الحالية هي New وExecuted وFilled وClosed وCancelled وRejected. انتهاء الصلاحية سبب لنتيجة، وليس حالة Expired منفصلة.

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

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

واجهة مرحلة معالجة مخصصة

Section titled “واجهة مرحلة معالجة مخصصة”
pub trait InsightPipe {
fn version(&self) -> &str;
fn run(
&mut self,
ctx: &mut dyn StrategyContext,
insight: &mut Insight,
) -> InsightPipeResult;
}

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

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

عندما ترسل مرحلة مخصصة إشارة تداولية، حوّل نتيجة التعديل باستخدام الدالة المساعدة المتاحة:

InsightPipeResult::from_mutation(insight.submit(ctx), self.name())

لمرحلة الخروج، استخدم:

InsightPipeResult::from_exit_mutation(insight.close(ctx), self.name())

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

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

المكوّنالغرض
MarketOrderEntryPipeاشتقاق نية الدخول بسعر السوق من سجل الشموع المتاح.
InsightTtlConfigPipeضبط مدة بقاء الإشارة التداولية نشطة، سواء قبل تنفيذ أمرها أو بعده.
MinimumRiskToRewardPipeالتحقق من المخاطرة والعائد المقترحَين.
InsightSubmitPipeالتحقق من سعة شجرة الأوامر المعلقة وطلب الإرسال.
BasicStopLossPipeطلب الخروج عند تفعيل الحماية.
BasicTakeProfitPipeإدارة عمليات الخروج لجني الأرباح كليًا أو جزئيًا.

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

تميّز أدوات تحديد الحجم الحالية بين الحجم الأقصى للأمر الفردي، والتعرض الإجمالي للرمز، وحد الأوامر المعلقة للحساب. قد تُقسَّم الأوامر كبيرة الحجم إلى أجزاء تنفيذية؛ وهذه الأجزاء ليست مستويات منطقية إضافية للشراء التدريجي DCA.

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

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