وقت القراءة المقدر: 7 دقائق

يشتمل PrescienTrader على وظائف متعددة الأطر الزمنية تتكامل مع وظيفة AmiBroker القوية في التحليل والاختبار. ويشمل أيضًا نصوص AFL التي توضح كيفية استخدام وظائف التحليل. تتطلب وظائف التحليل اشتراك PrescientAPI Professional.

يوضح الفيديو التالي كيفية إعداد الاستكشاف وتشغيله. يرجى مشاهدة الفيديو ، ثم العودة إلى هذه المقالة لمتابعة البرنامج التعليمي.

ظفري

استكشاف

عندما تقوم بتشغيل استكشاف باستخدام البرنامج النصي PrescienTrader Backtesting المضمّن ، يقوم AmiBroker بمسح قائمة الأدوات المحددة والنطاق الزمني المحدد. يقوم بإنشاء صف لكل تركيبة من أداة وتاريخ. في المثال أعلاه ، نقوم فقط بتحليل أداة واحدة (CHF / JPY) للنطاق الزمني من 1 أكتوبر حتى 31 ديسمبر 2018.

البرامج النصية إخراج أعمدة الاستكشاف التالية:

  • رمز السهم
  • تاريخ / وقت
  • فتح ، عالية ، منخفضة ، إغلاق ، حجم ، مصلحة مفتوحة
  • تم الحفظ - يتم تمييز هذا العمود باللون الأصفر لأي صف باستخدام إعدادات المعلمة المحفوظة. عند حفظ المعلمات في PrescienTrader ، يتم حفظ المعلمات فقط للأداة المحددة والإطار الزمني. يتيح لك ذلك استخدام إعدادات المعلمة المخصصة لكل أداة وكل إطار زمني. عند تشغيل الاستكشاف ، سيقوم PrescienTrader تلقائيًا بتطبيق أي إعدادات معلمة مخصصة. التمييز الأصفر في العمود المحفوظ هو تذكيرك بأن الصف يستخدم الإعدادات المحفوظة ، وليس الإعدادات التي أدخلتها في نافذة المعلمات.
  • PL المنحدر - يشير هذا إلى ميل اتجاه Prescient Line. تتنبأ المنحدرات الموجبة بوجود اتجاه صعودي بينما تتنبأ المنحدرات السالبة بوجود اتجاه هبوطي.
  • نقاط FLD - مجموع FLDs لجميع الدورات الصالحة مضروبًا إما في القوة أو السعة لكل دورة ، اعتمادًا على إعداد أساس PL الخاص بك. تشير القيم الإيجابية إلى أن السوق في اتجاه صعودي دوري. تشير القيم السلبية إلى أن السوق في اتجاه هبوطي دوري.
  • تريند بار - رقم الشريط النسبي في الاتجاه الحالي المتوقع. الشريط الأول في الاتجاه هو شريط الصفر.
  • أشرطة الاتجاه - إجمالي عدد الأعمدة في الاتجاه الحالي المتوقع.
  • الاتجاه Pct - نسبة الانتهاء من الاتجاه الحالي المتوقع. على سبيل المثال ، إذا كان Trend Bar = 5 و Trend Bars = 10 ، فسيكون Trend Pct 50%. لاحظ أن Trend Pct لن يصل أبدًا إلى 100% ، لأن هذا قد يعني أن اتجاهًا جديدًا قد بدأ. عند نقطة التداخل بين الاتجاه القديم والاتجاه الجديد ، سيكون Trend Pct 0%. بالإضافة إلى العرض الرقمي ، يعرض هذا العمود أيضًا رسم بياني شريطي يتحول من الأخضر إلى الأحمر مع تقدم الاتجاه.
  • عمل - هذه هي الإشارة ، شراء / بيع / قصيرة / الغلاف ، للصف الحالي. تعتمد الإشارات الناتجة من البرامج النصية المضمنة ببساطة على اتجاه المنحدر. عندما يكون Trend Slope موجبًا ، فسوف يعرض إشارة شراء وعندما يكون اتجاه Trend Slope سالبًا ، فسيظهر إشارة قصيرة. هذا هو المقصود في غاية البساطة مثال عن كيفية البدء في بناء نظام تداول باستخدام مؤشرات PrescienTrader. لا تستخدم هذه الإشارات المثال للتداول المباشر ، حيث من المحتمل أن تخسر المال! تتمثل الفكرة في تطوير أنظمة التداول الخاصة بك باستخدام مؤشراتنا وربما مؤشرات أخرى ، ثم إعادة اختبار النظام على نطاق واسع. بمجرد أن يكون لديك نظام اختبار جيد ، يمكنك توصيل هذا النظام في عمود الإجراء لعرض إشارات التداول الخاصة بك.

