Binance Square
Polius2007
7 منشورات

Polius2007

I build XTester Studio and CopyTrader. Sharing strategy research, product development and lessons from building tools for crypto traders.
مُتداول عرضي
8.6 سنوات
2 تتابع
10 المتابعون
6 إعجاب
منشورات
PINNED
·
--
أنا أبني برمجيات لمتداولي العملات المشفرة: XTester Studio لأبحاث الاستراتيجيات والاختبار بالعودة (backtesting)، وCopyTrader للمتداولين الذين يريدون تقديم نسخ التداول إلى جمهورهم الخاص. هنا سأشارك ما أعمل عليه، والتجارب التي أجريها خلف ذلك، وقرارات المنتج التي أتخذها على الطريق. ويشمل ذلك كيفية اختبار فكرة استراتيجية، وما الذي يمكن أن يخبرك به الاختبار بالعودة، والعمل العملي لبناء خدمة نسخ التداول. إذا كنت تبحث عن استراتيجيات أو تدير مجتمعًا تداوليًا، أود أن أعرف ما الذي يأخذ معظم الوقت في سير عملك. مشروعاتي: https://easytrading.pw #Backtesting #CopyTrading
أنا أبني برمجيات لمتداولي العملات المشفرة: XTester Studio لأبحاث الاستراتيجيات والاختبار بالعودة (backtesting)، وCopyTrader للمتداولين الذين يريدون تقديم نسخ التداول إلى جمهورهم الخاص.

هنا سأشارك ما أعمل عليه، والتجارب التي أجريها خلف ذلك، وقرارات المنتج التي أتخذها على الطريق. ويشمل ذلك كيفية اختبار فكرة استراتيجية، وما الذي يمكن أن يخبرك به الاختبار بالعودة، والعمل العملي لبناء خدمة نسخ التداول.

إذا كنت تبحث عن استراتيجيات أو تدير مجتمعًا تداوليًا، أود أن أعرف ما الذي يأخذ معظم الوقت في سير عملك.

مشروعاتي: https://easytrading.pw

#Backtesting #CopyTrading
يمكن لشاشتي تداول عرض نفس معدل التمويل ومع ذلك تتركك بفواتير مختلفة جدًا. بالنسبة للعقود الدائمة، فإن التمويل هو دفعة دورية بين المتداولين الذين يتخذون مراكز متقابلة في السوق. تأتي النسبة المئوية مع ساعة. تنص وثائق Bybit صراحةً على أن الفاصل يختلف بين العقود. خذ مثالًا بسيطًا: مركز بقيمة 10,000 دولار يدفع 0.01% عند كل تسوية. هذا يعني 1 دولار لكل دفعة. على مدار يوم كامل، يعني فاصل الثماني ساعات ثلاث دفعات، أي 3 دولارات. أما الفاصل كل ساعة فيعني 24 دفعة، أي 24 دولارًا. يفترض هذا أن قيمة المركز ومعدل التمويل يظلان كما هما وأنك تحتفظ به عند كل تسوية. هذا مجرد توضيح وليس تنبؤًا. أرغب في أن يكون الفاصل بجانب النسبة المئوية عند مقارنة الأسواق. قد تبدو النسبة أقل لكنها قد تكلف أكثر خلال مدة نيتي الاحتفاظ بالصفقة. مقارنة المعدلات وحدها تترك عدد الدفعات خارج الحسابات.
يمكن لشاشتي تداول عرض نفس معدل التمويل ومع ذلك تتركك بفواتير مختلفة جدًا.

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

خذ مثالًا بسيطًا: مركز بقيمة 10,000 دولار يدفع 0.01% عند كل تسوية. هذا يعني 1 دولار لكل دفعة. على مدار يوم كامل، يعني فاصل الثماني ساعات ثلاث دفعات، أي 3 دولارات. أما الفاصل كل ساعة فيعني 24 دفعة، أي 24 دولارًا. يفترض هذا أن قيمة المركز ومعدل التمويل يظلان كما هما وأنك تحتفظ به عند كل تسوية. هذا مجرد توضيح وليس تنبؤًا.

