الاختبارات التاريخية والتشغيل المباشر
اختيار وسيط ومصدر بيانات
Section titled “اختيار وسيط ومصدر بيانات”يوفّر AQE الوصول إلى وسطاء التنفيذ ومزوّدي بيانات السوق عبر UnifiedBroker.
من التركيبات الشائعة:
PaperBroker+YahooFinanceDataFeedللاختبارات التاريخية المحلية.PaperBroker+Mt5DataFeedلاستخدام شموع MT5 مع محاكاة تنفيذ الأوامر في الاختبار التاريخي.Mt5Broker+Mt5DataFeedللتنفيذ المباشر عبر MetaTrader 5.
let execution = PaperBroker::new(AccountType::Paper, 100_000.0, 1);let data = YahooFinanceDataFeed::new();let broker = UnifiedBroker::new_backtest(execution, data);للإعداد الخاص بكل وسيط، راجع الوسطاء ومصادر البيانات.
التشغيل في وضع الاختبار التاريخي
Section titled “التشغيل في وضع الاختبار التاريخي”يتبع مشغّل الاختبار التاريخي التنفيذ الحالي لـStrategyState::run_backtest:
// 1. strategy.on_start(ctx)// 2. load_universe() -> strategy.universe() -> broker.get_ticker_info()// 3. alpha.start() per alpha// 4. load_init() -> OnInit lifecycle logic -> strategy.init per asset// 5. alpha.init(asset) per alpha per asset// 6. broker.load_backtest_data()// 7. loop: broker step -> on_bar() -> optional insight generation -> run_insight_pipeline()// 8. strategy.on_teardown(ctx)// 9. return BacktestResultsتحفظ عمليات التشغيل المُولَّدة ملفات النتائج على القرص ضمن:
backtests/<run_id>/backtest.db
يكتب AQE ملف SQLite الذي يتضمن سجلات التداول، والصفقات المكتملة من الفتح إلى الإغلاق، وسجل الحساب، والإشارات التداولية، والشموع. يمكنك فحص هذه النتائج في AlgoQuant Studio عبر Backtest Results، أو باستخدام أي قارئ SQLite.
التشغيل المباشر
Section titled “التشغيل المباشر”يستخدم الوضع المباشر بنية الاستراتيجية والتشغيل نفسها، لكنه يشترك في البيانات المباشرة وتحديثات التداول.
يمكنك تشغيل AQE في الوضع المباشر:
- مع AQS، بتمرير بيانات المصادقة وتمكين المزامنة المباشرة
- دون AQS، بتشغيل
run_live(None)
if let Err(e) = state.run_live(auth).await { eprintln!("Live execution failed: {:?}", e); std::process::exit(1);}عند توفير بيانات المصادقة، يكتب AQE الحالة المباشرة في جداول ضمن نطاق AQS، مثل:
insightsstrategy_accountsstrategy_equity_pointsstrategy_live_metricsstrategy_events
عند عدم توفير بيانات المصادقة، يظل بإمكان AQE العمل محليًا في الوضع المباشر دون المزامنة مع AQS.
واجهة الطرفية
Section titled “واجهة الطرفية”عندما يُبنَى AQE مع ميزتَي runtime وtui وتكون العملية متصلة بطرفية تفاعلية، تفتح عمليات الاختبار التاريخي والتشغيل المباشر واجهة Ratatui تلقائيًا. تعكس واجهة الطرفية المقاييس والإشارات التداولية النشطة ومتغيرات الاستراتيجية ومسارات المتغيرات المراقبة وحالة مزامنة AQS وأحداث التشغيل.
استخدم --no-tui لعرض السجلات في وحدة التحكم النصية:
cargo run --features runtime,tui --release -- --no-tuiاقرأ واجهة الطرفية للتعرّف على تخطيط اللوحات وعناصر التحكم وسلوك إيقاف التشغيل المباشر.
نستخدم ملفات تعريف الارتباط والتخزين الضروريين لتسجيل الدخول وحماية الحساب وحفظ تفضيلات المظهر وهذا الإشعار، ولجمع مقاييس PostHog الداخلية اللازمة لقياس الاستخدام وجودة الجلسات والموثوقية. لا نستخدم ملفات تعريف ارتباط إعلانية.
