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

دفاتر البحث

تتيح لك دفاتر البحث تحليل بيانات السوق التاريخية باستخدام Rust وAQE مع إبقاء العمل بجانب استراتيجيتك. لكل دفتر خلاياه ومخرجاته وإعدادات بياناته وجلسة Rust محلية معزولة خاصة به.

دفتر بحث في AQS يتضمن سؤالًا بحثيًا بصيغة Markdown وخلايا Rust وجدول شموع BTCUSD وعناصر التحكم في جلسة البحث.دفتر بحث في AQS يتضمن سؤالًا بحثيًا بصيغة Markdown وخلايا Rust وجدول شموع BTCUSD وعناصر التحكم في جلسة البحث.
احتفظ بملاحظات البحث وشيفرة Rust ومخرجات الجداول المحفوظة في دفتر واحد بجانب استراتيجيتك.
  1. افتح Research واختر مشروع استراتيجية حديثًا. افتح المشروع من Projects أولًا إذا لم يكن مدرجًا.
  2. أدخل عنوانًا وحدد New notebook. يمكنك إنشاء عدة دفاتر للاستراتيجية نفسها.
  3. أضف خلايا Rust أو Markdown. سمِّ الخلايا باستخدام حقل العنوان؛ واستخدم قائمة الخلية لنقلها أو حذفها.
  4. حدد Save لحفظ التعديلات. عند تشغيل خلية، يُحفَظ الدفتر قبل التنفيذ وتُحفَظ مخرجات الخلية بعده.