Backtesting

لتشغيل اختبار backtest أو تحسين ، ابدأ بتحميل سكريبت PrescienTrader Backtesting AFL. نقترح عليك عمل نسخة من البرنامج النصي، بدلاً من تعديل النص الأصلي. تقوم وظائف التحليل لدينا بإخراج أعمدة الاستكشاف وإنشاء أيضًا مصفوفات ومصفوفات AFL تحتوي على النتائج. عند تشغيل الاختبار الخلفي أو التحسين ، ستستخدم صفائف ومصفوفات AFL التي تم إنشاؤها ، والتي تتضمن ما يلي:

  • ptStaticPL
  • ptStaticPLSlope
  • ptStaticFLDScore
  • ptStaticTrendBar
  • ptStaticTrendBars
  • ptStaticTrendPct
  • ptStaticFrequencies (مصفوفة)
  • ptStaticSlopes (مصفوفة)
  • أسعار ptStaticFLD (مصفوفة)

إذا كنت تقوم بإجراء تحليل لأطر زمنية متعددة ، فستقوم الدالات بإنشاء مجموعة منفصلة من المصفوفات والمصفوفات لكل إطار زمني. ستكون الأسماء هي نفسها المذكورة أعلاه ، باستثناء أن كل اسم سيكون له لاحقة HTPx ، حيث يمثل x مؤشر الفترة الزمنية الأعلى. على سبيل المثال ، سيتم تسمية المصفوفات والمصفوفات لأول فترة زمنية أعلى ، ptStaticPLHTP1 ، ptStaticPLSlopeHTP1 ، الخ ... المصفوفات والمصفوفات للفترة الزمنية الأعلى الثانية ستسمى ptStaticPLHTP2 ، ptStaticPLSlopeHTP2 ، الخ ...

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

المعلمات والمتغيرات المعلمة

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

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

أخيرًا ، يمكنك تجاوز معظم المعلمات عن طريق تعيين متغير AFL المقابل لكل معلمة. تشمل المتغيرات المتاحة:

  • ptPolarity (0 = موجب ، 1 = سلبي)
  • ptPLBasis (0 = السعة ، 1 = القوة)
  • ptLookbackRange
  • ptMinFrequency
  • ptMaxFrequency
  • ptHarmonicFilter
  • الثقة
  • ptBestXCycles

يحتوي كل متغير أيضًا على اختلافات أعلى في الفترة الزمنية لتحليل الأطر الزمنية المتعددة. لضبط متغير فترة زمنية أعلى ، ألحق HTP1 ، HTP2 ، HTP3 ، إلخ ... باسم المتغير. فمثلا:

  • ptMinFrequencyHTP1
  • ptMaxFrequencyHTP2
  • ptLookbackRangeHTP3
  • ptHarmonicFilterHTP2
  • ptMinConfidenceHTP1
  • ptPLBasisHTP4

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

موضوع واحد مقابل تحليل متعدد الخيوط

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

PrescienTrader البرنامج النصي Backtester - قسم خيط واحد

يسمى البرنامج النصي لتحليل المثال PrescienTrader Backtester. إذا قمت بعرض هذا النص البرمجي ، فستراه يحتوي على قسم مؤشر ترابط واحد وقسم متعدد الخيوط ، والذي يمكنك التبديل بينه باستخدام إعداد المعلمة. يحتوي قسم تحليل الخيط المفرد على سطر واحد من التعليمات البرمجية:

PTBacktest () ؛

ال PTBacktest لا تأخذ الدالة أي معلمات لأنك تقوم بتكوين جميع المعلمات في إطار المعلمات. عند تشغيله ، يقوم بإنشاء طلب واجهة برمجة التطبيقات ، وإرسال الطلب إلى PrescientAPI ، وتحليل الاستجابة ، وإخراج النتائج إلى أعمدة الاستكشاف وإنشاء صفائف AFL الموصوفة أعلاه.

