PaperBroker والتنفيذ التجريبي
يمثّل PaperBroker محاكي التنفيذ في AQE من أجل:
- الاختبارات التاريخية
- التداول التجريبي
- التحقق من سلوك دورة حياة الإشارات التداولية
وهو يتولى:
- إرسال الأوامر
- تنفيذ الأوامر
- عمليات الإلغاء
- طلبات الإغلاق
- أوامر الحماية التابعة لأمر الدخول
- تنفيذ الوقف المتحرك
- إصدار أحداث التداول
- حالة الحساب وحقوق الملكية
وهو مسؤول أيضًا عن منع حالات الحساب التجريبي غير الصالحة، مثل الأوامر التي تتجاوز القوة الشرائية المتاحة.
YahooFinanceDataFeed
Section titled “YahooFinanceDataFeed”يوفّر YahooFinanceDataFeed:
- البيانات الوصفية للرموز
- الشموع التاريخية
- أحدث عروض الأسعار
- أحدث الشموع
- الاشتراك في تدفق الشموع المباشر
وهو مسار بيانات السوق الافتراضي المستخدم للبحث التاريخي وسير عمل التشغيل الموجّه للتداول التجريبي.
نموذج رسوم الأصول
Section titled “نموذج رسوم الأصول”يمثّل AQE رسوم الأصول بصورة منفصلة عن إجمالي ربح الصفقة وخسارتها. يتضمن Asset.fees:
commission.entry.longوcommission.entry.shortلفتح مراكز الشراء والبيع على المكشوفcommission.exit.longوcommission.exit.shortلإغلاق مراكز الشراء والبيع على المكشوفswap.longوswap.shortلتكاليف التمويل أو المبالغ الدائنة الناتجة عن تبييت مراكز الشراء والبيع على المكشوف
يشير الشراء والبيع على المكشوف هنا إلى اتجاه المركز، لا إلى اتجاه الأمر الآني فحسب. تُطبَّق عمولة فتح مركز شراء على أمر الشراء الذي ينشئ تعرّضًا، وعمولة فتح مركز بيع على المكشوف على أمر البيع الذي ينشئ تعرّضًا. وعند إغلاق المركز، يطبّق AQE عمولة الإغلاق ورسوم التبييت بحسب اتجاه المركز الأصلي؛ لذلك تمثّل commission.exit.short عمولة إغلاق مركز بيع على المكشوف، رغم أن إغلاقه يتم بأمر شراء.
تستخدم العمولة ورسوم التبييت تعداد أنواع الرسوم العام نفسه، AssetFee. أنواع الرسوم المتاحة هي:
AssetFee::NoneAssetFee::Points(points)، المستخدم لحساب رسوم التبييت القائمة على النقاطAssetFee::PercentageFee(rate)، حيث تعني0.001نسبة 0.1% من القيمة الاسمية المتداولةAssetFee::FixedFee(amount)، مبلغ ثابت لكل عملية تنفيذAssetFee::PerContractFee(amount)، مضروبًا في الكمية المتداولةAssetFee::PercentagePerContractFee(rate)، ويُطبَّق وفقprice * contract_size * quantity * rate
تقبل حسابات العمولة قيمًا موجبة من PercentageFee وFixedFee وPerContractFee وPercentagePerContractFee. يوجد Points في التعداد المشترك لأن رسوم التبييت تحتاج إليه؛ وإذا استُخدم في حقل عمولة، يعامله AQE كصفر.
يمكن أن تكون قيم رسوم التبييت موجبة أو سالبة. ترفع القيمة الموجبة نتيجة الربح والخسارة، وتخفضها القيمة السالبة. في التنفيذ التجريبي، يحسب AQE صافي الربح والخسارة عند الإغلاق كما يلي:
gross PnL + swap - entry commission - exit commissionإعداد رسوم PaperBroker
Section titled “إعداد رسوم PaperBroker”استخدم with_asset_fees(...) عند إنشاء وسيط التنفيذ التجريبي. تستخدم الاختبارات التاريخية المُولَّدة من AQS المسار نفسه.
use aq_engine::core::broker::paper_broker::PaperBroker;use aq_engine::core::broker::types::{ AccountType, AssetCommissionFees, AssetFee, AssetFees, AssetSideFees, AssetSwapFees,};
let fees = AssetFees { commission: AssetCommissionFees { entry: AssetSideFees { long: AssetFee::PercentageFee(0.0005), short: AssetFee::PercentageFee(0.0007), }, exit: AssetSideFees { long: AssetFee::FixedFee(1.0), short: AssetFee::FixedFee(1.0), }, }, swap: AssetSwapFees { long: AssetFee::PerContractFee(-3.25), short: AssetFee::PercentagePerContractFee(0.000041), }, ..AssetFees::default()};
let execution = PaperBroker::new(AccountType::Paper, 100_000.0, 1).with_asset_fees(fees);لا يزال الحقلان القديمان entry وexit في AssetFees مقبولَين كخيار احتياطي للتوافق عندما يكون كائن العمولة الخاص باتجاه المركز فارغًا. ينبغي للإعدادات الجديدة استخدام كائنَي commission وswap.
ملفات المصدر ذات الصلة
Section titled “ملفات المصدر ذات الصلة”aq-engine/src/core/broker/paper_broker.rsaq-engine/src/core/broker/types/mod.rsaq-engine/src/core/broker/data_feeds/yahoo.rs
نستخدم ملفات تعريف الارتباط والتخزين الضروريين لتسجيل الدخول وحماية الحساب وحفظ تفضيلات المظهر وهذا الإشعار، ولجمع مقاييس PostHog الداخلية اللازمة لقياس الاستخدام وجودة الجلسات والموثوقية. لا نستخدم ملفات تعريف ارتباط إعلانية.