تُخزَّن الدفاتر بصيغة research/*.ipynb في مجلد الاستراتيجية. توجد اللقطات التاريخية في research/data/، وسجلات تشغيل كل خلية في research/runs/. تتضمن سجلات التشغيل الشيفرة المنفّذة ونسخة الدفتر وإعدادات البيانات وبصمات اللقطات والنتائج. لا تُحفَظ بيانات اعتماد مصدر البيانات في الدفتر.

يحافظ تبديل التبويبات على المسودات غير المحفوظة ما دام AQS مفتوحًا. ويتطلب Reload from disk تأكيدًا قبل التخلص من المسودة وإعادة ضبط جلستها.

تحميل البيانات التاريخية

Section titled “تحميل البيانات التاريخية”

اختر Data feed محفوظًا، لا وسيط تنفيذ. تستخدم الاتصالات المخصصة اسم عرضها مع المزوّد بين قوسين. اضبط الاتصالات في مصادر البيانات.

أدخل الرموز كما يعتمدها المزوّد بالضبط، وإطارًا زمنيًا في AQE مثل 1m أو 5m أو 1h، وتاريخ ووقت البداية والنهاية. يستخدم حقلا اختيار التاريخ توقيت UTC، بصرف النظر عن المنطقة الزمنية لجهازك. تُضمَّن لحظة البداية في النطاق، وتُستبعَد لحظة النهاية، ويجب ألا تكون النهاية في المستقبل.

حدد Load data into Rust قبل استخدام bars أو data أو دوال مخرجات AQS المساعدة. يترجم التحميل الأول AQE وPolars وقد يستغرق عدة دقائق. يصبح كل رمز إطار بيانات Polars في data؛ وتكون bars نسخة عمل من الرمز الأول:

data.summary()?;
let mut btc = data.bars("BTCUSD")?;
aqs_table(&btc, 10)?;
aqs_chart(&btc).candles()
.pane("Volume", |p| p.histogram("volume"))
.show()?;

استخدم الرمز المحمّل فعلًا، مثل BTC-USD في Yahoo بدلًا من BTCUSD لدى وسيط MT5. يجب أن يتضمن سجل CSV الرمز والإطار الزمني الدقيقَين؛ ولا يستبدل الدفتر إطارًا زمنيًا قريبًا. يؤدي التدفق المفقود أو الفارغ إلى خطأ تحميل.

استخدم data.symbols() لسرد الرموز المحمّلة، أو حدد رمزًا ضمن Loaded symbols واختر Add symbol analysis cell. يدرج ذلك خلية دون تشغيلها. تدعم دوال المخططات المساعدة الطبقات المتراكبة ولوحات المؤشرات المنفصلة والتوزيعات والمقارنات المطبّعة بين الرموز.

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

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

استخدم زر التشغيل لتشغيل خلية واحدة، أو Run all لتنفيذ خلايا الشيفرة بترتيب المستند. تعرض كل خلية عدد مرات تنفيذها وحالتها والوقت المنقضي. يشمل الوقت الترجمة والتقييم لذلك التشغيل؛ وليس اختبار أداء متكررًا أو مقياسًا لمعدل معالجة الاستراتيجية.

تظهر الأخطاء في الخلية المتأثرة. يتوقف Run all عند أخطاء الترجمة أو التشغيل أو حالات الانهيار panic أو رسائل stderr التي تحتاج إلى مراجعة. كما أن كتابة تحذيرات عمدًا إلى stderr توقف التنفيذ التلقائي.

ينهي Stop / reset جلسة الدفتر ويمسح متغيراتها. تبقى المخرجات الموجودة مع وسم يفيد بأنها لم تعد محدّثة. أعِد تحميل البيانات وتشغيل الخلايا المعتمدة عليها بعد إعادة الضبط. ويؤدي تعديل الشيفرة أو نقل الخلايا أيضًا إلى وسم المخرجات المتأثرة بأنها غير محدّثة؛ لكنه لا يلغي تلقائيًا المتغيرات التي أُنشئت بالفعل في الجلسة.

دفتر بحث في AQS يعرض شيفرة مؤشرات بلغة Rust ومخطط شموع BTCUSD مع متوسطات متحركة أسية ولوحتين لحجم التداول وATR.دفتر بحث في AQS يعرض شيفرة مؤشرات بلغة Rust ومخطط شموع BTCUSD مع متوسطات متحركة أسية ولوحتين لحجم التداول وATR.
احسب مؤشرات AQE وافحص الخطوط المتراكبة على الأسعار ولوحتي حجم التداول وATR أسفل خلية Rust. أعد تشغيل الخلايا التي تحمل مخرجاتها وسم Stale قبل الاعتماد عليها.

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

Section titled “الاعتماديات والتكامل مع الاستراتيجية”

تدعم خلايا Rust تصريحات اعتماديات Evcxr:

:dep chrono = "0.4.45"
use chrono::Utc;
Utc::now()

احتفظ بالتصريحات المخصصة في خلية إعداد محفوظة وأعِد تشغيلها بعد إعادة الضبط. تستخدم الاعتماديات المترجمة ذاكرة مؤقتة دائمة خاصة بكل دفتر؛ ولا تستمر متغيرات Rust بعد إعادة الضبط.

في Strategy code & backtests، اختر Load research tools لإتاحة مكونات الاستراتيجية المرتبطة عبر project::، إلى جانب دوال الاختبار التاريخي المساعدة. تُستخدم العناصر العامة المصدَّرة من مكتبة موجودة مباشرةً. أما مشاريع AQS التي لا تتضمن سوى برنامج تنفيذي، فيتيح لها مهايئ ضمن research/imports/ الوحدات من src/main.rs وملفات .alpha.rs و.pipe.rs و.indicator.rs و.logic.rs و.universe.rs غير المرتبطة بالرسم البياني، دون تعديل الملفات الأصلية.

تصبح اعتماديات المشروع المعتادة متاحة للخلايا. وتُحَل مسارات الاعتماديات النسبية واعتماديات مساحة العمل الموروثة؛ ويبدأ مترجم الدفتر من Cargo.lock الخاص بالمشروع. يضيف البحث اعتماديات مساعدة خاصة به، لذلك لا يعني ذلك ضمان ملف قفل مطابق بالبايت. تظل الاعتماديات الاختيارية بحاجة إلى ميزات Cargo ذات الصلة. وينبغي للمشاريع التنفيذية فقط التي تستخدم برنامج بناء مخصصًا إتاحة مكتبة src/lib.rs أولًا.

يؤدي تحميل استيرادات جديدة أو متغيرة إلى إعادة ضبط متغيرات Rust واستعادة شموع اللقطات المحمّلة بالفعل ووسم المخرجات المحفوظة بأنها متقادمة. يعيد النقر مرة أخرى مع استيرادات مشروع غير متغيرة استخدام الجلسة قيد التشغيل دون ترجمة أو مسح المتغيرات. تتطلب تغييرات مصدر المشروع أو الرسم البياني أو ملف تعريف المشروع أو ملف القفل المحفوظة تحميل الأدوات مرة أخرى. لتغييرات اعتماديات المسارات الخارجية، استخدم Stop/reset ثم Load research tools. وتظل الخلايا والدوال والبنى المخصصة وتصريحات :dep الإضافية مدعومة.

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

يعيدك Open strategy graph إلى المشروع المرتبط. لا يتوفر Python أو التنفيذ البعيد في هذا الإصدار.

مشاركة البحث في ورقة بحثية على AQI

Section titled “مشاركة البحث في ورقة بحثية على AQI”

يربط قسم AQI paper في لوحة جلسة البحث الدفاتر المحلية بـAQ Insights. سجّل الدخول، ثم اختر:

  • Use notebook as paper لفتح محرر أوراق AQI الكامل في مسودة محلية جديدة ومنفصلة، بكتلة مكوّن لكل خلية محددة. لا يرفع ذلك شيئًا أو ينشره ولا يستبدل ورقة أخرى غير محفوظة.
  • Attach to a paper لاختيار إحدى مسوداتك الخاصة وفتح محررها مع إلحاق كتل خلايا الدفتر. يُحفَظ محتوى الورقة الموجود وتعديلات المحرر غير المحفوظة. وتُستبعَد الأوراق المنشورة من هذا الاختصار.

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

تحتفظ كل خلية بشيفرتها ومخرجاتها معًا. مرّر المؤشر فوق خلية لإظهار أيقونات Move up وMove down وAdd text before وAdd text after وRemove block في رأسها. توضّح تلميحات الأدوات وظيفة كل أيقونة. وتظهر عناصر التحكم أيضًا عند الانتقال إليها بلوحة المفاتيح، وتبقى ظاهرة على الأجهزة اللمسية. إذا كان الدفتر مضمنًا كاملًا بالصيغة القديمة، فاستخدم Split into cells. لا تعدّل هذه الإجراءات الدفتر المصدر. ويمكن للقراء في AQS اقتباس مقطع داخل خلية بدلًا من تحديد المحتوى المضمّن كله.

تحافظ كتل الدفاتر على حدود الخلايا وMarkdown وشيفرة Rust وعينات الجداول والمخططات متعددة اللوحات ومخططات التشتت والتوزيعات والنتائج النصية. يتضمن اختصار Research جميع الخلايا المدعومة ذات المخرجات المحفوظة المؤهلة؛ واستخدم أداة الاختيار في المحرر لتحديد مجموعة أضيق. تُستبعَد المخرجات غير المحدّثة أو الفاشلة أو غير المتحقق منها وسجلات التنفيذ، مع عرض تحذيرات في الكتلة. تتحول صور Markdown إلى أوصاف، ويُعامَل محتوى HTML في الدفتر كنص. يستطيع القراء الاطلاع على النتائج المحفوظة دون تثبيت Rust أو تشغيل الدفتر.

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

حدد مربع التأكيد على مراجعة المشاركة في محرر الورقة، ثم اختر Save Draft لرفعها كمسودة خاصة أو Publish لنشرها صراحةً. يُلغى تحديد مربع المراجعة عند تغيير محتوى الورقة. بمجرد حفظ الورقة، يسجّل AQS رابطها في البيانات الوصفية للدفتر المصدر إذا كان متاحًا. يبقى الدفتر الأصلي بجانب الاستراتيجية في research/، ولا تُنفَّذ أي خلايا أثناء التصدير أو القراءة.

هذه لقطات تُنشأ باختيار صريح، وليست مزامنة مباشرة أو مرفقات دفاتر قابلة للتنفيذ. لا تغيّر تعديلات الدفتر اللاحقة الورقة. أضف كتلة دفتر أخرى للحصول على لقطة جديدة، أو حدد كتلة واضغط Delete لإزالتها من الورقة. تكون محتويات الدفتر داخل الكتلة للقراءة فقط، بينما يظل نص الورقة المحيط بها قابلًا للتحرير. المخططات نتائج محفوظة ثابتة ومستقلة بذاتها، والجداول معاينات لا تتجاوز 100 صف و50 عمودًا. تقتصر كل لقطة على 100 خلية محددة و2 MiB؛ وللأوراق التي تتضمن كتل دفاتر حد مشاركة 2 MiB أيضًا.

تبقى المسودات المحلية في الذاكرة عند تبديل التبويبات لكنها لا تصبح دائمة حتى تُحفَظ. إذا أبلغ حفظ سحابي عن نتيجة غير مؤكدة، فافحص My Papers قبل إعادة المحاولة لتجنب لقطات مكررة. إذا فشل فقط حفظ رابط الدفتر المحلي، فالورقة محفوظة بالفعل؛ استخدم Save في الدفتر، ولا تصدّر مرة أخرى.

السلامة واستكشاف المشكلات

Section titled “السلامة واستكشاف المشكلات”

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

إذا كانت bars غير موجودة، فحمّل البيانات التاريخية بنجاح أولًا. ويمكن أيضًا تثبيت الدوال المساعدة باستخدام Load research tools دون الاتصال بمصدر بيانات. إذا لم تتوفر بيئة تشغيل Rust، فاتبع رسالة سلسلة الأدوات الظاهرة في الخلية. وتتطلب حالة panic إعادة ضبط الجلسة.

راجع مخططات البحث والدوال المساعدة لدوال المخرجات، ومخططات AQS لمساحة عمل مخططات السوق المنفصلة.