أرغب في أن يكون الفاصل بجانب النسبة المئوية عند مقارنة الأسواق. قد تبدو النسبة أقل لكنها قد تكلف أكثر خلال مدة نيتي الاحتفاظ بالصفقة. مقارنة المعدلات وحدها تترك عدد الدفعات خارج الحسابات.
يمكن لسوق فوري يحمل اسم USDC أن يتيح لك التداول باستخدام USD أيضًا. يهم هذا التمييز إذا كانت بوتك تستخدم أسواق OKX الفورية المتأثرة بعملة USD. يقول تحديث OKX بتاريخ 30 سبتمبر إن تلك الأسواق قد انتقلت إلى الأسماء المقابلة لـ USDC. لن تتم إعادة توجيه الأسماء القديمة. غيّر فقط اسم السوق في البوت، ومع ذلك، فإن الطلب الذي يترك العملة غير محددة سيتحول الآن افتراضيًا إلى USDC. يمكن ما زال طلب USD بشكل صريح عندما يدعم السوق ذلك. كنتُ سأتحقق من عملة الطلب بشكل منفصل عن اسم السوق قبل إعادة التشغيل. الأسعار التي ستصل من جديد لن تجيب عن هذا السؤال: هل طلب الطلب التالي USD، أم أنه عاد بهدوء إلى USDC؟
يمكن لسوق فوري يحمل اسم USDC أن يتيح لك التداول باستخدام USD أيضًا. يهم هذا التمييز إذا كانت بوتك تستخدم أسواق OKX الفورية المتأثرة بعملة USD.

يقول تحديث OKX بتاريخ 30 سبتمبر إن تلك الأسواق قد انتقلت إلى الأسماء المقابلة لـ USDC. لن تتم إعادة توجيه الأسماء القديمة. غيّر فقط اسم السوق في البوت، ومع ذلك، فإن الطلب الذي يترك العملة غير محددة سيتحول الآن افتراضيًا إلى USDC.

يمكن ما زال طلب USD بشكل صريح عندما يدعم السوق ذلك.

كنتُ سأتحقق من عملة الطلب بشكل منفصل عن اسم السوق قبل إعادة التشغيل. الأسعار التي ستصل من جديد لن تجيب عن هذا السؤال: هل طلب الطلب التالي USD، أم أنه عاد بهدوء إلى USDC؟
طلبت أن يظل زر الإيقاف معطّلًا حتى يتخذ المتداول قرارًا. ظهر ذلك أثناء العمل على كيفية توقف روبوتات التداول في XTester Studio. إن إيقاف البرنامج يطرح سؤالًا آخر: ماذا يجب أن يحدث للأوامر والمركز الذي يمتلكه بالفعل في البورصة؟ أردت أن يُجاب عن ذلك بشكل صريح، دون تحديد أي خيار مسبقًا. كما أن حذف روبوت يتطلب قرارًا منفصلًا بشأن أوامره ومركزه. إن إزالته من قائمة لا يجيب أيضًا عن أي من السؤالين. كانت هناك تفصيلة واحدة أردت تثبيتها: إذا اختار المتداول ترك كل شيء في مكانه، فيجب ألا يرسل كود إيقاف الإستراتيجية أوامر جديدة أثناء خروجه. وإلا فقد يغيّر البرنامج الأشياء التي طلب المتداول تركها كما هي. تم دمج نافذة الإيقاف وهذا القيد واختبارهما. ما زالت عملية قبول التداول المباشر معلّقة. يبدو زر موسوم بالإيقاف بسيطًا. لكن تحديد ما الذي يوقفه بدقة تطلّب عملًا أكبر.
طلبت أن يظل زر الإيقاف معطّلًا حتى يتخذ المتداول قرارًا.

ظهر ذلك أثناء العمل على كيفية توقف روبوتات التداول في XTester Studio. إن إيقاف البرنامج يطرح سؤالًا آخر: ماذا يجب أن يحدث للأوامر والمركز الذي يمتلكه بالفعل في البورصة؟

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

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

تم دمج نافذة الإيقاف وهذا القيد واختبارهما. ما زالت عملية قبول التداول المباشر معلّقة.

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

أثناء العمل على XTester Studio، كانت الشمعة السنوية تُظهر بالفعل أعلى مستوى وإغلاق السنة كاملَين. كان مخطط الأشهر يبدو جيدًا، ما جعل الأمر يستحق التحقيق.

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

تم فتح مخطط الأشهر بعد بدء عملية إعادة العرض. يفسّر هذا الاختلاف الصغير في توقيت فتح المخطط سبب اختلاف مظهرهما.

تم دمج الإصلاح واختبارات عدم الانحدار. ما زال التحقق من السلوك في بناء جديد قيد التشغيل ضمن القائمة.

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