لإجراء تحليل للإطار الزمني المتعدد ، ما عليك سوى استدعاء وظيفة PrescientAnalysis عدة مرات. على سبيل المثال ، إذا كنت تريد تحليل الفترة الزمنية الأساسية وفترتين زمنيتين أعلى ، فستستخدم الشفرة التالية:

PTBacktest () ؛ PTBacktest () ؛ PTBacktest () ؛

ينشئ كل مثيل للوظيفة إطارًا زمنيًا آخر في نافذة المعلمات ، لذلك في المثال أعلاه ، ستحتوي نافذة المعلمات على إعدادات للفترة الزمنية الأساسية ، HTP1 و HTP2. لا تخلط بين الخيوط المتعددة والإطار الزمني المتعدد ؛ هذان مفهومان مختلفان تمامًا. يشير تعدد الخيوط إلى إجراء أكثر من تحليل واحد في كل مرة ، مثل تحليل مجموعة من الأدوات. يشير الإطار الزمني المتعدد إلى تحليل كل أداة في أكثر من إطار زمني واحد. على سبيل المثال ، يمكنك تحليل الأطر الزمنية اليومية والأسبوعية والشهرية لـ S&P 500. في هذا المثال ، ستستفيد أيضًا من التشغيل في الوضع متعدد الخيوط ، حيث سيحلل جميع الأطر الزمنية الثلاثة في وقت واحد. ومع ذلك ، يمكنك تشغيل تحليل الأطر الزمنية المتعددة في وضع الترابط الفردي ، وفي هذه الحالة سيتم تحليل الأطر الزمنية بالتتابع.

برنامج تحليل PrescienTrader - قسم متعدد الخيوط

القسم متعدد الخيوط أكثر تعقيدًا من البرنامج النصي أحادي السلسلة ويتطلب عدة أسطر من التعليمات البرمجية:

postVars = PTBacktestPrepare () ؛
if (StrLen (postVars)> 0) {
    ih = InternetPostRequest ("https://api.prescientrading.com" ، postVars) ؛
    إذا (ط) {
        رد = "" ؛
        بينما ((line = InternetReadString (ih))! = "")
            رد + = خط ؛
        PTBacktestExecute (رد) ؛
        InternetClose (ih) ؛
    }
    آخر {
        msg = "لا توجد استجابة من API - مشكلة محتملة في المهلة أو الاتصال بالإنترنت - الانتظار 60 ثانية"؛
        _TRACE (msg) ؛
        PTLogToFile (msg) ؛
        PTWait (60) ؛
    }
}

سبب الرمز الإضافي هو أن AmiBroker لا يدعم خيوط المعالجة المتعددة في الإضافات مثل PrescienTrader. لذلك بدلاً من إجراء عملية التحليل بأكملها في وظيفة مكون إضافي ، يعالج المكون الإضافي كل شيء باستثناء طلب API ، والذي يعد الجزء الأكثر استهلاكا للوقت ، وبالتالي يحقق أكبر فائدة من التشغيل في عدة سلاسل رسائل.

دعنا نقسم هذا خطوة بخطوة ...

  1. في الخطوة الأولى ، ندعو PTBacktestPrepare وتعيين النتيجة لمتغير postVars. تستخدم هذه الوظيفة المعلمات المحددة في نافذة المعلمات لإنشاء البيانات بالتنسيق المناسب لطلب واجهة برمجة التطبيقات.
  2. في الخطوة الثانية ، نقوم بطلب API باستخدام وظائف InternetPostRequest و InternetReadString. نظرًا لأنه يتفاعل مع خادم بعيد ، فإن هذا هو أبطأ جزء في العملية وبالتالي يستفيد أكثر من التشغيل في سلاسل رسائل متعددة.
  3. في الخطوة الأخيرة ، نقوم بتشغيل PTBacktestExecute على البيانات التي يتم إرجاعها من واجهة برمجة التطبيقات. تقوم هذه الوظيفة بتحليل البيانات وإخراج النتائج إلى أعمدة الاستكشاف وإنشاء صفائف AFL الموضحة أعلاه.

