Tuesday 15 August 2017

استراتيجيات التداول ninjatrader


الصفحة غير موجودة عدم وجود الصفحة التي حاولت الوصول على هذا الخادم. قد لا تكون موجودة هذه الصفحة وذلك للأسباب التالية: أنت صاحب هذا الموقع وليس لديك تحميلها (أو بشكل غير صحيح تم تحميلها.) موقع الويب الخاص بك. للحصول على معلومات حول تحميل موقع الويب الخاص بك باستخدام برنامج عميل FTP أو على شبكة الإنترنت تصميم البرمجيات، انقر هنا لبروتوكول نقل الملفات تحميل معلومات. وURL التي أدخلتها في المتصفح الخاص بك هو غير صحيح. يرجى إعادة إدخال URL وحاول مرة أخرى. الرابط الذي نقرت على بشكل غير صحيح يشير إلى هذه الصفحة. يرجى الاتصال على صاحب هذا الموقع لاطلاعهم على هذا الوضع. NinjaTrader الشركاء &نسخ؛ 2015. جميع الحقوق محفوظة. شعار NinjaTrader النظام الإيكولوجي هي علامة تجارية من النظام الإيكولوجي LLC NinjaTrader. هذا الموقع هو لأغراض تعليمية وإعلامية فقط، وينبغي ألا تعتبر دعوة لشراء أو بيع العقود الآجلة أو تقديم أي نوع آخر من قرار استثماري. لا ينبغي النظر الشركات والخدمات المدرجة في هذا الموقع على توصية ويقع على عاتق القارئ لتقييم أي منتج أو خدمة أو شركة. NinjaTrader النظام الإيكولوجي LLC ليست مسؤولة عن دقة أو محتوى أي منتج أو خدمة أو شركة مرتبطة على هذا الموقع. تداول العقود الآجلة يحتوي على مخاطر كبيرة وليس لكل المستثمرين. يمكن للمستثمر المحتمل أن تفقد كل أو أكثر من الاستثمار الأولي. رأس المال المخاطر هو المال الذي يمكن أن تضيع دون الإخلال بالأمن أو حياة المالي منها الاسلوب. يجب استخدام رأس المال المخاطر الوحيد للمتاجرة وفقط أولئك مع رأس المال المخاطر يكفي أن تنظر في التداول. الأداء في الماضي ليست بالضرورة مؤشرا على النتائج المستقبلية. عرض الإفصاح عن المخاطر كامل. قوانين CFTC 4.41 - نتائج الأداء الافتراضية أو محاكاة لها بعض القيود، على عكس سجل الأداء الفعلي، نتائج المحاكاة لا تمثل التداول الفعلي. أيضا، طالما أنه لم يتم تنفيذ الصفقات، قد يكون النتائج في إطار أو الإفراط في التعويض عن الأثر، إن وجدت، لعوامل السوق معينة، مثل نقص السيولة. برامج التداول محاكاة بشكل عام تخضع لحقيقة أنها مصممة مع الاستفادة من تجاربنا السابقة أيضا. وتبذل أي تمثيل من شأنها أن أي حساب أو من المرجح أن يحقق أرباحا أو خسائر مماثلة لتلك التي تظهر. Adaptrade البرامج الإخبارية المادة NinjaScript لاستراتيجية التجار مايكل R. براينت لقد كنت حريصة على توفير وNinjaTrader وسهل حصوي؛ NinjaScript وسهل حصوي؛ الإخراج لبلدي Adaptrade بناء برنامج توليد استراتيجية لبعض الوقت، ويمكن الآن تعلن أنها على استعداد تقريبا (انظر أدناه للحصول على مثال استراتيجية NinjaScript الناتجة عن البناء)، والمتوقع الافراج عن أو حول يونيو 30. توفر هذه المقالة عالية نظرة عامة على مستوى اللغة NinjaScript وكيف يقارن إلى اللغات الأخرى التي يدعمها الباني. * الاستفادة من اللغة الحالية NinjaTrader هو منصة التداول شعبية لالأوراق المالية والعقود الآجلة وتداول العملات الأجنبية. مثل ميتاتريدر، NinjaTrader مجانا للتجارة محاكاة ووضع استراتيجية ومتوافق مع مجموعة متنوعة واسعة من الوسطاء ومقدمي البيانات. أحد الأسباب وراء شعبية NinjaTrader هي لغة البرمجة NinjaScript لوضع المؤشرات واستراتيجية. وقد خلق براعة وقوة NinjaScript نظام بيئي كبير من مؤشر ورمز الاستراتيجية التي تمتد على نحو فعال منصة NinjaTrader. ويستند NinjaScript على C # (وضوحا C شارب) لغة البرمجة التي طورتها مايكروسوفت وصدر لأول مرة في عام 2002. C # هي لغة برمجة للأغراض العامة على أساس C ++ C الشعبي واللغات واستخدام إطار مايكروسوفت. مستندة NinjaScript على C # يعني أنه يمكن الاستفادة من جميع وظائف C # و، وأنه يمكن جمعها مع مايكروسوفت C # المجمعين القائمة. هذا يختلف من لغات البرمجة الأخرى، مثل EasyLanguage TradeStation، وAFL AmiBroker وMQL4 ميتاتريدر 4 ل. في حين اللغات التالية جميعها C-مثل بناء الجملة، لا سيما MQL4، انهم بنيت كل من الألف إلى الياء. من حيث المبدأ، وهذا ينبغي أن توفر ميزة التصميم؛ وهي أنها يمكن أن تكون مصممة خصيصا لغرض المتاجرة. ومع ذلك، هذا لابد من موازنة المزايا التي تقدمها المؤسسة لناضجة، لغة متطورة مثل C #. وC # و مكتبات توفر هذه الميزات الأساسية مثل التاريخ / الوقت وظائف الرياضيات. منذ C #، وكانت في تطوير ما يقرب من 14 عاما، هذه الميزات الأساسية هي ناضجة جدا ومستقرة. NinjaScript يأخذ ليس فقط الاستفادة من وظائف مكتبة مدمجة ولكن اللغة الأساسية يتميز أيضا، بما في ذلك الشرطية (إذا ثم التفرع)، والحلقات، وظائف، وهلم جرا. من خلال البناء على أساس موجود، اللغة الشعبية، الاستدانة NinjaTrader مجموعة واسعة من القدرات والميزات مع تجنب المخاطر والمزالق تطوير لغة البرمجة من الصفر. والنتيجة هي الميزة الغنية، ذات قدرة عالية وموثوق بها لغة البرمجة. A الحديثة لغة البرمجة NinjaScript يتماشى مع التصميم الأساسي للC #، وهي وجوه المنحى، مدفوعة الحدث، والتي تعتمد على المكونات. جميع الاستراتيجيات في NinjaTrader تحدد فئتها الخاصة، التي تستمد من الطبقة الاستراتيجية في مساحة الاسم NinjaTrader. هذا هو المكان الذي يقع على وظيفة إضافية إلى C # لإنشاء NinjaScript. الشكل 1. تعريف فئة الاستراتيجية في مساحة الاسم NinjaTrader. Strategy. يتم استدعاء الدالة تهيئة مرة واحدة في بداية الاستراتيجية. في C #، وعجلت معظم الإجراءات التي تتخذها الأحداث الخارجية، والتي تؤدي معالجات الأحداث. في NinjaScript، ويسمى معالج الحدث الرئيسي OnBarUpdate، التي يتم تشغيلها على مقربة من كل شريط، أو اختياريا، في كل لحظة. هذا هو المكان الذي يقيم منطق استراتيجية الرئيسي. معالج الحدث الرئيسي الآخر هو تهيئة، والتي يتم تشغيلها في بداية استراتيجية ويتم تنفيذه مرة واحدة فقط في ذلك الوقت. ويمكن تنفيذ معالجات الأحداث الأخرى اختياريا، مثل OnPositionUpdate، التي يتم تشغيلها كلما يتغير الموقف التجارة، وOnOrderUpdate، التي يتم تشغيلها كلما لتغييرات النظام القائم. القدرة على تنفيذ قانون الاستراتيجية عندما يأخذ أحداث معينة مكان يمكن أن تجعل من السهل على البرنامج إجراءات معينة في NinjaScript مقابل المزيد من اللغات التقليدية، مثل EasyLanguage. ويسمى الشكل 2. وظيفة NinjaScript OnBarUpdate على مقربة من كل شريط أو في كل لحظة، وهذا يتوقف على الإعداد في تهيئة. التجريد، التحكم، وطلاقة كل لغات البرمجة لتداول تجعل المبادلات في كيفية جوانب معينة مجردة من التداول مقابل مدى السيطرة كلاهما يعطي لوتتطلب من المستخدم. ينطوي تداول سلسلة من الإجراءات معقدة إلى حد ما: تقييم منطق استراتيجية في كل شريط و / أو وضع علامة، ووضع أوامر تداول متعددة لكل من الدخول والخروج، وتتبع وتحديث أوامر التداول في كل شريط / القراد، وتجهيز وتسجيل يملأ، وإلغاء مفتوحة أوامر، بما في ذلك واحد يلغي الأخرى أوامر والطارئة. وهناك مستوى عال من التجريد يعني أن يتم إخفاء الكثير من هذا التعقيد من مبرمج وتنفيذها تلقائيا وراء الكواليس، مما يجعل من الاسهل لبرنامج ولكنها توفر أقل سيطرة والتنوع. A مستوى أدنى من التجريد يترك الكثير من العمل لتصل إلى مبرمج، مما يجعل البرمجة أكثر صعوبة ولكنها توفر عادة مزيد من السيطرة. على سبيل المثال، بعض اللغات مثل لغة MetaQuotes 4 (MQL4)، وتوفير الأوامر الأساسية إلى حد ما للتعامل مع أوامر وترك الأمر متروك للمستخدم لإلغاء أوامر مفتوحة بعد التعبئة. وهذا يمكن أن تجعل من الصعب تنفيذ استراتيجية يستخدم، على سبيل المثال، مخارج متعددة (مثل توقف واقية، والخروج الهدف، والخروج على أساس حالة منطقية) لأنه عندما يتم ضرب مخرج واحد، والآخر، الأوامر المعلقة يجب أن يتم إلغاؤها من قبل رمز الاستراتيجية. من ناحية أخرى، هذه الطبقة رقيقة من التجريد توفر أقصى قدر من السيطرة والتنوع. AmiBroker الفورمولا اللغة (AFL)، من ناحية أخرى، يوفر التجريد عميق جدا في شكله الأساسي في أن المستخدم لا يوفر سوى الظروف التي الدخول والخروج من المقرر إجراؤها، واللغة (ومنصة الكامنة) رعاية متى وكيف يتم وضع أوامر التداول الفعلية وأعدم. لأنواع أبسط الاستراتيجيات، وهذا يجعل من السهل جدا لرمز الاستراتيجية. ومع ذلك، فإنه يوفر القليل جدا من المرونة والتحكم للمطور الاستراتيجية. في الواقع، AmiBroker المعترف بها على ما يبدو هذا القيد عندما أضاف ما يسمى واجهة backtester محفظة (الإجراء المخصص backtest)، الذي يوفر الوصول إلى وظائف المستوى الأدنى للسيطرة على الأمور مثل دخول النظام. لسوء الحظ، فإن هذا النهج منفصل لا تدمج بشكل جيد مع التصميم الأصلي للAFL. يوفر EasyLanguage عدة أنواع من تجريدات المعقدة. المتأصلة في كل استراتيجية EasyLanguage هو حقيقة أن معظم رمز، وغيرها من التهيئة متغير، يتم تنفيذه في كل شريط. إذا نظرة من الداخل تمكين الاختبار مرة أخرى بار، فكرة مجردة إضافي موجود في يتم تنفيذ ذلك حسابات إضافية وراء الكواليس لتقييم أكثر من مرة واحدة كل شريط، وهذا يتوقف على الإعداد للمستخدم. في الواقع، TradeStation لديها ما يعادل OnBarUpdate NinjaScript، ولكن تختفي عن الانظار في من المستخدم والتعامل معها وراء الكواليس. كما يعالج EasyLanguage تجهيز النظام بطريقة ويقلل من العبء على المستخدم. يمكن وضع أوامر متعددة في التعليمات البرمجية، وسيتم إلغاء تلك لم تنفذ كما لو-يلغي أحد الآخر عندما يملأ واحد. NinjaScript تنفذ تجريدات متطابقة تقريبا لوضع النظام والتنفيذ، بما في ذلك إلغاء تلقائيا كل أمر في ختام كل شريط. وهذا يتفق مع حقيقة أن الرمز استراتيجية ينفذ في كل شريط، وهو ما يعني عادة البيانات متاحة لوضع سوف تتكرر في كل شريط أوامر. إذا لم أوامر تنتهي تلقائيا في نهاية كل شريط، فإنها يجب أن تلغى من قبل وضع استراتيجية جديدة. تجهيز مجموعة مجال آخر أن يسلط الضوء على درجة من التجريد بين لغات البرمجة. منذ المؤشرات وغيرها من عناصر المنطق استراتيجية تحتاج إلى تقييم في كل شريط من مخطط الأسعار أو سلسلة البيانات، لغات البرمجة للتداول هي أساس صفيف بطبيعتها. وهذا يعني أنها تستفيد من أداء العمليات الحسابية على المصفوفات بيانات الأسعار، بدلا من إجراء الحسابات بار-ب-بار. على سبيل المثال، إذا كان استراتيجية تتضمن المتوسط ​​المتحرك والعشوائية، فإن نهج واحد أن يكون لحساب المتوسط ​​المتحرك على شريط الأول، وحساب مؤشر ستوكاستيك على شريط نفسه، تقييم منطق استراتيجية لهذا الشريط، ثم الانتقال إلى شريط المقبل . ومع ذلك، فمن أكثر كفاءة لحساب المتوسط ​​المتحرك لكل شريط على الرسم البياني، ثم حساب مؤشر ستوكاستيك لكل شريط على الرسم البياني، ثم تقييم منطق الاستراتيجية. وهذا الأخير هو مثال على تجهيز مجموعة، والتي يمكن أن يؤديها عادة وراء الكواليس حتى إذا لم يكن واضحا من طريقة كتابة التعليمات البرمجية. يوفر EasyLanguage أفضل مثال على ذلك: تستخرج تجهيز مجموعة بعيدا بحيث لا يكون لدى المستخدم للقلق مع ذلك. على سبيل المثال، عند رمز وظيفة في EasyLanguage، تكتب الحسابات التي يتعين القيام بها على شريط الحالي. والامر متروك المترجم EasyLanguage لجعل الحسابات كفاءة، ويفترض من خلال تجهيز مجموعة. في AFL، من ناحية أخرى، تم تصميم وتجهيز مجموعة لتكون مريحة ولكن غير صريحة في أن عليك أن تكون على علم بأنك معالجة المصفوفات البيانات وأخذ ذلك بعين الاعتبار في كيفية كتابة التعليمات البرمجية. NinjaScript يشبه MQL 4 في أن استخدام المصفوفات في الغالب صريحة. ومع ذلك، في MQL4، واستخدام المصفوفات التعسفية كمدخلات لمؤشرات مثل متوسط ​​متحرك لشيء آخر غير السعر، يتم التعامل برعونة، مما يجعل من الصعب تقييم مؤشرات من المؤشرات مثل المتوسط ​​المتحرك لمؤشر ستوكاستيك. NinjaScript يتغلب على هذه المشكلة المحتملة من خلال توفير نوع مصفوفة خاص يسمى DataSeries، والتي يمكن تعريفها في قانون الاستراتيجية والتي قبلت كمدخل من قبل أي مؤشر على أن يأخذ بطبيعتها سعر كمدخل. هذا يجعل من السهل نسبيا إلى رمز مؤشرات متداخلة. مثال NinjaScript كود الاستراتيجية التي تم إنشاؤها بواسطة منشئ تم إنشاؤها تلقائيا ملف متوفر في الرابط أدناه من قبل Adaptrade باني في NinjaScript لNinjaTrader. يمكن فتح الملف في أي محرر نصوص، مثل المفكرة. ترجمة استراتيجية في NinjaTrader، حفظه إلى المجلد الاستراتيجية في مجلد المستندات NinjaTrader الخاص بك، ثم فتحه في محرر NinjaScript، وانقر على زر الترجمة. مسار نموذجي لحفظ الملف C: \ المستخدمين \ [your_user_name] \ المستندات \ NinjaTrader 7 \ بن \ مخصص \ الاستراتيجية، التي [your_user_name] هو اسم المستخدم الخاص بك في مجلد المستخدمين. بدلا من ذلك، نسخ رمز إلى الحافظة ولصقه في استراتيجية فارغة داخل محرر NinjaScript. سيتم إخراج NinjaScipt في البناء تكون متاحة في الإصدار 1.7.0، مع موعد الإفراج المتوقع من 30 يونيو 2014. تحميل أو فتح (ملف: Builder_Ninja_Ex. cs) تحقيق التوازن كما ذكر أعلاه، وجميع لغات البرمجة لتداول توازنا في مكان ما على طول الطيف بين لغة المستخرجة للغاية الذي يعالج الكثير من وراء الكواليس (مثل AFL) ولغة المستخرجة رقيقة الذي يطلب من المستخدم لتحديد كل خطوة من التداول عملية (على سبيل المثال MQL4). NinjaScript يشبه إلى حد كبير EasyLanguage في أنه يقع في مكان ما في الوسط. بالمقارنة مع EasyLanguage، NinjaScript يمكن القول يجعل بعض على الأقل من التجريدات لها أكثر وضوحا حين لم يجعلها أكثر تعقيدا من ذلك بكثير. على سبيل المثال، رمز الذي ينفذ في كل شريط واضح في أنه يقيم في وظيفة OnBarUpdate. في EasyLanguage، فإنه قد لا يكون واضحا على الفور إلى الوافد الجديد الذي يتم تنفيذه معظم رمز الاستراتيجية على مقربة من كل شريط وأن المتغيرات لا إعادة تهيئة على كل شريط. في NinjaScript، والمتغيرات ليست جزءا من OnBarUpdate، لذلك فمن الواضح أن أي التهيئة التي تجرى خارج من تلك الوظيفة، كما هو الحال في وظيفة تهيئة، يحدث مرة واحدة فقط. من ناحية أخرى، يوفر EasyLanguage على المستوى العام أعلى من التجريد، والتي يمكن أن تجعل من السهل على رمز مرة واحدة مفهومة ميزات تصميم اللغة. من وجهة نظر مبرمجا، وهناك الكثير لنعجب حول NinjaScript. تصميمه يتسق مع الاتفاقيات البرمجة الحديثة، انها للمد بسهولة، فإنه يوفر التجريد التداول مريحة لأشياء مثل وضع النظام، ولا يزال يدير لتكون واضحة حول ما يفعله التعليمات البرمجية على أساس شريط-ب-بار. وعلاوة على ذلك، فإنه يستفيد من ميزات # لغة مكتبة وC. بعد مبرمجة EasyLanguage لنحو 20 عاما، فإنه من الصعب تقييم لغات البرمجة الأخرى بعيون جديدة. ومع ذلك، لو كنت تعلم برمجة استراتيجيات التداول اليوم - وتنحية أية اعتبارات تتعلق منصات التداول المختلفة - وأود أن اختيار جيد للغاية NinjaScript. مايك براينت Adaptrade البرمجيات * ليس القصد من هذا المقال أن يكون البرنامج التعليمي في الطبيعة ولا مناقشة NinjaTrader ميزات المنصة. "بعد 20 عاما من التداول لمؤسسات، لقد اكتسبت مكانة كبار التاجر على وجه التحديد بسبب هذا البرنامج الإرشاد التنفيذي" كاسبر يوهانسن، التاجر المؤسسي "أنا تاجر المؤسسي لصانع السوق الرئيسية في جزر كايمان، وقد تم التداول في أسواق الأوراق المالية الأمريكية لمدة 18 عاما. في هذه المهنة التي لا تدفع راتبا، تدفع لك نسبة مئوية من المبلغ الإجمالي للربح وجهتم في لعملائك المدارة. نحن هنا نعمل في قبول حقيقة أن هذا هو بيئة مليئة تنافسية للغاية والتوتر. في وقت مبكر يوم في مقرر وظيفي جديد، كنت تعاني من الربع الثاني ابتداء من عدم أداء وسحب ذلك ثم هدد موقفي. وقصة قصيرة طويلة هو عبارة عن إشارة اكتشفت جيف كيليان وأنا على الفور احتفظت خدمته.

No comments:

Post a Comment