علّقت أنثروبيك حسابي بينما كنت نائمًا

كنت نائمًا عندما وصلت رسالة التعليق. أنا مستخدم يدفع مقابل كلود، ولدي مشروعات في الحساب. كما أن هذه المشروعات تُخزَّن محليًا أيضًا، لذا فهذه ليست قصة عن فقدان كل عملي. لكن تم سحب إمكانية الوصول إلى كلود.
قالت الرسالة الإلكترونية إن شركة أنثروبيك رصدت إشارات مشبوهة، وبعد تحقيق داخلي، خلصت إلى أن حسابي قد انتهك سياسة الاستخدام الخاصة بها. لم تحدد النشاطَ المحدد الذي يقف وراء ذلك القرار.
هذا يتركني مع استنتاج دون تفسير ملموس. لقد قدمت طعنًا وتلقيت تأكيدًا بأنه تم استلامه. هذا التأكيد ليس قرارًا بشأن الطعن.
غيّر عامل تصفية الإدخال، ثم غيّر قاعدة الخروج. يبدو الاختبار الخلفي الثاني أفضل. أي تغيير يستحق الفضل؟ هذه إحدى المشكلات التي أعمل عليها في XTester Studio. يجب أن يظل الناتج مرتبطًا بالإصدار الذي أنتجه وبالسؤال/الاختبار الذي كان قيد الفحص. وإلا فستبدأ التجربة التالية بالاعتماد على التخمين. إليك كيف سأُجري هذا النوع من المقارنة: اجعل الاستراتيجية الأصلية خط أساس، اختبر عامل تصفية الإدخال وحده، ثم اختبر قاعدة الخروج انطلاقًا من نفس خط الأساس. حافظ على الفترة التاريخية وافتراضات تكاليف التداول كما هي. يمكن أن يكون الجمع بين التغييرات تجربة منفصلة. هناك تعقيد آخر أقل وضوحًا في هذا العمل: يمكن أن يتغيّر المحاكي أيضًا. لقد صحّحت إحدى الإصلاحات الحديثة في Studio الانزلاق (slippage) في أوامر السوق التي تُنفَّذ عند حدود الدقيقة. إذا كان اختبار أقدم قد استخدم هذا السلوك، فأعد تشغيل خط الأساس قبل مقارنته بإصدار استراتيجية جديد. قد ينتج عن ذلك اختلاف بسبب نموذج التنفيذ. قبل اعتماد قاعدة جديدة، أود الإجابة عن سؤال واحد: هل غيّرت الاستراتيجية، أو ظروف الاختبار، أو كليهما؟
غيّر عامل تصفية الإدخال، ثم غيّر قاعدة الخروج. يبدو الاختبار الخلفي الثاني أفضل. أي تغيير يستحق الفضل؟

هذه إحدى المشكلات التي أعمل عليها في XTester Studio. يجب أن يظل الناتج مرتبطًا بالإصدار الذي أنتجه وبالسؤال/الاختبار الذي كان قيد الفحص. وإلا فستبدأ التجربة التالية بالاعتماد على التخمين.

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

هناك تعقيد آخر أقل وضوحًا في هذا العمل: يمكن أن يتغيّر المحاكي أيضًا. لقد صحّحت إحدى الإصلاحات الحديثة في Studio الانزلاق (slippage) في أوامر السوق التي تُنفَّذ عند حدود الدقيقة. إذا كان اختبار أقدم قد استخدم هذا السلوك، فأعد تشغيل خط الأساس قبل مقارنته بإصدار استراتيجية جديد. قد ينتج عن ذلك اختلاف بسبب نموذج التنفيذ.

قبل اعتماد قاعدة جديدة، أود الإجابة عن سؤال واحد: هل غيّرت الاستراتيجية، أو ظروف الاختبار، أو كليهما؟
سجّل الدخول لاستكشاف المزيد من المُحتوى
انضم إلى مُستخدمي العملات الرقمية حول العالم على Binance Square
⚡️ احصل على أحدث المعلومات المفيدة عن العملات الرقمية.
💬 موثوقة من قبل أكبر منصّة لتداول العملات الرقمية في العالم.
👍 اكتشف الرؤى الحقيقية من صنّاع المُحتوى الموثوقين.
البريد الإلكتروني / رقم الهاتف
خريطة الموقع
تفضيلات ملفات تعريف الارتباط
شروط وأحكام المنصّة