← جميع الشروحات
MT5 API · 4:46

حوّل سجل MT5 إلى تقرير.

اقرأ التنفيذات الفعلية، وافصل الإيداعات، ثم صدّر النتائج.

تنزيل مثال Python · ZIP ↓

الخطوات مكتوبة

  1. 0:00

    حوّل سجل MT5 إلى تقرير.

    يوضح هذا الدرس كيفية قراءة سجل تداول MT5، وحساب نتائج التداول المسجلة في الحساب، وتصدير تقرير واضح باستخدام Python.

  2. 0:14

    اتصل بصلاحية القراءة فقط.

    افتح mt5.mrpc.pro واختر ConnectEx. أدخل رقم الدخول وكلمة المرور وخادم الوسيط لحسابك التجريبي. استخدم TRIAL أو مفتاح API الخاص بك. اترك حقل id الاختياري فارغًا. نستخدم كلمة مرور المستثمر للوصول بصلاحية القراءة فقط. تحتفظ وحدة التحكم بمعرّف الطرفية الذي يُعاد في الاستجابة.

  3. 0:40

    تحقق من عملة الحساب.

    نفّذ AccountSummary. هذا حساب تجريبي بالدولار الأمريكي. رصيده تسعة وتسعون ألفًا وتسعمئة وتسعة وتسعون دولارًا وستة وتسعون سنتًا. استخدم عملة الحساب عند عرض الأرباح والتكاليف.

  4. 1:00

    اختر فترة انتهت بالفعل.

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

  5. 1:26

    اقرأ جميع الصفحات.

    بعد HTTP Status Code 200، افحص error أولًا. لا تتضمن استجابتنا خطأ API. عندما تكون pageSize اثنين، تتضمن الاستجابة الأولى سجلين فقط من أصل ثلاثة عشر. انسخ nextPageToken إلى pageToken، مع إبقاء المرشحات نفسها. تابع حتى تصبح nextPageToken فارغة.

  6. 1:52

    الأوامر والتنفيذات والمراكز.

    الأمر هو تعليمات تداول، والتنفيذ هو سجل تنفيذها. يعرض AllHistoryOrders سجلات الأوامر. في DealsHistory، يربط الحقل order التنفيذ برقم الأمر، بينما يجمع positionId التنفيذات المرتبطة بالمركز نفسه. هنا لدينا دخول بحجم صفر فاصلة صفر اثنين لوت، وخروجان بحجم صفر فاصلة صفر واحد لوت لكل منهما.

  7. 2:18

    احتفظ بإشارات المبالغ.

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

  8. 2:43

    افصل حركة الأموال.

    السجل الأول إيداع تجريبي بقيمة مئة ألف دولار. نوعه BALANCE ولا يرتبط بأمر أو مركز. هذا ليس ربح تداول. يفصل تقريرنا تنفيذات Buy وSell عن الأنواع الأخرى. راجع الرسوم المستقلة والائتمانات والتسويات في ملف other-deals.

  9. 3:07

    تحقق من نطاق التقرير.

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

  10. 3:33

    صدّر البيانات نفسها باستخدام Python.

    يستدعي السكربت المرفق نقطة النهاية DealsHistory نفسها، ويتابع صفحات المؤشر، ويتحقق من العدد النهائي. يستخدم حسابات عشرية ويجمع المبالغ حسب positionId. اضبط مفتاح API ومعرّف الطرفية بصورة خاصة في متغيرات البيئة. لا يفتح السكربت أي صفقة ولا يغلقها.

  11. 3:59

    افتح ملفات التقرير الثلاثة.

    شغّل السكربت مع تواريخ UTC ثابتة. ينشئ trade-deals.csv وother-deals.csv وsummary.json. جرى التحقق من عينة التصدير بمقارنتها بهذا السجل الملتقط. إذا وقع خطأ API أو كانت الصفحات ناقصة، يتوقف السكربت بدلًا من تقديم مجموع غير مكتمل.

  12. 4:25

    اقطع الاتصال عند الانتهاء.

    أخيرًا، استدعِ Disconnect في وحدة التحكم لتحرير الطرفية. أصبحت جلستنا الآن مفصولة. لقد استرجعت السجل، وفصلت حركة الأموال عن نتائج التداول، وصدّرت تقريرًا يمكنك مراجعته وإعادة استخدامه.