دورة حياة الاستراتيجية
تتمحور بنية AQE حول دورة حياة الاستراتيجية:
on_startuniverseiniton_bargenerate_insightsinsight_pipelineon_teardown
pub trait Strategy { fn name(&self) -> &str { "Base Strategy" }
fn on_start(&mut self, ctx: &mut dyn StrategyContext); fn init(&mut self, ctx: &mut dyn StrategyContext, asset: &Asset); fn universe(&self, ctx: &mut dyn StrategyContext) -> HashSet<String>; fn on_bar(&mut self, ctx: &mut dyn StrategyContext, symbol: &str, bar: &BarData); fn generate_insights(&mut self, ctx: &mut dyn StrategyContext, symbol: &str); fn insight_pipeline(&mut self, ctx: &mut dyn StrategyContext, insight: &Insight); fn on_teardown(&mut self, ctx: &mut dyn StrategyContext);}وظيفة كل نقطة استدعاء
Section titled “وظيفة كل نقطة استدعاء”استخدم on_start لتسجيل إعدادات التشغيل المشتركة:
- المؤشرات
- نماذج ألفا
- مراحل المعالجة
- إعدادات المخاطر
- شموع التهيئة
تعيد universe() رموز الأدوات التي تتداولها الاستراتيجية. يستخدم AQE هذه الرموز لتحميل البيانات الوصفية لـAsset من منظومة البيانات والوسيط المختارة.
تُشغَّل init() مرة واحدة لكل أصل بعد تحميل نطاق الأصول. استخدمها لتهيئة المتغيرات وحالة المؤشرات الخاصة بكل رمز، أو لإجراء إعدادات تراعي خصائص الأصل.
تُستدعى on_bar() كلما وصلت شمعة جديدة لرمز ما. هنا تحدّث الحالة على مستوى الاستراتيجية باستخدام أحدث بيانات السوق.
بعد on_bar()، يستدعي AQE الدالة generate_insights(). هنا تنشئ إشارات تداولية جديدة وتضيفها إلى بيئة التشغيل.
بعد معالجة الشموع، يشغّل AQE مسار معالجة الإشارات التداولية. ويمكن لمراحله تحديد حجم الإشارات التداولية أو التحقق منها أو إرسالها أو رفضها أو إلغاؤها أو إغلاقها استنادًا إلى حالتها الحالية.
استخدم on_teardown() للتنظيف النهائي وإعداد الملخصات.
للاطلاع على وحدات قابلة لإعادة الاستخدام لبدء التشغيل والتهيئة والإنهاء واختيار نطاق الأصول، راجع مكونات دورة الحياة.
نستخدم ملفات تعريف الارتباط والتخزين الضروريين لتسجيل الدخول وحماية الحساب وحفظ تفضيلات المظهر وهذا الإشعار، ولجمع مقاييس PostHog الداخلية اللازمة لقياس الاستخدام وجودة الجلسات والموثوقية. لا نستخدم ملفات تعريف ارتباط إعلانية.