كما ترى ، ليس الأمر معقدًا ، لكنه يتطلب رمزًا أكثر بكثير من أسلوب الخيط المفرد. إذا كنت تقوم بتحليل كمية كبيرة من البيانات ، فقد يكون الأسلوب متعدد الخيوط أسرع حتى 32 مرة ، اعتمادًا على عدد وحدات المعالجة المركزية (CPU) الموجودة في جهاز الكمبيوتر الخاص بك.

كما هو الحال مع نهج مؤشر ترابط واحد ، يمكنك تحليل أطر زمنية متعددة عن طريق إدراج كتلة التعليمات البرمجية أعلاه عدة مرات ، أو عن طريق التفاف كتلة التعليمات البرمجية في حلقة for.

الاقوي

التحسين هو عملية ضبط المعلمات لتحقيق أفضل النتائج لسوق أو مجموعة من الأسواق. يسمح AmiBroker بتحسين ما يصل إلى 64 معلمة في وقت واحد ، ويدعم تحسين محفظة الأوراق المالية ويتضمن ثلاثة محركات تحسين ذكية ، الأمثل سرب الجسيمات القياسية, القبائل و CMA-ES.

يدعم PrescienTrader تحسين جميع معلماته دون الحاجة إلى كتابة التعليمات البرمجية لكل معلمة. لتعيين معلمات التحسين ، اضغط باستمرار على تحول المفتاح وانقر على أيقونة شريط أدوات المعلمات. سيعرض هذا نافذة معلمات التحسين ، حيث يمكنك إدخال نطاق (من و إلى) لكل معلمة و a خطوة للمعلمات العددية. يمثل النطاق نطاق التحسين. على سبيل المثال ، لتحسين نطاق Lookback ، يمكنك تحديد شيء مثل:

مجموعة LookBack من: 5
نطاق المراجعة إلى: 10
خطوة نطاق المراجعة: 1

سيؤدي إدخال هذه المعلمات إلى تحسين نطاق Lookback بين 5 و 10 بزيادة قدرها 1 ، لذلك سيختبر قيم 5 ، 6 ، 7 ، 8 ، 9 ، 10.

تسجيل

عند إجراء تحليل ، يقوم PrescienTrader بإخراج المعلومات باستمرار إلى نافذة التتبع. يحتوي كل سطر على المعلومات التالية:

  • نوع التحليل (الاختبار الخلفي ، التحسين ، الاستكشاف ، الخ ...)
  • رمز الصك الذي يجري تحليله
  • الفترة الزمنية (يومية ، أسبوعية ، شهرية ، إلخ ...)
  • سلسلة البيانات (إغلاق ، متوسط ، إلخ ...)
  • قيمه المعامل:
    • قطبية
    • أساس PL
    • دقيقة التردد
    • ماكس التردد
    • نطاق الإرجاع
    • مرشح متناسق
    • دقيقة الثقة
    • أفضل دورات X

لكل قيمة معلمة ، فإنها تشير إلى مصدرها بين قوسين. يمكن أن يكون المصدر أحد الإجراءات التالية:

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

متغيرات AFL لها أعلى الأسبقية ، متبوعة بالقيم المحفوظة ثم القيم المحددة في نافذة المعلمات.

بالإضافة إلى نافذة التتبع ، يمكنك تمكين التسجيل إلى ملف عن طريق إدخال مسار الملف في نافذة المعلمات.

هل كان المقال مساعدا؟!
لم يعجبنى 0
الآراء: 1418
مجاني للابد
إشارات التداول اليومية
بواسطة PrescientSignals
الإشتراك
اشترك لتلقي إشارات تداول مجانية يتم تسليمها إلى صندوق بريدك الإلكتروني يوميًا
يتم تأخير الإشارات المجانية لمدة أسبوع واحد. يتيح لك ذلك تقييم خدمة PrescientSignals الخاصة بنا بدون مخاطر ، من خلال مقارنة توقعات الأسبوع السابق بالنتائج الفعلية.
مجاني للابد
إشارات التداول اليومية من قبل PrescientSignals
الإشتراك
اشترك لتلقي إشارات تداول مجانية يتم تسليمها إلى صندوق بريدك الإلكتروني يوميًا
يتم تأخير الإشارات المجانية لمدة أسبوع واحد. يتيح لك ذلك تقييم خدمة PrescientSignals الخاصة بنا بدون مخاطر ، من خلال مقارنة توقعات الأسبوع السابق بالنتائج الفعلية.