پشتیبانی

اگر در فهم هر چیزی مشکل داشته، و به کمک نیاز دارید یا به سادگی سئوالاتی برای پرسیدن دارید (مربوط به سیستم)، به یاد داشته باشید که خرید شما شامل پشتیبانی هم می شود.

ما برای پاسخگویی شما اینجا هستیم ، می توانید با استفاده از فروم با ما تماس بگیرید:

www.StrategyQuant.com/forum

بخش مقالات وب سایت ما منابع اطلاعات اضافی را فراهم می کند

www.StrategyQuant.com/articles

کپی رایت

تمامی حقوق محفوظ است

نرم افزار استراتژی کوانت، استراتژی های انعامی و محتوای این کتاب شامل حقوق کپی رایت می باشند.
شما فقط با مجوز معتبر می توانید از آنها استفاده کنید.

هیچ بخشی از این نشریه بدون کسب مجوز کتبی قبلی از مولف  ممکن نیست باز تولید شود، در یک سیستم بازیابی ذخیره شود یا به هر شکل و فرمی از جمله الکترونیکی، مکانیکی، فتوکپی، ضبط، اسکن یا غیره انتقال یابد

© 2014-2012 مارک فریک، SonarBytes با مسئولیت محدود

افشای ریسک

بیانیه افشاگری ریسک

معامله در هر نوع بازار مالی شامل ریسک است. این راهنما تقاضا و پیشنهاد خرید / فروش هیچ محصول مالی نیست. مطالب این راهنما فقط برای مقاصد خبر رسانی عمومی است.

هرچند تمام تلاش ها برای اطمینان از صحت و دقت انجام شده، اما مولف هیچ گونه ضمانت صریح  یا ضمنی برای صحت و دقت آن ارائه نمی دهد. مولف هیچ مسئولیتی در قبال خطا و یا غفلت و از قلم افتادگی را قبول نمی کند. تمام نمونه ها فقط به منظور توضیح ارائه شده و نباید به عنوان توصیه سرمایه گذاری تفسیر شوند.

هیچ نمایش نتایج  فرضیه و تئوری نمی تواند هر حساب و یا معامله گر را با احتمال رسیدن به سود یا زیانی شبیه به آنچه که در این کتابچه بحث شده است، را ایجاد کند. صحت و درستی عملکرد در گذشته نمی تواند موید صحت عملکرد در آینده باشد.

اطلاعات ارائه شده در این کتابچه برای توزیع و یا استفاده از هر شخص یا نهادی در هر حوزه قضایی یا کشور که در آن توزیع چنین اطلاعاتی یا استفاده از آن خلاف قانون یا مقررات است و یا این چنین موضوعی نیاز به ثبت نام مولف در چنین حوزه های قضایی و  یا کشور را داشته باشد، نیست.

نمایش نتایج  فرضیه و تئوری دارای محدودیت های ذاتی هستند ، برخی از آنها در زیر ذکر شده اند. هیچ نمایش نتایج  فرضیه و تئوری نمی تواند هر حساب را با احتمال رسیدن به سود یا زیانی شبیه به آنچه که نشان داده شده، را ایجاد کند. در حقیقت، تفاوت های متداولی بین نتایج عملکرد فرضیه و تئوری و نتایج واقعی که در متعاقبا بوسیله هر سیستم تجاری خاص حاصل می شود، وجود دارد.

یکی از محدودیت های نتایج عملکرد فرضیه و تئوری، این است که آنها به طور کلی با سود پیش بینی و قطعی شده آماده می شوند. علاوه بر این، معاملات فرضیه و تئوری شامل ریسک مالی نیست و هیچ رکورد تجاری فرضی نمی تواند به طور کامل تاثیر ریسک مالی در معاملات واقعی را در حساب کاربری خود داشته باشد.

به عنوان مثال، توانایی مقاومت در برابر زیان یا پیروی از یک برنامه تجاری خاص، به رغم زیان تجاری، نکات مهمی هستند که همچنین می توانند بر نتایج تجاری تاثیر بگذارند. عوامل متعدد دیگر مربوط به بازار به طور کلی و یا اجرای هر برنامه تجاری خاص وجود دارد که نمی تواند به طور کامل در تهیه نتایج حاصل از نمایش نتایج فرضی به حساب آید. همه اینها می توانند بر نتایج واقعی تجارت تاثیر بگذارد.

سلب مسئولیت ضروری دولت ایالات متحده – کمیسیون معاملات آتی کالا، معاملات آتی، ارز و اختیارات دارای پاداش بالقوه بالایی هستند، اما همچنین خطر بالقوه بالایی را هم دارند. شما باید از خطرات آگاه باشید و مایل باشید که آنها را به منظور سرمایه گذاری در بازارهای آینده و اختیارات بپذیرید. با پولی که نمی توانید از دست بدهید معامله نکنید. این نه تقاضا و نه پیشنهاد خرید یا فروش معاملات آتی  یا اختیارات است. هیچ نمایش نتایج  فرضیه و تئوری نمی تواند هر حساب را با احتمال رسیدن به سود یا زیانی شبیه به آنچه که در این  وب بحث شده است ، را ایجاد کند. عملکرد گذشته هر سیستم یا روش تجاری، لزوما نشانگر نتایج آینده نیست.

CFTC RULE 4.41  (قانون 4.41 کمسیسون معاملات آتی کالا ایالت متحده)- نتایج فرضیه و تئوری و یا مدلسازی عملکردی دارای محدودیت های خاصی هستند. بر خلاف یک رکورد از نمایش عملکرد واقعی، نتایجی شبیه سازی شده، بازرگانی واقعی را نشان نمی دهند. همچنین، از آنجا که معاملاتی ناکام مانده و ممکن است اجرا نشوند، نتایج ممکن است تحت تأثیرات مثبت و یا منفی بدلیل برخی از عوامل موثر در بازار مانند عدم قابلیت نقد شوندگی قرار گیرد. به طور کلی، برنامه های شبیه سازی معاملاتی نیز به این موضوع اهمیت می دهند که آنها با سودهای از پیش تعیین و قطعی شده طراحی شده اند. هیچ نمایش فرضیه ای وجود ندارد که هر حساب کاربری را تبدیل به حسابی نماید که کسب سود یا زیان های مشابه آنچه که نمایش داده است، باشد .

 

 

توافقنامه مجوز نرم افزار

این سند قانونی توافق بین شما، بعنوان کاربر نهایی (‘کاربر’) و شرکت  Sonarbytes Ltd (‘مولف’) می باشد.

توافق – با نصب جادوگر اکسپرت («نرم افزار»)، کپی کردن نرم افزار و / یا کلیک کردن بر دکمه I Agree”” در هنگام نصب، شما با تمام شرایط این موافقتنامه مجوز نرم افزار («موافقت نامه») موافقت می کنید. اگر شما با تمام شرایط این موافقتنامه موافق نیستید، بر روی دکمه “I Do Not Agree” کلیک کنید و / یا نصب، کپی یا موارد دیگر جهت استفاده از این نرم افزار را انجام ندهید.

مالکیت معنوی– نرم افزار و هرگونه موارد مرتبط با آن تحت حمایت قانون کپی رایت می باشد. بسته یک محصول اختصاصی و متعلق به مولف است. مولف دارای مالکیت عنوان کتاب و حق کپی رایت برنامه نرم افزاری و مواد مرتبط با آن است. شما تصدیق می کنید که مولف صاحب همه حقوق، عنوان و منافع آن و  نرم افزار، از جمله شروط تمام حقوق مالکیت معنوی می باشد. “حقوق مالکیت معنوی” به معنای تمام و هر حقوق موجود از زمان ثبت قانونی به لحاظ حقوق ثبت اختراع، قانون کپی رایت، قانون محرمانگی تجاری، قانون علامت تجاری، قانون رقابت ناعادلانه، و هر و همه گونه حقوق مالکیت دیگر، و هر و همه گونه اعمال، تمدید، گسترش و استرداد بر آن، در حال حاضر و یا بعد از این در اثر نیرو و اثر جهانی می باشد. شما موافقت میکنید که اصلاح، انطباق، ترجمه، تجزیه، مهندسی معکوس، مجزا کردن یا هر گونه تلاش دیگر برای نتیجه گیری ازکد منبع  نرم افزار انجام ندهید.

ثبت– این برنامه نه نرم افزار رایگان است و نه مالکیت عمومی دارد. استفاده از آن مستلزم داشتن مجوز معتبر است

اعطا کردن– بدینوسیله مولف به شما مجوز غیر انحصاری و غیر قابل انتقال برای استفاده از نرم افزار با پرداخت هزینه مجوز تا تاریخ انقضاء مجوز (در صورت وجود) را اعطا می کند. مولف هیچ تضمینی بابت مداومت ، قیمت، کاربرد یا محتوای به روز رسانی ها یا تغییرات در آینده را بابت نرم افزار نمی دهد. این نرم افزار فقط برای دانلود به صورت الکترونیکی در دسترس شما قرار می گیرد.

استفاده کاربر از نرم افزار محدود به استفاده از یک شاسی سخت افزاری تنها در یک واحد پردازش مرکزی می باشد، و یا می تواند در تعداد زیادی از شاسی ها یا واحدهای پردازش مرکزی، که کاربر ممکن است هزینه مجوز مورد نیاز را پرداخت کرده باشد، استفاده شود.

شما ممکن نیست: به افراد دیگر اجازه استفاده از نرم افزار را  دهید به جز موارد ذکر شده در بالا؛ ترجمه، مهندسی معکوس، تجزیه، از رمز خارج کردن، مهندسی معکوس، مجزا کردن ( به جز در مواردی که قوانین قابل اجرا به طور خاص این محدودیت را ممنوع می کند)، و یا ایجاد کارهای مشتق شده بر اساس نرم افزار؛ کپی نرم افزار (به جز برای اهداف پشتیبان سازی)؛ اجاره نرم افزار، اجاره استفاده از نرم افزار، انتقال، واگذاری، صدور زیر مجوز و یا در غیر این صورت انتقال حقوق به نرم افزار؛ یا حذف هر گونه اطلاعیه ها یا برچسب های اختصاصی در نرم افزار.

اخطار ضمانت نامه –  نرم افزار مشروط بر  “همانطور که هست” می باشد، بدون هر گونه ضمانتی، از جمله بدون محدودیت ضمانت تجاری، مناسب برای یک هدف خاص و عدم نقض می باشد. تمام ریسک در نتیجه کیفیت و عملکرد نرم افزار از سوی شما تحمیل می شود.

محدودیت مسئولیت –  تحت هیچ شرایطی و تحت هیچ نظریه قضایی، قرارداد، و یا دیگر موارد، مولف یا تامین کنندگان آن و یا فروشندگان دیگر مسئولیتی در قبال شما یا هر شخص دیگر برای هر گونه عواقب غیرمستقیم و غیر معمول، خاص، حادثه یا ناخواسته یا جبران خسارت هر شخصیت مشمول، بدون محدودیت، خسارت ناشی از ضرر و حسن نیت، توقف کار، خرابی کامپیوتر یا بد عمل کردن دستگاه، و یا هر گونه و هر نوع خسارت تجاری یا زیان های تجاری، ندارند. در هیچ شرایطی مولف مسئول هرگونه خسارت موارد افراطی از لیست قیمت مولف برای تأیید پروانه نرم افزار، حتی اگر مولف از احتمال اینگونه خسارات، یا هرگونه تقاضایی از هر طرف دیگر اطلاع داشته باشد، نخواهد بود. این محدودیت مسئولیت در مورد مسئولیت مرگ یا آسیب شخصی طبق قانون قابل اعمال که این محدودیت را ممنوع کرده، نمی شود. علاوه بر این، برخی از کشورها انحصار یا محدودیت آسیب های احتمالی یا جبران ناپذیر را مجاز نمی شناسند، بنابراین این محدودیت و انحصار ممکن است به شما اعمال نشود.

فسخ –  چنانچه شما مرتکب قصور در اجرای محدودیت های توضیح داده در بالا شوید این مجوز به صورت اتوماتیک متوقف خواهد شد . در فسخ ، شما باید تمام نسخه های نرم افزار را در قالب الکترونیکی یا در شکل دیگر، از جمله هر نسخه ای روی نوارهای پشتیبان یا رسانه های دیگر را از بین ببرید. پس از فسخ این مجوز به هر دلیلی، شما حق ندارید تمام یا بخشی از هر گونه هزینه مجوز پرداخت شده را مطالبه نمایید.

. مقدمه

1-1. استراتژی کوانت چیست؟

استراتژی کوانت (StrategyQuant ) برنامه ای است که به طور خودکار جدیدترین استراتژیهای معاملاتی منحصر به فرد را برای فارکس، سهام یا ETFs تولید می کند.

با استفاده از استراتژی کوانت ، شما می توانید استراتژی های معاملاتی سودآور برای تقریبا هر بازار، هر دوره زمانی و هر نوع نمودار را پیدا کنید. دانش برنامه نویسی و یا معامله گری نیاز نیست.

استراتژی های حاصل شده می توانند به عنوان اکسپرت متاتریدر4 با کد منبع کامل ذخیره شوند.

با استراتژی کوانت شما می توانید:

  • تعداد نامحدودی از استراتژی های معاملاتی منحصر به فرد را برای تقریبا هر بازار یا هر دوره زمانی ایجاد کنید.
  • استراتژی های خود را به عنوان یک اکسپرت متاتریدر یا استراتژی نینجا تریدر با کد منبع کامل ذخیره کنید.
  • کار و تلاش دستی که قبلا برای توسعه استراتژی معاملاتی مورد نیاز بود، حذف می شود.
  • یافتن استراتژی های معاملاتی جدیدی که نه تنها منحصر به فرد هستند، بلکه نامشهود هستند.
  • کاهش زمان مورد نیاز برای ساخت یک استراتژی از هفته ها و ماه ها به چند دقیقه!
  • بهبود و توسعه استراتژی های موجود تان.
  • بهینه سازی استراتژی هایتان و پیدا کردن بهترین پارامترها.
  • پایداری استراتژی های خود را تست کنید و عملکرد آنها را تجزیه و تحلیل کنید.

آیا استراتژی کوانت برای شما مناسب است؟

اگر شما با استفاده از سیستم معاملاتی خودکار ( که  روبات یا مشاوران متخصص نیز نامیده می شوند) معامله می کنید و یا قصد دارید که استراتژی های معاملاتی خود را توسعه دهید، استراتژی کوانت می تواند در سرمایه و صدها ساعت از وقت تان صرفه جویی کند.

برخی از معامله گران ترجیح می دهند یک ربات معامله گر موجود را خریداری کنند؛ بسیاری از پیشنهادات خاص برای فارکس وجود دارد.

در حالی که این روش ممکن است یک راه موثر باشد، با خرید ربات فارکس شخصی دیگر، شما معمولا یک جعبه سیاه خریداری می کنید – شما نمی دانید که آن روبات چگونه کار می کند، قوانین دقیق چه هستند و شما از سازنده آن ممنون و متشکر هستید که با سازگاری های بالقوه با شرایط بازار تغییر می کند .

استراتژی کوانت به شما این امکان را می دهد تا استراتژی های معاملاتی خودتان را ایجاد کنید، و  به یک کد منبع اکسپرت ساده دسترسی داشته باشید، بنابراین شما کنترل کاملی بر استراتژی خود دارید.

 

اگر شما یک معامله گر دستی هستید چه کار می توانید بکنید؟

شما هنوز می توانید از استراتژی کوانت برای تولید ایده های معاملاتی استفاده کنید. شما بابت پیدا شدن بسیاری از استراتژی های سودمند مبتنی بر قوانین نسبتا ساده ای که به آن حتی فکر نمی کنید، شگفت زده خواهید شد. هر استراتژی که توسط استراتژی کوانت ایجاد می شود می تواند به صورت شبه کد قابل خواندن با شرح کامل قوانین معاملاتی صادر شود و همچنین می تواند به صورت دستی معامله شود.

چه انتظاری می توان داشت

لطفا توجه داشته باشید که استراتژی کوانت یک ابزار قدرتمند است، اما یک جعبه سحرآمیز نیست که با یک کلیک روی یک دکمه شروع به ساخت پول کند. از این ابزار باید با روشی درست استفاده کرد تا به نتایج مناسب رسید.

ایجاد استراتژی های جدید در استراتژی کوانت فقط حدود 50 درصد از کار است.

بقیه کار باید برای ارزیابی استراتژی های تولید شده برای فیلتر کردن مواردی که منطبق بر منحنی داده شده اند یا به اندازه کافی قوی نیستند، انجام شود.

این نرم افزار برای ارتقا دادن شماست. استراتژی های جدید تان را به درستی ارزیابی می کند و قبل از اینکه آنها در معاملات واقعی قرار دهید، کمک می کند تا نقاط قوت، ضعف ها و محدودیت های آنها را بشناسید.

به آسانی ممکن است اتفاق بیافتد که از تمام استراتژی های سودمند تولید شده توسط استراتژی کوانت تنها 1 از 10 تا ارزیابی را بگذرانند و ما می توانیم از آن برای معاملات واقعی استفاده کنیم.

اما – تعداد استراتژی هایی که ما می توانیم تولید کنیم تقریبا بی پایان است، بنابراین حتی 5-10٪ از بی نهایت تعداد بسیار زیادی است 🙂

چند گام برای ارزیابی کیفیت استراتژی و اندازه گیری اینکه آنها چه مقدار در معاملات واقعی خوب عمل می کنند، وجود دارد . لطفا برای اطلاعات بیشتر بخش ارزیابی استراتژی های تولید شده را بخوانید.

2-1. نیازمندی های سیستم

استراتژی کوانت یک اکسپرت نیست، یک برنامه نرمال (EXE file) برای مایکروسافت ویندوز است و در تمام کامپیوترهای استاندارد دارای اتصال به اینترنت اجرا خواهد شد.

کمترین سیستم مورد نیاز:

  • پردازنده 1.2 گیگاهرتزی
  • 512 مگابایت حافظه رم
  • 500 مگابایت فضای هارد دیسک
  • سیستم عامل Windows XP، Vista، Windows 7 یا Windows 8

قدرت محاسبه

تولید و بک تست استراتژی نیاز به قدرت پردازش زیادی دارد، بنابراین اگر کامپیوتر سریعتری شما داشته باشید، استراتژی های بیشتری تولید و تست خواهد شد.

مهم ترین مولفه ای که سرعت تست را تحت تاثیر قرار می دهد، پردازنده (CPU) است. استراتژی کوانت قادر به استفاده از تمام هسته های پردازنده است، بنابراین بهترین نتایج با استفاده از پردازنده های چند هسته ای مانند i5 یا i7 به دست می آید.

 

3-1. نصب

استراتژی کوانت با خود نرم افزار دستیار راه اندازی  استاندارد دارد، شما فقط فایل نصب EXE را دانلود کرده و اجرا کنید و سپس مراحل نصب دستیار را دنبال کنید.

مهم !!!

لطفا استراتژی کوانت  را  به صورت  استاندارد در مسیر پوشه C: \ Program Files  نصب نکنید!

با این روش ممکن است نرم افزار به درستی کار نکند، زیرا تنظیمات امنیتی ویندوز اجازه نمی دهد برنامه درون  فایل های داده خود بنویسد.

در عوض، آن را در هر درایو یا دایرکتوری معمول روی دیسک نصب کنید، مانند C:\StrategyQuant یا
C:\Trading\StrategyQuant

 

1-3-1. مراحل پس از نصب

چند کار دیگر وجود دارد که باید بعد از نصب بر روی پلتفرم معاملاتی که استفاده می کنید، انجام دهید.

MetaTrader4

برخی از شاخص های فنی استفاده شده در استراتژی کوانت شاخص های استاندارد MT4 نیستند و شما باید آنها را به MT4 اضافه کنید. تمام این شاخص های اضافه شده بخشی از بسته نصب هستند، شما می توانید آنها را در پوشه  {StrategyQuant}/custom_indicators/mt4 پیدا کنید.

به سادگی تمام فایل های mq4 .* موجود در این پوشه را به پوشه نصب MetaTrader خودتان در مسیر زیر کپی کنید:

{Your MetaTrader installation directory}/experts/indicators

اگر از بیش از یک MetaTrader نصب شده استفاده می کنید، باید این مرحله را برای هر MetaTrader نصب شده تکرار کنید.

———————————————————————————— یادداشت مهم! اگر شما متاتریدر را به نسخه +MT4 Build 600  آپدیت کردید پس پوشه های MetaTrader تغییر کرده اند. پوشه شاخص ها دیگر در پوشه نصب متاتریدر نیست، شما می توانید محل آن را با باز کردن از مسیر، File -> Open Data Folder دریافت کنید.

شما باید شاخص ها را در این پوشه ذخیره کنید:
C: \Users\[username]\AppData\Roaming\MetaQuotes\Terminal\[unique_string_id]\MQL4\ Indicators
———————————— ————————————————

NinjaTrader

در این نرم افزار برای ساخت استراتژی ها برای NinjaTrader ، شما باید برخی از اسکریپتهای NinjaTrader را به NinjaTrader خود وارد کنید.

NinjaTrader خود را باز کنید، به این مسیر File -> Utilities -> Import Ninja Script  بروید

سپس این فایل را پیدا کنید:

{StrategyQuant} /custom_indicators/SQ_NinjaTrader.zip و آن را وارد کنید.

این کار تمام شاخص های اضافه شده و کلاس های پایه را که استراتژی کوانت استفاده می کند را وارد می نماید، بنابراین استراتژی های جدید شما در NinjaTrader اجرا می شود.

Tradestation

در این نرم افزار برای ساخت استراتژی ها برای Tradestation، شما باید برخی از توابع EasyLanguage سفارشی را به  Tradestationخود وارد کنید.

Tradestationخود را باز کنید، به مسیر  File -> Import / Export EasyLanguage بروید و Import EasyLangauge File (ELD, ELS or ELA)   را انتخاب کنید

سپس این فایل را پیدا کنید:

{StrategyQuant} /custom_indicators/SQ_Tradestation.eld و آن را  وارد کنید.

این کار تمام توابع اضافی استراتژی کوانت را وارد می کند، بنابراین استراتژی های جدید شما در Tradestation اجرا می شود.

4-1. موتورهای بک تست – Tradestation، NinjaTrader، MetaTrader4

استراتژی کوانت می تواند استراتژی های معاملاتی را به سیستم های معاملاتی چندگانه صادرات دهد:

  • MetaTrader4 – فارکس، CFD ها
  • NinjaTrader – معاملات آتی، سهام، فارکس
  • Tradestation – معاملات آتی، سهام، فارکس

برخی از تفاوت ها بین این سیستم ها در نحوه عملکرد هر پلتفرم در رفتار با معاملات، باز کردن و بستن معامله ها، مدیریت معاملات باز و غیره وجود دارد که می تواند باعث شود یک استراتژی نتایج خیلی متفاوتی در بین موتورهای مختلف داشته باشد. همیشه استراتژی های خود را در موتوری ایجاد کرده و توسعه دهید که بعدا در آن معامله خواهید کرد.

استراتژی کوانت به شما این امکان را می دهد که موتور بک تست را  بین MetaTrader4 / NinjaTrader / Tradestation تغییر دهید تا موتور تست داخلی بدانید که چگونه معاملات را به گونه ای انجام دهد که با پلتفرم انتخابی مطابقت داشته باشد.

هر پلتفرم معاملاتی و موتور بک تست نیز به شما امکان پیکربندی برخی تنظیمات خاص برای پلتفرم داده شده را می دهد.

چرا یک استراتژی می تواند نتایج متفاوتی در موتورهای بک تست مختلف داشته باشد.

همانطور که قبلا ذکر شد، تفاوت در نحوه عملکرد هر پلتفرم در رفتار با معاملات و نحوه عملکرد موتور بک تست و معامله گر داخلی وجود دارد.

به همین دلیل وقتی شما استراتژی را با یک موتور بک تست دیگر تست می کنید، ممکن است نتایج متفاوتی داشته باشد.

یکی دیگر از دلایل این است که  بررسی متفاوت داده ها بین MetaTrader و NinjaTrader وجود دارد.

توجه کنید

لطفا قبل از استفاده از استراتژی با پول واقعی مطمئن شوید که استراتژی تان را با معامله روی گزارش کاغذی بررسی کرده اید.

بررسی متفاوت داده ها بین MetaTrader و NinjaTrader / Tradestation

تفاوت در داده ها

تفاوتی که وجود دارد در نحوه  محاسبه و رسم  شمعدانی ها (میله ها) در هر پلیت فرم می باشد، به عنوان مثال:

  • در MetaTrader4، شمعدانی 15 دقيقه با زمان 13:15 به معناي آن است که شمعدانی در 13:15:00 آغاز شده است و شامل داده هاي 13:15:00 تا 13:29:59 است.
  • در NinjaTrader و Tradestation، شمعدانی 15 دقيقه با زمان 13:15 به معناي آن است که شمعدانی در ساعت 13:15 پايان يافت، بنابراين داده ها از 13:00:01 تا 13:15:00 است.

علاوه بر این، بر خلاف فارکس، معاملات آتی و سهام بصورت  24 ساعت در هفته معامله نمی شوند. آنها در مراکز مبادلات در زمانهای معاملاتی خودشان معامله می شوند، بنابراین جلسات معاملاتی هنگامی که برای مثال با داده های آتی کار می کنید، وارد بازی می شوند.

از این رو، در حال حاضر لازم است که نوع داده ها را هنگام وارد کردن آن به استراتژی کوانت انتخاب کنید و توصیه می شود در هنگام ایجاد استراتژی، فقط از داده ها پلتفرم داده شده استفاده کنید.

همچنین، به همین دلیل در نحوه بررسی هر داده توسط استراتژی کوانت برای هر پلتفرم مورد استفاده، یک تفاوت وجود دارد. در نتیجه، استراتژی کوانت می تواند به طور خودکار دوره زمانی بالاتر را از داده های دقیقه برای فارکس محاسبه کند، اما نمی تواند برای داده های NinjaTrader / Tradestation (به این دلیل که جلسات معاملاتی باید در نظر گرفته شوند) انجام دهد.

برای ساده سازی کار با جلسات معاملاتی، شما باید به طور مستقیم دوره زمانی مورد نظر را در استراتژی کوانت وارد کنید.

استراتژی کوانت یک برنامه است، دارای مغز و تجربه معاملاتی  نیست و نمی داند چگونه یک استراتژی سودمند ایجاد کند.

آنچه را که انجام می دهد این است که به طور تصادفی ترکیبات بلوک های ساخت موجود (شاخص ها، قیمت ها و غیره) را برای ایجاد قوانین معاملاتی جدید ترکیب می کند. سپس استراتژی حاصل را بر روی داده های تاریخچه قیمت تست می کند تا ببیند آیا سودآور است یا نه.

تولید تصادفی پایه استراتژی کوانت است. استراتژی های ایجاد شده در این روش می توانند با استفاده از تکامل ژنتیکی توسعه بیشتری  پیدا کنند (تکامل یافتگی) .

 

1-2. ساخت تصادفی استراتژی های معاملاتی

یک استراتژی معاملاتی در مجموعه نخست با استفاده از ترکیبی از الگوهای قیمت، شاخص های فنی، انواع سفارش و سایر قسمت ها برای ایجاد قوانین ورود و خروج ساخته می شود.

استراتژی کوانت می تواند از تمام شاخص های فنی استاندارد و نوسانگرها (مانند CCI، RSI، Stochastic و غیره)، مقادیر زمانی (مانند ساعتی از روز، روز هفته) و الگوهای قیمت استفاده کند. سپس این بلوک های ساخت را با استفاده از عملگرهای منطقی و مساوی (and, or, >, <,و غیره) برای تشکیل یک قانون ورود یا خروج ترکیب می شوند. علاوه بر این، نرم افزار از انواع مختلف ورود و خروج سفارش (سفارش آنی بازار، سفارش محدود، هدف سود ثابت، خروج بعد از تعداد X میله و غیره) پشتیبانی می کند.

استراتژی کوانت با تمام ترکیبات ممکن از قوانین و دستورات قادر به تولید حدود تریلیون استراتژی معاملاتی ممکن است.

فرآیند ساخت و ساز به طور کامل تصادفی است – سازنده به صورت تصادفی بلوک های ساخت مختلفی را از مخزن موجود در اختیار گرفته و آنها را برای ایجاد قوانین ورود، نوع سفارش و قانون خروج ترکیب می کند. برخی از قید ها برای بازبینی صحت  وجود دارد تا اطمینان حاصل شود که، به عنوان مثال قیمت با مقدار زمان مقایسه نشود و غیره. نتیجه این کار یک استراتژی معاملاتی کاملا تصادفی جدید است. البته، هر تصادفی منجر به ایجاد استراتژی سودآور نمی شود، اما استراتژی کوانت می تواند هزاران استراتژی جدید را در هر ساعت تولید و آزمایش کند و در این مقدار،  تعدادی سودآور هستند.

2-2. تکامل ژنتیکی

تکامل ژنتیکی روند یافتن استراتژی های معاملاتی مناسب را حتی بیشتر می کند. در این حالت استراتژی کوانت ابتدا تعدادی استراتژی تصادفی ایجاد می کند که به عنوان مجموعه اولیه برای تکامل ژنتیکی استفاده می شود.

این نسل نخست استراتژیها در این هنگام “تکامل یافته”  تولید های متوالی به پایان رسیده با استفاده از تکنولوژی برنامه نویسی ژنتیکی می باشد.

این فرایند از تکامل تدریجی تقلید و پیروی می کند – الگوریتم مناسب ترین استراتژی ها (با استفاده از معیارهای عملکرد انتخابی) را در هر نسل انتخاب می کند و سپس از گروه نامزدهای مناسب برای تولید نسل جدید استراتژی های معاملاتی استفاده می شود.

همانند تکامل تدریجی ، در اینجا نیز باید نتایج انتخاب بهتر و بهتری داشته و  در مورد ما استراتژیهایی که سودآورتر، پایدارتر و یا عموما با معیارهای عملکردی بهتر هستند انتخاب شوند.

3-2. مثال کد استراتژی

در زیر یک کد از مثال استراتژی تولید شده توسط استراتژی کوانت برای نمونه  می باشد. شما می توانید ببینید که استراتژی شامل دستور های ورود، دستورات خروج و دستورات مدیریت معامله می باشد، مانند حرکت حد ضرر و غیره.

هر استراتژی تولید شده توسط این برنامه می تواند بصورت این شبه کد و یا به صورت اکسپرت متا تریدر(EA)، strategy #NinjaTrader NinjaScript C  یا EasyLanguage برای Tradestation / Multicharts مشاهده شود.

===========================================================

== Entry conditions

===========================================================

LongEntryCondition = (Stoch(40, 1, 3) < 50)

ShortEntryCondition = (Stoch(40, 1, 3) > 50)

===========================================================

== Entry orders

===========================================================

— Long entry

if LongEntryCondition is true {

if No position is open then Buy at Ichimoku(6, 18, 38, Kijun-sen) + (0.4 * ATR(86)) Limit;

Stop/Limit order expires after 34 bars.

Stop Loss = 190 pips;

Profit Target = (0.74 * ATR(87)) pips;

// Move SL to BE (on close)

Move Stop Loss to Entry price when in profit at least (77 * ATR(12)) pips;

// Profit trailing (on close)

Profit Trailing by 222 pips;

// Stop trailing (on close)

Move Stop to (Close(1) + (0.5) * BBWidthRatio(20, 2.0))) on bar close;

}

— Short entry

if ShortEntryCondition is true {

if No position is open then Sell at Ichimoku(6, 18, 38, Kijun-sen) + (-0.4 * ATR(86)) Limit;

Stop/Limit order expires after 34 bars.

Stop Loss = 190 pips;

Profit Target = (0.74 * ATR(87)) pips;

}

==========================================================

== Exit orders

==========================================================

— Long exit

if MarketPosition is Long {

if (Bars Since Entry >= 33) {

Close position at market;

}

}

4-2. روش داده سه بخشی

از نسخه 3.5 امکان استفاده از روش داده سه بخشی در هنگام استفاده از تکامل ژنتیکی برای تولید استراتژی فراهم شده است.

به طور رسمی، فقط تست های درون نمونه + برون نمونه (2 بخش داده) در تکامل استفاده می شدند. استراتژی ها تنها در داده های درون نمونه تکامل یافته و بر روی داده های برون نمونه تست می شدند.

با استفاده از روش داده سه بخشی، می توانیم داده های درون نمونه را به دو قسمت دیگر تقسیم کنیم، بنابراین سه بخش خواهیم داشت:

آماده سازی درون نمونه (آماده سازی IS)

این قسمت برای تکامل استراتژی ها استفاده می شود. صلاحیت استراتژی بر روی داده های این بخش داده اندازه گیری می شود و استراتژی های دارای بهترین تناسب برای تولید نسل بعدی انتخاب می شوند.

اعتبار سنجی درون نمونه (اعتبار سنجی IS)

این بخش برای مقایسه عملکرد با بخش آماده سازی استفاده می شود. در این بخش همچنین آمادگی و صلاحیت  استراتژی  اندازه گیری شده و شما می توانید پس از اینکه صلاحیت یا عملکرد شروع به رکود و ایستایی در داده های اعتبار سنجی کرد، و یا اگر عملکرد استراتژی (سود خالص، ضریب سود، و غیره) در داده های اعتبار سنجی با عملکرد در داده های آماده سازی مطابقت نداشت، تکامل را مجددا شروع نمایید.

برون نمونه (OOS)

بخش سوم داده ها برای تأیید استراتژی روی داده های ناشناخته استفاده می شود. از آنجا که ما از اعتبار سنجی IS برای تأثیر و اعتبار تکامل استفاده می کنیم، بنابراین دیگر نیاز به انجام این کار در بخش “ناشناخته” از داده ها نیست، ما باید استراتژی را در بخش جدید داده های ناشناخته (OOS) تست کنیم تا عملکرد آن را به طور مستقل بررسی کنیم.

مزیت روش داده سه بخشی چیست؟

به طور رسمی فقط دو قسمت (درون نمونه، برون نمونه) برای تکامل ژنتیک استراتژی های معاملاتی استفاده می شود.

تقسیم کردن داده ها به سه بخش به ما امکان می دهد که تکامل را بهتر کنترل کنیم. با مقایسه عملکرد قسمت آماده سازی در مقایسه  با قسمت اعتبار سنجی، می توانیم تصمیم بگیریم که تست تکامل را مجددا برای اجتناب از اتلاف زمان در فراگشت هایی که به هیچ نتیجه ای نمی رسند، شروع کنیم.

مقالات علمی نشان می دهد که استفاده از روش سه بخشی داده ها می تواند به نتایج بهتر و سریعتری برسد.

چگونگی استفاده از روش داده سه بخشی

شما می توانید تنها در حالت تکامل ژنتیکی از داده سه بخشی استفاده کنید. در تولید تصادفی هیچ تكاملی برای مدیریت وجود ندارد، بنابراین در این بخش مفهمومی نخواهد داشت.

تمام تنظیمات در برگه  Genetic options، در بخش Evolution management قرار دارد. در اینجا می توانید با کلیک بر روی گزینه “Divide In Sample period to Training / Validation” تعیین کنید که شما می خواهید از داده سه بخشی استفاده کنید. یک قائده خوب آن است که داده درون نمونه به 50٪ تقسیم شوند. بنابراین اگر دوره داده برون نمونه شما حدود 30٪ از داده ها باشد و بخش درون نمونه به نصف تقسیم کنید، تمام سه قسمت حدود یک سوم از کل داده ها در دسترس خواهد بود.

به عنوان مثال:

اجازه دهید تا بگویم که کل داده ها 900 روز است.

قسمت برون نمونه حدود یک سوم این مقدار است که 300 روز می شود. در قسمت درون نمونه فرض بر  بقیه داده یعنی 600 روز است. وقتی ما داده درون نمونه را به دو قسمت آماده سازی / اعتبار سنجی تقسیم کنیم ، بخش آماده سازی IS 50٪ از کل داده های درون نمونه (50٪ از 600 روز) است که 300 روز می شود، و همین کاربرد برای بخش اعتبار سنجی IS هم می باشد.

بنابراین طبق نتیجه بدست آمده داده های آماده سازی درون نمونه یک سوم (300 روز )، داده های اعتبار سنجی درون نمونه یک سوم (300 روز )، و داده های برون نمونه هم یک سوم (300 روز ) خواهند بود.

تقسیم دوره درون نمونه به آماده سازی / اعتبار سنجی اولین گام است، اکنون ما نیز باید از آن برای مدیریت تکامل استفاده کنیم.

اگر صلاحیت استراتژی ها برای تعداد  X تولید در بخش اعتبار سنجی درون نمونه در وضعیت رکود باشد، ساده ترین تنظیم آن است که تست تکامل را دوباره شروع کنید

– اگر این رکود رخ دهد بدان معنی است که روند تکامل احتمالا به پایان توسعه ها رسیده و تکامل بیشتر استراتژی های بهتری ایجاد نمی کند، بنابراین ما باید آن را دوباره راه اندازی کنیم.

از شرایط ویژه خاص برای مدیریت تکامل استفاده کنید.

اینها شرایط ویژه ای هستند که می توانید برای مقایسه مقادیر نسبت های عملکرد (Ratios) یا عملکرد دقیق (Exact performance) استراتژی برتر یا 5 استراتژی برتر بین بخش آماده سازی و اعتبار سنجی استفاده کنید. در نظر داشته باشید که شما استراتژی برتر یا متوسط 5 استراتژی برتر که تا حالا در تکامل پیدا شده، را مقایسه می کنید.

نسبت ها (Ratios )

همه نسبت ها به درصد هستند، بنابراین برای مثال:

Ratio – Top StrategyNet Profit Training vs Validation – نسبت درصد سود خالص استراتژی برتر در بخش داده های آماده سازی در مقابل داده های اعتبار سنجی است. به عنوان مثال اگر استراتژی برتر 5000 دلار در بخش آماده سازی و 3000 دلار در بخش اعتبار سنجی ایجاد کند، این نسبت 60 درصد خواهد بود، زیرا استراتژی تنها 60 درصد از سود خالص را در بخش اعتبار سنجی در مقایسه با بخش آماده سازی به دست آورده است. اگر نسبت آماده سازی / اعتبار سنجی بیش از حد کوچک باشد، نشانه خوبی است که تکامل به پایان رسیده و ما باید آن را دوباره راه اندازی کنیم.

عملکرد دقیق  (Exact performance)

علاوه بر نسبت، شما از طریق بررسی نتایج عملکرد استراتژی برتر یا 5 استراتژی برتر در داده های اعتبار سنجی،  می توانید انتخاب کنید تا تکامل مجددا راه اندازی شود. مثلا:

Top 5 Strategies Avg Validation Factor Profit

میانگین ضریب سود 5 استراتژی برتر ​​را در بخش اعتبار سنجی (نه نسبت بین  آماده سازی / اعتبار سنجی) را بر می گرداند. به عنوان مثال، اگر میانگین ضریب سود 5 استراتژی برتر در داده های اعتبار سنجی کوچکتر از مقدار 1.5 باشد، ما می توانیم تکامل را دوباره راه اندازی کنیم .

مشاهده عملکرد سه بخشی

شما می توانید نمودار صلاحیت را در زمان واقعی در صفحه پیشرفت درمجموعه صلاحیت ها ببینید. در حال حاضر 4 برگه مختلف برای هر بخش از داده وجود دارد.

نمودارهای زیر مثالی از اجرای تکامل برای تولید 100 نسل بدون هیچ گونه راه اندازی مجدد می باشد. شما در این مثال حتی اگر عملکرد استراتژی (صلاحیت) برای بخش آماده سازی IS در حال بهبود و توسعه باشد، در بخش اعتبار سنجی IS در رکود باشد یا حتی در بخش OOS بدترین باشد، را می توانید ببینید.

بنابراین روند تکامل می تواند در موقعیتی حدود 20-30 تولید مجددا آغاز شده باشد، زیرا از آن زمان به بعد در بخش های ناشناخته داده توسعه ای وجود نداشت.

اگر شما بعضی از استراتژی ها را از بانک اطلاعات انتخاب کرده و به نمودار درآمد آن نگاه کنید، می توانید نحوه تقسیم آنها به سه بخش و عملکرد هر یک از آنها را ببینید . در این مثال، عملکرد استراتژی در قسمت اعتبار سنجی درون نمونه منفی است.

استراتژی بهتر باید بیشتر شبیه مثال زیر باشد، در حالی که هر سه قسمت تقریبا یکسان است (قابل مشاهده توسط خط قرمز). این استراتژی هنوز هم کامل نیست ( بدلیل داشتن حداکثر افت سرمایه )، این فقط یک مثال است.

شرایط سفارشی جدید برای بانک اطلاعات

تنظیمات برگه گزینه های ژنتیک که در بالا شرح داده شد برای مدیریت تکامل استفاده می شود. علاوه بر این، یک گروه جدید از شرایط سفارشی مبتنی بر نسبت (Ratio-based) در  “Ranking -> Custom conditions” وجود دارد، که ما می توانیم از آن برای کنترل اینکه چه استراتژی هایی به بانک اطلاعات خواهند رسید و کدام یک  خارج خواهند شد، استفاده کنیم. این شرایط های سفارشی جدید از لحاظ فنی به داده سه بخشی مربوط نمی شود، اما آنها توسط این ایده القاء کننده هستند و اجازه می دهند که نسبت عملکرد خصوصیات داده شده بین نتایج درون نمونه و برون نمونه را اندازه گیری کنیم.

تمام نسبت ها به درصد٪ هستند، بطوری که در مثال قبلی:

اگر استراتژی 6000 دلار در کل دوره درون نمونه و 4000 دلار در دوره برون نمونه درآمد کسب کند، پس سود خالص آن (نسبت   OOS/IS ) 66.6 درصد می باشد (از آنجا که 4000 دلار 6.66 درصد از 6000 دلار است).

این شرایط سفارشی جدید را می توان برای فیلتر کردن استراتژی هایی که در قسمت داده های برون نمونه عملکرد بسیار بدتری از داده های درون نمونه دارند، استفاده کرد.

5-2. پشتیبانی از میله Range / Renko

پشتیبانی از میله Range / Renko جدیدترین ویژگی های افزوده شده به  استراتژی کوانت است. حالا شما می توانید از استراتژی کوانت برای ایجاد استراتژی هایی استفاده کنید که در این نمودار های غیر استاندارد معامله خواهند کرد.

پشتیبانی از  Range / Renko در نرم افزارهای معاملاتی:

هر دو سیستم عامل NinjaTrader و Tradestation دارای پشتیبانی درون سازی شده برای این نوع نمودارها هستند، بنابراین تنها چیزی که باید برای استفاده از این نمودارها در استراتژی کوانت انجام دهید، صدور داده های نمودار است (اطلاعات بیشتر در این مورد را در فصل های بعدی ببینید).

پلیت فرم  MetaTrader4  به طور بومی از نمودار Range / Renko پشتیبانی نمیکند، برای نمایش و استفاده از این نوع نمودار شما نیاز به افزونه های ثانوی دارید.

از بین بسیاری از ارائه کننده افزونه های  Range / Renko برای MT4 که ما تست کردیم، می توانیم
AZ-INVEST.EU را توصیه کنیم .

نمودارهای Range  و  Renko  چه هستند؟

آنها نمودارهای جایگزینی هستند که داده ها را در قطعات گروه بندی شده زمانی (5 دقیقه، 15 دقیقه، 1 ساعت) نمایش نمی دهند، بلکه بر اساس معیار متفاوت دیگری نمایش می دهند. برای میله
محدوده (Range  )، یک شمعدانی در نمودار نشان دهنده محدوده داده شده می باشد، به عنوان مثال 10 پیپ است. بنابراین هر زمانی که بازار به اندازه 10 پیپ دیگر حرکت کند، شمع جدیدی شکل می گیرد.

مثال نمودار محدوده

برای اطلاعات بیشتر در مورد نمودارهای Range  و یا Renko لطفا وب سایت google یا AZ-INVEST.EU را برای بررسی استفاده کنید.

چگونه نمودارهای  Range / Renko در استراتژی کوانت کار می کنند؟

این کار همانند داده های دوره زمانی استاندارد کار می کند – شما باید داده های نمودار Range یا Renko را به درستی مانند هر داده تاریخچه قیمت دیگر وارد کنید و تولید استراتژی را به صورت معمول اجرا کنید.

محدودیت استفاده از اطلاعات Renko /Range  در استراتژی کوانت :

  1. فقط دقت “دوره زمانی انتخاب شده” برای این نوع نمودار ها در دسترس می باشد، بنابراین شما قادر نخواهید بود آنها را با استفاده از دقت قیمت تیک تست کنید.
  2. شما باید داده های نمودار Range / Renko را با استفاده از کارمزد ثابت ایجاد کنید. استراتژی کوانت قادر به تست استراتژی ها با استفاده از کارمزد متغیر در این نمودارها نیست.

6-2. بلوک های ساخت پشتیبانی شده

استراتژی کوانت در حال حاضر از اجزای زیر برای ایجاد قوانین ورود و خروج پشتیبانی می کند:

Indicators
Simple Moving Average

Exponential Moving Average

Weighted Moving Average

Commodity Channel Index (CCI)

Relative Strength Index (RSI)

Stochastic

MACD

Bollinger Bands

Qualitative Quantitative Estimation (QQE)

Triple Exponential Moving Average

Custom Indicators ***

Average Directional Movement Index (ADX)

Average True Range (ATR)

Momentum

Williams % Range

True Range

Price Difference

Highest, Lowest

Keltner Channel

Parabolic SAR

Ichimoku

Price Values
Open

High

Open Daily

High Daily

Heiken Ashi Open

Heiken Ashi High

Today Open

Pivots

Low

Close

Low Daily

Close Daily

Heiken Ashi Low

Heiken Ashi Close

This Bar Open

Candle Patterns
Doji

Hammer

Bullish Engulfing

Shooting Star

Dark Cloud Cover

Piercing Line

Bearish Engulfing

Operators
Greater

Lower

Crosses Above

Crosses Below

And

Or

Closes Below

Addition (+)

Subtraction (-)

Multiplication (*)

Equals

Not Equals

Closes Above

Time Values
Hour

Minute

Day of Week
Order Types
Enter at Market

Enter/Reverse at Market

Enter at Stop

Enter at Limit

Exit Types
Stop Loss

Exit After X Bars

Exit Rule (Price + Operators + Indicators, …)

Profit Target

Move Stop Loss to Break-even

Stop Trailing

Profit Trailing

ما به طور مستمر شاخص های فنی و دیگر ویژگی های سازنده را اضافه می کنیم. اگر شما شاخص مورد علاقه ای دارید که می خواهید در استراتژی کوانت ببینید، فقط به ما اطلاع دهید.

یک توضیح: تفاوت بین بسته شدن بالا و تقاطع بالا چیست؟ (Closes Above , Crosses Above)

Closes Above – این عملگر فقط برای قیمت بسته شدن نسبت به یک شاخص عمل می کند و اگر قیمت در زیر شاخص باز شود و در بالای آن بسته شود، مقدارش درست (True) خواهد بود.

Crosses above –  تقاطع بالا عملگری است که برای هر شاخص در مقابل شاخص دیگر عمل می کند و آن را چک می کند اگر شاخص 1 زیر شاخص 2 در شمعدانی  قبل  باشد و اکنون از شاخص 2 در شمعدانی فعلی عبور کرده باشد، مقدارش درست (True) خواهد بود.

7-2. شاخص های سفارشی

از نسخه 2.0 برنامه انعطاف پذیری نامحدودی را برای ساخت بلوک ها با شاخص های سفارشی ارائه می کند. در مقایسه با شاخص های درون سازی شده، استراتژی کوانت نمی داند چگونه شاخص های سفارشی را محاسبه کند، آنها توسط داده های خود تعریف می شوند. این کار شما را قادر می سازد تا تقریبا هر کدام از شاخص های مورد علاقه خود را در استراتژی کوانت استفاده کنید.

هیچ محدودیتی وجود ندارد – شما می توانید شاخص های با چند دوره زمانی یا چند نماد را استفاده کنید، به طور کلی هر شاخص که در MetaTrader کار می کند می تواند در استراتژی کوانت استفاده شود.

راه کار آن این است که شما باید مقادیر محاسبه شده شاخص را بر اساس یک نماد و  دوره زمانی خاص به یک فایل صادر کنید و سپس این فایل را به عنوان شاخص سفارشی به سازنده وارد کنید. به این روش شما شاخص های سفارشی جدید (با مقادیر محاسبه شده در برنامه دیگری مانند MT4) را برای این نماد و  دوره زمانی خاص  در استراتژی کوانت ایجاد خواهید کرد.

به یاد داشته باشید، هر شاخص سفارشی برای ترکیبی خاص از نماد و  دوره زمانی (که در آن محاسبه شده) تعریف شده است.

برای استفاده از همان شاخص برای نماد یا دوره  زمانی دیگر، شما باید داده های خود را در MT4 مجددا محاسبه کرده و آن را صادر کنید و یک شاخص سفارشی جدید برای این ترکیب نماد / دوره زمانی ایجاد کنید.

شما می توانید اطلاعات بیشتری در مورد شاخص های سفارشی را در این بخش ها پیدا کنید:

مدیریت شاخص های سفارشی

چگونگی … وارد کردن شاخص جدید سفارشی

1-3. مفاهیم اصلی

1-1-3. طرح بندی

هنگامی که در ابتدا برنامه را شروع می کنید، صفحه اصلی را همانطور که در تصویر زیر مشاهده می کنید خواهید دید.

عملکرد برنامه در برگه های سمت چپ تقسیم می شود.

این برگه ها عبارتند از:

  • Home – صفحه شروع برنامه، شامل تنظیمات نمونه، اخبار و لینک های مفید است
  • Data manager – مدیر داده
  • Build strategies – ساخت استراتژی ها
  • Retest strategies – تست مجدد استراتژی ها
  • Improve strategies – توسعه استراتژی ها
  • Optimizer – بهینه ساز

2-1-3. بانکهای اطلاعاتی  ( Databank )

بانک های اطلاعاتی مهمترین مفهومی هستند که باید هنگام استفاده از استراتژی کوانت آن را درک کنید. مهم نیست که از کدام حالت استفاده می کنید، بهترین استراتژی های بدست آمده همیشه در بانک اطلاعات ذخیره می شوند.

در اینجا می توانید استراتژی ها را بر اساس مشخصات شان مرتب ، بارگذاری و ذخیره کنید، و هنگامی که روی یک ردیف دوبار کلیک کنید، جزئیات تست استراتژی در پنجره نتایج بالا باز خواهد شد.

شما می توانید تعیین کنید که چه تعدادی از  استراتژی های برتر (10، 100 یا 500) در این بخش ذخیره خواهند شد، چه معیاری برای مقایسه استفاده شود و چه استراتژی هایی به طور خودکار خارج شوند (مثلا با داشتن مقدار P / L منفی).

3-1-3. کار با فایل ها

استراتژی ها در نرم افزار با فرمت فایل اختصاصی خود (با پسوند str.) ذخیره می شوند که می توانند تنها توسط استراتژی کوانت باز شوند.

اگر استراتژی های بالقوه خوبی را پیدا کردید، همیشه باید آنها را ذخیره کنید تا بتوانید بعدا با آنها کار کنید.

اجرای  استراتژی ها در  MetaTrader

متاتریدر نمی تواند فایل های استراتژی str. را بخواند. اگر میخواهید استراتژی جدید خود را در متاتریدر تست کنید و یا آنها را اجرا کنید، باید استراتژی را به صورت کد منبع MQL صادر کنید. لطفا این بخش را  چک کنید “نحوه … صدور استراتژی از استراتژی کوانت و تست آن در MetaTrader”.

لطفا توجه داشته باشید که فایل های صادر شده ( MQ4.*) توسط استراتژی کوانت قابل خواندن نیست، بنابراین مطمئن شوید که همیشه استراتژی خود را به عنوان یک فایل استراتژی متداول ( str.*) ذخیره کرده‌اید.

2-3. مراحل انجام کار

لطفا بخش مقالات را در وب سایت مان برای آخرین نکات بروز شده در مورد چگونگی استفاده از برنامه را چک کنید:

http://www.strategyquant.com/articles

مراحل کلی انجام کار هنگام تولید استراتژی های جدید می تواند به شرح زیر باشد:

  1. پیکربندی اطلاعات برای بک تست

شما می توانید از اطلاعات تاریخچه که با این برنامه همراه است استفاده کرده یا به صورت اختیاری اطلاعات خود را در فرمت MetaTrader وارد کنید. سپس محدوده زمانی و دوره زمانی که می خواهید استفاده کنید را تنظیم کنید.

اگر از حالت تکامل ژنتیکی استفاده می کنید، باید داده ها را به دوره های درون نمونه و برون نمونه تقسیم کنید. شما همچنین می توانید از داده های اضافی یا تست های پایداری استفاده کنید تا به طور خودکار قدرت استراتژی را بررسی نمایید.

  1. پیکربندی تنظیمات

به تمام بخش های تنظیمات بروید و نوع استراتژی، شاخص ها و انواع سفارشاتی که برای قوانین معاملاتی مورد استفاده قرار می گیرند را پیکربندی  کنید. بطور اختیاری از قید های زمانی برای محدود کردن معاملات  به یک دوره  زمانی خاص استفاده کنید .

  1. پیکربندی گزینه های رتبه بندی

گزینه های رتبه بندی به شما این امکان را می دهد که معیارهای انتخاب استراتژی را انتخاب کنید – که چگونه بهترین استراتژی ها تعیین شوند. شما همچنین باید تنظیمات سفارشی را برای فیلتر کردن استراتژی هایی که فقط با معیارهای خاص مطابقت دارند، تعیین کنید. این منطقی است که تمام استراتژی هایی که سود یا معامله کمتری دارند، یا پارامتر ضریب سود ، نسبت Return / DD و یا مقدار کیفیت سیستم بسیار کوچکی دارند، رد و خارج شوند.

  1. اجرای ساخت ( Run Build )

فرایند ساخت شروع کنید. بسته به تنظیماتتان، شما می توانید اجازه دهید تا بمدت چند دقیقه، چند ساعت یا حتی چند روز اجرا شود. در زمان بیشتر استراتژی های بالقوه بیشتری را تست و  اجرا کرده و بهترین آنها در بانک اطلاعات ذخیره خواهند شد.

  1. ارزیابی استراتژی های تولید شده

به بخش استراتژی های تولید شده رفته و آنها را ارزیابی کنید. شما می توانید آنها را با استفاده از بررسی کردن نمودار درآمد شان یا با مرتب سازی آنها بر حسب پارامترهای آنها در بانک اطلاعات به صورت بصری ارزیابی کنید.

بهترین ها را انتخاب کرده تا به مرحله بعدی ارسال شوند و آنها را به صورت فایل پروژه (.sqn) در استراتژی کوانت ذخیره کنید تا بتوانید بعدا با آنها کار کنید.

ارزیابی می تواند شامل تجدید تست استراتژی ها با نماد ها و دوره های زمانی اضافی، یا با کارمزد و لغزش های مختلف و مقایسه نتایج باشد.

شما همچنین باید تست های پایداری را اجرا کنید.

هدف از ارزیابی استراتژی یافتن استراتژی هایی است که قوی هستند – به این معنی که آنها در شرایط مختلف کار می کنند و زمانی که تغییرات کوچک در پارامترها یا داده های قیمت وجود داشته باشد و یا در معرض از دست دادن چند معامله قرار گیرند، شکست نمی خورند.

 

مراحل اختیاری اضافی دیگر عبارتند از:

  1. توسعه استراتژی

شما می توانید توسعه استراتژی را در توسعه دهنده امتحان کنید . شما می توانید سعی کنید ترکیب های مختلف قوانین خروج یا شرایط اضافی برای قوانین ورود را برای جستجو عملکرد بهتر اعمال کنید.

پس از بهبود و توسعه، شما باید تغییرات استراتژی جدید را از طریق تستهای پایداری دوباره اجرا کنید تا اطمینان حاصل شود که قدرت و پایداری آن از دست نرفته است.

  1. بهینه سازی استراتژی

شما می توانید بهینه سازی ساده را برای پیدا کردن ترکیب بهتر پارامترهای ورودی استراتژی تان اجرا کنید. شما همچنین می توانید برای به دست آوردن دورهء زمانی تجدید بهینه سازی استراتژی از بهینه سازی گام به جلو استفاده کنید. به عنوان آخرین مرحله، شما می توانید تجزیه و تحلیل ماتریس گام به جلو را برای تعیین بهترین دوره بازسازی مجدد ، اجرا کنید.

 

مقالاتی در وب سایت ما وجود دارد که جزئیات بیشتری از مراحل کار  را شرح می دهند:

http://www.strategyquant.com/articles/getting%20started%20with%20StrategyQuant

http://www.strategyquant.com/articles/strategy%20building%20process

این برنامه به چهار بخش مستقل (+ مدیریت داده) تقسیم می شود:

1-4. مدیریت داده

مکانی که شما می توانید اطلاعات تاریخچه و شاخص های سفارشی مورد استفاده در برنامه را مدیریت کنید.

1-1-4. داده های تاریخچه

این صفحه جایی است که شما می توانید داده های تاریخچه قیمت را که برای بک تست استفاده می شوند، مدیریت کنید (ایجاد کردن، وارد کردن، تغییر دادن).

استراتژی کوانت در حال حاضر با داده های تاریخچه بیش  از 4 سال برای جفت ارزهای اصلی ارائه شده توسط ForexHistoryDatabase.com ارائه می شود، اما اگر شما داده های تاریخچه خود را در Metatrader داشته باشید، می توانید به راحتی داده های خود را وارد کنید

بخش ورود اطلاعات تاریخچه از MetaTrader را برای توصیح بیشتر بررسی کنید.

2-1-4. شاخص های سفارشی

در این صفحه شما می توانید شاخص های سفارشی را که در استراتژی کوانت مورد استفاده قرار می گیرد را مدیریت و وارد کنید.

صفحه نمایش به دو جدول تقسیم شده است. جدول بالا (1) حاوی لیستی از تمام شاخص های سفارشی است که در سیستم تعریف شده است.

جدول پایین (2) حاوی داده های شاخص – داده ها برای یک شاخص با پارامتر های داده شده، مقادیر خروجی و نماد / دوره زمانی.

مهم است که درک کنیم که استراتژی کوانت قادر به اجرای کد شاخص نیست، بنابراین تنها راه چگونگی استفاده از شاخص های سفارشی در استراتژی کوانت وارد کردن داده های شاخص می باشد.

داده ها وابسته به مقادیر پارامترهای شاخص و همچنین نماد و  دوره زمانی است که با آن تولید شده است.

برای کسب اطلاعات بیشتر در مورد نحوه کار با شاخص های سفارشی، این بخش را بررسی کنید. نحوه … وارد کردن شاخص های سفارشی جدید

2-4. ساخت استراتژی های

قلب برنامه. در اینجا شما می توانید استراتژی های معاملاتی جدید را با استفاده از گزینه های مختلف پیکربندی و بلوک های ساخت تولید کنید.

استراتژی های بدست آمده باید در فایل استراتژی کوانت (str.) ذخیره شوند تا بتوانید بعدا با آنها کار کنید.

حالت های ساخت در دسترس:

تکامل ژنتیکی

استراتژی کوانت ابتدا مجموعه اولیه کاندید های تصادفی را تولید می کند (با استفاده از حالت تولید تصادفی) و سپس از روند تکامل ژنتیکی برای تکامل مجموعه و ایجاد کاندیدهای بهتر و بهتر با هر تولید استفاده می کند.

زمانی که تعداد تولیدبه مقدار از پیش تعیین شده برسد و یا زمانی که پیشرفت بیشتری وجود نداشته باشد، فرآیند به پایان می رسد .

مزایا:

  • طبق تئوری نتیجه باید به استراتژی هایی بهتر از نسل های اولیه تصادفی منجر شود
  • این بدان معنی است که استراتژی های خوب قبلی در تولید و نسل اول می توانند بیشتر توسعه پیدا کنند
  • جستجوی استراتژی سودمند در تریلیون ترکیب احتمالی می تواند عامل خیلی موثری جهت قدرت تکامل باشد

مضرات:

  • تکامل می تواند کندتر باشد.
  • گاهی اوقات تکامل می تواند به پایانی بی نتیجه منجر شود، بنابراین تولید باید تحت نظر و مراقبت باشد.
  • گروه استراتژی های تولید شده توسط اندازه مجموعه محدود می شوند

تولید تصادفی

در این حالت استراتژی کوانت به طور مداوم استراتژی های تصادفی جدید تولید و تست می کند، یکی پس از دیگری تا زمانی که متوقف شود. انتخاب های برتر (بر اساس معیارهای از پیش تعیین شده) در بانک اطلاعاتی ذخیره می شوند تا بتوانید آنها را بعدا بررسی کنید.

مزایا:

  • سریع تر و ساده تر از تکامل ژنتیکی است.
  • آنقدر اجرا خواهد شد تا زمانی که متوقف شود، بنابراین اگر شما اجازه دهید می تواند برای چند روز اجرا شده و میلیون ها استراتژی تولید و ارزیابی کند.

مضرات:

  • وقتی که استراتژی ها تولید شدند بهبود و توسعه یافته نیستند.
  • 3-4. تست مجدد استراتژی هااین بخش برای تست مجدد استراتژی های موجود قبلی استفاده می شود. شما می توانید استراتژی را بر روی داده های تاریخچه  یا دوره زمانی دیگر بازبینی و تست کنید؛ تست پایداری را بر روی استراتژی اجرا کنید  گزینه های مختلف را امتحان کنید (مثلا فقط در یک ساعت خاص در روز).4-4. توسعه استراتژی هااین بخش می تواند برای توسعه و بهبود استراتژی موجود ایجاد شده در مرحله ساخت استفاده شود. “توسعه” استراتژی به معنی جایگزینی بعضی از بخش های آن (قانون ورود، نوع سفارش، قانون خروج)  یا اضافه کردن شرط جدید برای ایجاد استراتژی “بهتر” است.توسعه دهنده به گونه ای عمل می کند که به طور تصادفی بخش انتخاب شده ای از استراتژی را تولید کند، در حالی که بخش های دیگر استراتژی را حفظ می کند.به این ترتیب شما می توانید قوانین خروج بهتر یا شرایط اضافی ورودی را مشاهده کنید که عملکرد استراتژی را بهبود خواهند بخشید.
  • 5-4. بهینه سازبهینه ساز می تواند برای بهینه سازی پارامترهای استراتژی برای مقادیر بهینه، و همچنین برای بهینه سازی گام به جلو و ماتریس گام به جلو استفاده شود.

این برنامه به چند قسمت مستقل تقسیم شده است که با عملکرد اصلی مطابقت دارند.

Home

صفحه اصلی  برنامه، شامل تنظیمات نمونه، اخبار و لینک های مفید می باشد

Data Manager

در اینجا شما می توانید اطلاعات تاریخچه و شاخص های سفارشی خود را مدیریت کنید

Build strategies

بخشی برای ساخت استراتژی های معاملاتی جدید

Retest strategies

بخشی برای تست مجدد استراتژی های موجود با تنظیمات مختلف، یا بر روی نمادها / دوره های زمانی مختلف

Improve strategies

بخشی برای توسعه و بهبود استراتژی موجود با ایجاد شرایط قانون اضافی

Optimizer

با ویژگی های بهینه سازی ساده و گام به جلو و ماتریس گام به جلو

Settings area

هر بخش دارای منطقه تنظیمات مستقل خود است و شما می توانید پروسه ساخت و تست را پیکربندی کنید

Results area

اینجا شما می توانید عملکرد استراتژی انتخاب شده را ببینید و کد اکسپرت آن را دریافت کنید

buttons for starting, pausing and stopping the process

دکمه برای شروع، مکث و توقف روند

databanks – lists where generated strategies are stored

بانک های اطلاعاتی – فهرست هایی که در آن استراتژی های تولید شده ذخیره می شوند. منطقه ذخیره سازی برای استراتژی ها، شامل تمام استراتژی های ساخته شده و تست شده می باشد.

1-5. پروسه پیشرفت

صفحه نمایش پیشرفت جایی است که شما می توانید فرآیند ساخت یا تست را شروع، مکث و یا متوقف کنید.

این بخش همچنین به شما گزارش وقایع  و حافظه مصرف شده را نشان می دهد .

قبل از شروع ساخت یا تست باید داده ها و تنظیمات را پیکربندی کنید. نتایج (استراتژی های تولید شده) به صورت مستمر در بانک اطلاعاتی در پایین ذخیره می شوند.

2-5. تنظیمات

1-2-5. داده ها – Data

در بخش داده ها، شما باید نماد، دوره زمانی و محدوده زمانی را انتخاب کنید که بر اساس آن استراتژی ها بک تست  شود.

Backtesting Engine

به شما اجازه می دهد تا یکی از موتورهای بک تست در دسترس (  Backtesting MetaTrader4 / NinjaTrader / Tradestation  ) که باید برای تست استراتژی استفاده شود  را انتخاب کنید  . توضیح بیشتر در مورد تفاوت در موتورهای بک تست در اینجا شرح داده شده است  – موتورهای بک تست

Allow only engine symbols

اگر شما این گزینه را انتخاب کنید، قادر خواهید بود تنها از نمادهای متعلق به یک موتور خاص استفاده کنید. به عنوان مثال، شما نمی توانید تست با موتور NinjaTrader را بر روی داده های MT4 انجام دهید.

Symbol, Period, Start and End Dates

استراتژی کوانت تمام استراتژی های تولید شده در یک داده تاریخچه معرفی شده را تست می کند و این صفحه به شما اجازه می دهد تا نماد و دوره زمانی مورد استفاده برای بک تست را انتخاب کنید. گزینه ای نیز برای انتخاب دوره تست (از تاریخ، تا تاریخ ) وجود دارد.

Out of Sample Period

اجازه می دهد تا اطلاعات تاریخچه را به دو قسمت تقسیم کنید:

درون نمونه (In Sample) – در طی تکامل ژنتیکی برای محاسبه رتبه استراتژی ها استفاده می شود تا برنامه بتواند آنها را مقایسه کند

برون نمونه (Out of Sample) – این قسمت از داده ها برای بررسی و تایید اینکه آیا استراتژی واقعا به همان شکلی که انتظار می رود بر روی داده هایی که تکامل نیافته، کار می کند، استفاده می شود

Test parametersTesting precisionدقت  تست به این معنی است که چه قیمتی به عنوان داده در طول بک تست شبیه سازی می شود.معمولا استفاده از حالت دوره زمانی انتخابی برای سفارشات بازار  و یا حالت شبیه سازی قیمت لحظه ای برای سفارشهای توقف / محدودیت کافی است.

شما همچنین می توانید از حالت سریع تر برای تولید و سپس حالت کندتر برای تست مجدد استراتژی استفاده کنید.

Trade On Bar Open

در این حالت، سیستم وضعیت را برای سیگنال ها و قراردادن معاملات فقط هنگام باز شدن یک میله  بررسی خواهد کرد. این روال نه تنها برای باز کردن معامله، بلکه برای بستن معامله در حد ضرر و یا حد سود نیز معتبر است .

اگر معامله به مقدار حد سود یا حد ضرر خود برسد، در این سطح بلافاصله بسته نمی شود، بلکه تنها در هنگام باز شدن نوار بعدی بسته خواهد شد!

اگر از این حالت استفاده می کنید، باید نسخه ویژه ای از اکسپرت را تولید کنید که فقط در هنگام باز شدن نوار برای رسیدن به تا نتایج مشابه معامله کند.

Selected Timeframe only

به همراه Trade On Bar Open سریع ترین حالت

تست است. این حالت فقط از دوره زمانی اصلی برای شبیه سازی قیمت ها استفاده می کند.

نتایج در این حالت بسیار سریع و با دقت بسیار خوب بک تست می شوند. با این حال، برای معاملات  Stop یا Limit، ممکن است دقت تست کافی نباشد و شما باید حالت دقیق تری را امتحان کنید.

1 Minute data

حالت تست کندتر، از اطلاعات دقیقه ( اگر در دسترس باشد )  برای شبیه سازی تغییرات قیمت در طول تست استفاده می کند.Tick simulationحالت تست آهسته،از شبیه سازی تیک قیمت مطابق داده دقیقه ای برای به دست آوردن نتایج دقیق تر استفاده می کند. این دقیق ترین تستی است که می تواند بدون داده های واقعی قیمت لحظه ای (تیک) بدست آید.این حالت تست به اندازه کافی  برای اجرای هر نوع سفارش دقیق می باشد.

Real Tick

این حالت از شبیه سازی دقیق قیمت استفاده می کند (اگر در دسترس باشد ) . این حالت بسیار کندتر از حالت های دیگر است و باید برای تایید نهایی استراتژی جدید مورد استفاده قرار گیرد.

توجه کنید! بک تست کننده در  NinjaTrader و Tradestation می توانند تنها با دقت دوره زمانی انتخاب شده کار کنند.

Additional data for testingدر بخش داده های اضافی برای تست شما می توانید استراتژی خود را به طور خودکار در چند نماد / دوره های زمانی با مشخص کردن اطلاعات اضافی تست کنید.

برای انتخاب داده های اضافی، نماد را در جعبه دسته بندی انتخاب کنید و دوره زمانی آن، محدوده زمانی، کارمزد و غیره را تنظیم کنید.استراتژی تنها بر روی داده های اضافی تست خواهد شد که ردیف آن انتخاب و تیک شده باشد.به این ترتیب شما می توانید استراتژی خود را به طور همزمان بر روی چندین نماد، یا همان نماد و دوره های زمانی مختلف، یا حتی با نماد و دوره زمانی یکسان، و تنها کارمزد، لغزش یا دقت متفاوت، تست کنید.مشاهده نتایج تست های داده های اضافی

اگر شما هر گونه اطلاعات اضافی را انتخاب کنید، قادر خواهید بود تا نتایج را برای هر یک از نماد / دوره زمانی اضافی و همچنین نتیجه کل سبد استراتژی کارها (استراتژی بر روی داده های اصلی + تمام داده های اضافی خلاصه شده با هم) بررسی کنید.

در بخش نتایج.

اگر از داده های اضافی برای تست استفاده می کنید، شما همچنین این فرصت را دارید تا استراتژی های حاصل شده بوسیله اجرای تمام نمونه کارها را در گزینه های رتبه بندی شرایط سفارشی فیلتر کنید.

2-2-5. بلوک های ساخت – Building blocksبلوک های ساخت اجزاء اصلی درونی هستند که برای ایجاد قوانین برای هر استراتژی معاملاتی با هم ترکیب می شوند.بلوک های ساخت قوانین ورودبلوک های ورود به معامله  را می توان به پنج قسمت اصلی تقسیم کرد:

  • اطلاعات قیمت – قیمت های  باز شدن، بالا، پایین، بسته شدن
  • شاخص های تکنیکال – RSI، CCI، Momentum و غیره
  • عملگرهایی که برای مقایسه و ترکیب قوانین استفاده می شوند – <, >, and, or و غیره
  • ثابت های زمانی – ساعت، دقیقه روز، روز هفته
  • قوانین ساده از پیش تعریف شده – CCI> 0، Stochastic <50 و غیره

شما می توانید هر جزء را برای  استفاده  در استراتژی، انتخاب کنید، همچنان می توانید شاخص های مورد علاقه خود را انتخاب کنید یا برای مثال  اگر می خواهید استراتژی هایی بر اساس قیمت ایجاد کنید، فقط داده قیمت + عملگرها را انتخاب کنید.

تمرین خوب

با توجه به تجربه ما، اگر شما همه اجزای موجود را بررسی و انتخاب نکنیدگاهی اوقات می توانید نتایج بهتری را بدست آورید ، پس انتخاب خود را محدود به یک گروه کوچکتر از شاخص ها یا مقادیر قیمت کنید.

شما می توانید تمام توضیحات را  گره های ورود و خروج  پیدا کنید.

3-2-5. گزینه های استراتژی – Strategy optionsاین تنظیمات به شما اجازه می دهد مشخصات استراتژی های تولید شده و همچنین شرایط تست را تعیین کنید.

Market Sidesشما می توانید برای ایجاد استراتژی هایی که تنها در یک جهت (Long یا Short) یا هر دو جهت (که استاندارد است) معامله می کنند، این گزینه را انتخاب کنید. همچنین اگر شما بخواهید می توانید انتخاب کنید که قوانین ورود یا خروج متقارن و متناسب باشند. اگر آنها متقارن باشند، قوانین هر دو جهت یکسان هستند، فقط معکوس می شوند.یک مثال از قوانین متقارن:اگر CCI> 0 برو به معامله خرید

اگر CCI <0 برو به معامله فروش

به عنوان یک جایگزین، می توانید استفاده از قوانین غیر متقارن را انتخاب کنید ، در این حالت قوانین برای جهت های خرید و فروش (Long and Short) به طور مستقل تولید می شوند.

یک مثال از قوانین غیر متقارن:

اگر CCI> 0 برو به معامله خرید

اگر RSI <0 و Momentum<100 برو به معامله فروش

این تنظیمات می تواند برای هر دو قوانین ورود و خروج مورد استفاده قرار گیرد، به عنوان مثال شما می توانید قوانین وارد شدن متقارن، اما قوانین خروج غیر متقارن داشته باشید.

همچنین استراتژی به طور موثر (به عنوان مثال) از حد ضرر و حد سود متفاوتی برای سفارشات خرید و فروش استفاده می کند.

Trading Logicمنطق معامله کردن، رفتار استراتژی و محدودیت های بک تست را تعریف می کند. از آنجا که دو موتور متضاد مختلف وجود دارد (MetaTrader / NinjaTrader)، همچنین بعضی از پارامترهایی که تنها برای یکی از آنها منحصر به فرد هست نیز موجود است.

   Fill Type (NinjaTrader only)پیش فرض یا آزاد است. این نوع پرکننده مورد استفاده در بک تست را تعریف می کند. برای اطلاع از انواع مختلف پر کننده ها لطفا به راهنمای NinjaTrader مراجعه کنید.Strict Stop Prices (NinjaTrader only)به طور معمول محدودیت هایی برای قرار دادن سفارشات توقف و محدود وجود دارد. به عنوان مثال شما می توانید دستور توقف خرید را فقط در بالای قیمت واقعی و توقف فروش را تنها در زیر قیمت واقعی وارد کنید . اگر شما StrictStopPrices = true را تنظیم کنید، از این رفتار استاندارد استفاده می کند و از ارسال سفارشات با سطوح قیمت در خارج از این محدودیت ها اجتناب می کند.

در صورتیکه شما آن را با مقدار false تنظیم کنید، اگر قیمت سفارش توقف درست باشد و یا اگر برای مثال شما بخواهید سفارش توقف خرید زیر قیمت واقعی بازار وارد کنید، سفارش را بررسی خواهد کرد  . بنابراین تنظیمات StrictStopPrices با مقدار false اجازه می دهد حتی اگر قیمت قبلا بیش از سطح مجاز باشد، سفارشات خود را در بازار وارد کنید.

Pending Orders Valid One Bar (NinjaTrader only)

اگر با مقدار  true تنظیم شود، سفارشات در انتظار شما فقط برای یک میله معتبر خواهد بود. آنها باید مجددا در هر میله ارسال شوند تا معتبر باشند. اگر شما آن را با مقدار false  تنظیم کنید، دستورات در حال تعلیق تا زمانی که آنها منقضی شوند یا تا زمانی که لغو شوند، معتبر هستند. در متاتریدر معاملات معلق تا زمانیکه آنها منقضی شوند معتبر می باشند.

 Replace Pending Orders (MetaTrader, NinjaTrader only)این گزینه تنظیم مهمی است که تأثیر زیادی در دستورات توقف و محدود دارد. اگر با مقدار true تنظیم شود، در هر زمانی که سیگنال جدیدی موجود باشد، دستورات توقف با نسخه به روز شده جایگزین شده و سفارش باز هم در انتظار و معلق است.در نسخه های قدیمی استراتژی کوانت این تنظیم به طور ضمنی و با مقدار false  تنظیم شده و مخفی بود. به نظر می رسد که تنظیم آن با مقدار true منجر به ظهور استراتژی های بهتر و موفق تر می شود و به طور کلی توصیه می شود.

در  Tradestationسفارشات معلق به طور خودکار  جایگزین می شوند.

Maximum Trades Per Day

شما می توانید حداکثر معاملاتی را که در هر روز استراتژی می گیرد را محدود کنید.

Maximum Total Trades

شما می توانید حداکثر مجموع معاملات را به یک شماره معین محدود کنید. معمولا استفاده از این محدودیت خوب است و آن را با مقادیر بزرگ (1000-5000، بسته به اینکه چه تعداد معامله شما انتظار دارید در طی یک دوره آزمایشی داشته باشید) تعیین کنید.

Exit at end of day/end of range

اگر انتخاب شود، استراتژی تمام معاملات را در انتهای روز یا پایان محدوده معاملاتی (اگر تعریف شود) خواهد بست. به این ترتیب شما هیچ معامله بازی را در یک شب نخواهید داشت.

Limit Signals to Time Range, Time Range From, Time Range To

این محدودیت ساعت استراتژی برای بررسی سیگنال ورود در یک محدوده زمانی داده شده، می باشد. اگر در ترکیب با خروج در انتهای محدوده استفاده شود، تمام معاملات باز در انتهای محدوده بسته می شوند.

اگر شما گزینه  Exit At End Of Range را انتخاب نکنید، استراتژی معاملات جدیدی را خارج از محدوده معاملاتی باز نخواهد کرد، اما معاملاتی که قبلا باز شده را نخواهد بست.

Exit At End Of Range, Exit At End Of Day, Exit On Friday

سه تنظیم که مدیریت می کند آیا معاملات در پایان محدوده، روز، هفته یا جمعه باید بسته شود.

Stop Loss & Profit Target Options

این تنظیمات به شما اجازه می دهند مشخص کنید که آیا حد ضرر و  حد سود باید در استراتژی اجباری باشد و حداقل و حداکثر مقدار SL / PT در واحد پیپ چه مقدار است.شما همچنین می توانید نسبت پاداش به ریسک مورد نظر را تعیین کنید. داشتن SL / PT تعریف شده در استراتژی، ساده ترین و موثرترین روش است.اگر SL / PT اجباری را انتخاب نکنید، استراتژی تولید شده تصادفی می تواند (اما لازم نیست) دارای SL / PT ثابت باشد. اگر این تنظیم را بردارید بهتر است از قوانین خروج متفاوت استفاده کنید ، مثلا خروج بعد از X میله، در غیر این صورت استراتژی هیچ راهی برای خروج از معامله نخواهد داشت.Lookback periods

در اینجا می توانید دوره ها و ضرایب استفاده شده توسط GB را هنگام ایجاد قوانین معاملاتی تنظیم کنید.

Maximum Period for Indicators

تنظیم حداکثر دوره ای که برای شاخص ها استفاده می شود. معمولا ما در سیستم معاملاتی (بسته به نوع استراتژی معاملاتی) از دوره های بزرگتر از 100-300 استفاده نمی کنیم، بنابراین توصیه می شود که مقدار حداکثر دوره مورد نظر را تعیین کنید.

Maximum Period for Price Patterns

این مقدار حداکثر دوره بررسی برای الگوهای قیمت (قیمت های باز شدن، بالا، پایین، بسته شدن) می باشد. و واقعا بدون معنی است که مقدار آن را بیش از 10-20 تنظیم کنید، زیرا قیمت قدیمی تر معمولا با حرکت فعلی بازار ارتباطی ندارد.

Minimum and Maximum ATR Multiple

اینها ضرایبی هستند که اگر حد  ضرر و سود بر اساس مقدار میانگین دامنه واقعی(ATR ) باشند، در تطبیق و تعیین حد سود و حد ضرر مورد استفاده قرار می گیرند. برای مثال، تنظیم حداقل تا 0.5 و حداکثر 5 به استراتژی کوانت می گوید که می تواند حداقل 0.5 * ATR را به عنوان مقدار SL یا PT و حداکثر 5 * ATR به عنوان مقدار SL یا PT استفاده کند.

4-2-5. گزینه های ژنتیک

تنظیماتی که بر تکامل ژنتیک تأثیر می گذارند.نکته مهم این است که یک پیکربندی ایده آل وجود ندارد. شما می توانید با تنظیمات تکامل ژنتیکی را برای دستیابی به نتایجی که می خواهید، آزمایش و تجربه کنید.گزینه های ژنتیکی – Genetic OptionsPopulation size

اندازه مجموعه تعداد استراتژی های مختلف در یک مجموعه است. باید حداقل 50 باشد، مقدار ایده آل بین 100 تا 1000 یا ممکن است بیشتر باشد.

Max # of Generations

تعداد  تولید و نسل تکاملی که باید انجام شود، می باشد.

Mutation Probability

احتمال اینکه یک استراتژی جهش و تغییر پیدا کند، باید حدود 5 تا 15 درصد باشد.

Crossover Probability

احتمال این که استراتژی برای عملکرد متقاطع انتخاب شده است. در هر تولید یک تقاطع از استراتژی های اجرا شده وجود دارد که طی آن دو استراتژی والدین “همسر” ، دو فرزند تولید می کنند. مقدار توصیه شده مفروض 95٪  می باشد.

Initial Population Generation

برای مجموعه اولیه شما می توانید دو گزینه را انتخاب کنید:

Generate random population

ایجاد مجموعه اولیه بطور تصادفی با استفاده از تنظیمات از پیش تعریف شده و بلوک های ساخت تولید خواهد شد.

Decimation coefficientضریب تلفات بدان معنی است که سیستم استراتژی های بیشتر از مورد نیاز برای مجموعه اولیه تولید کرده، و سپس فقط بهترین ها را انتخاب می کند. برای ضریب تلفات وقتی 1 است بدان معنی است که هیچ تلفاتی وجود ندارد.برای ضریب تلفات = 2 سیستم 2 برابر اندازه مجمو عه تعریف شده استراتژی تولید می کند و سپس  نیمی از بهترین ها را برای مجموعه اولیه انتخاب می کند.برای ضریب تلفات = 3 سیستم 3 برابر اندازه مجمو عه تعریف شده استراتژی تولید می کند و سپس  یک سوم  از بهترین ها را برای مجموعه اولیه انتخاب می کند.

Max tree depth

به شما اجازه می دهد حداکثر عمق درختواره شرایط استراتژی را مشخص کنید. اگر شما گزینه  ” …Force” را انتخاب نکنید، فقط برای تولید اول اعمال خواهد شد، تولید های نسل بعدی ممکن است درختواره با عمق بیشتری داشته باشند که نتیجه تولید مثل و جهش استراتژی هستند.

اگر گزینه  ” …Force”  را  برای تمام نسل ها انتخاب کنید، آنگاه حداکثر عمق درختواره برای تمام استراتژی های ایجاد شده اعمال خواهد شد.

Use systems from databank as initial population

استراتژی های موجود می توانند به عنوان مجموعه اولیه استفاده شوند. این استراتژی ها به پایگاه داده مجموعه اولیه بارگیری شده اند.

Initial Population Conditions

هنگام تولید مجموعه اولیه شما می توانید تنظیمات اضافی را برای فیلتر کردن استراتژی های اشتباهی که نمی خواهید استفاده کنید،  تعیین کنید. برای مثال شما می توانید برای رد کردن (پرتاب کردن) استراتژی هایی که درآمد خالص زیر صفر دارند یا جایی که تعداد معاملات کمتر از سطح تعیین شده است، آن را پیکربندی کنید.

Evolution Managementاین در نسخه 3.5 به روز شد و در حال حاضر به شما اجازه می دهد محدوده داده درون نمونه را به دو بخش برای رسیدن به داده سه بخشی تقسیم کنید و انجام تکامل بیشتر به روش های مختلف را کنترل کنید.برای کسب اطلاعات بیشتر در مورد قابلیت های جدید و مثال ها، لطفا روش داده سه بخشی را بخوانید.Start again when finished

اگر این گزینه انتخاب شود، روند تکامل را  بعد از اینکه به پایان رسید دوباره شروع خواهد کرد ( تا رسیدن به حداکثر تعداد تولید).

Restart when fitness stagnates for X generations

اگر این گزینه انتخاب شود، اگر صلاحیت رکود و ایستایی به تعداد  مقدار داده شده در تولید برسد آن را دوباره راه اندازی می کند. صلاحیت امتیاز استراتژی است. اگر به نسل و تولیدهای 5 تا 10 رسیده باشد، معمولا نشانه آن است که تکامل به پتانسیل و قابلیت نهفته خود رسیده یا به پایان بی نتیجه ای رفته است، بنابراین ممکن است ایده خوبی باشد که دوباره آن را راه اندازی کنید.

5-2-5. مدیریت سرمایهمدیریت سرمایه (یا حجم معامله) مشخص می کند که چه مقدار حجم یا سرمایه در هر سفارش معامله می شود.استراتژی کوانت دارای سه گزینه مختلف مدیریت سرمایه است که می تواند در برنامه و همچنین بعد از n  عدد معامله واقعی در MetaTrader استفاده شود .Fixed size

استراتژی با مقدار ثابت حجم معامله می کند. این تنظیم زمانی توصیه می شود که شما استراتژی جدید تولید می کنید زیرا این روش به شما یک نمای کلی  واضح از عملکرد واقعی استراتژی را نشان می دهد.

Fixed amount

استراتژی یک مقدار ثابت از سرمایه را  برای هر معامله ریسک خواهد کرد.

این روش اصلی مدیریت سرمایه بدون چند جزئی است. و می تواند در تست عملکرد واقعی استراتژی که در آن حد ضرر بر اساس نوسان (ATR) است، یا اگر می خواهید عملکرد استراتژی های با حد ضرر مختلف را مقایسه کنید، استفاده شود.

Risk fixed % of account

مدیریت سرمایه پیشرفته که برای معاملات واقعی توصیه می شود. استراتژی درصد مشخص تعیین شده از ارزش جاری سرمایه را در هر معامله ریسک خواهد کرد.

این روش ساده است، اما بسیار مدیریت سرمایه موثری است که اجازه می دهد استراتژی مقدار حجم را  افزایش داده و در نتیجه حساب کاربری شما رشد کند.

به طور کلی توصیه می شود که حداکثر 2-5٪ از مقدار ارزش جاری سرمایه در هر معامله  ریسک کنید.

6-2-5. تست های پایداریتست های پایداری آزمونهای اضافی هستند که میتواند به استراتژی شما اعمال شوند. تفکر متکی بر  تست پایداری این است که وقتی تغییرات کوچکی در ورودی ها، داده های تاریخچه یا سایر اجزای استراتژی ایجاد شود، میزان درست رفتار کردن استراتژی را تایید کند .استراتژی قوی باید عملکرد خوبی داشته باشد، حتی زمانی که پارامترهای ورودی کمی تغییر می کنند یا وقتی که از اجرای برخی سفارش ها پرش کرده و آنها را اجرا نمی کند.استراتژی کوانت به شما امکان می دهد از تست پایداری در یک فرم تحلیل مونت کارلو استفاده کنید.

این بدان معنی است که برنامه تعداد مشخصی از تست های استراتژی را با تغییرات تصادفی داده شده اجرا می کند. در نتیجه شما برای هر تست یک تعداد نتایج خروجی و درآمد های خروجی دریافت خواهید کرد.

بعدا  شما می توانید این نتایج را بررسی کنید تا ببینید که استراتژی هنگام تغییر ورودی چگونه رفتار می کند و به شما کمک می کند تا تصمیم بگیرید آیا می توانید با چنین استراتژی  معامله کنید.

تنظیمات شبیه سازی مونت کارلو – Monte Carlo Simulation Settingsتست استراتژی با ورودی ها یا داده های تاریخچه تصادفی ، تنها یک نتیجه متفاوتی را فراهم می کند که بتوان با نتیجه اصلی مقایسه شود.برای به دست آوردن تصویر کامل تر، تست پایداری می تواند تکرار شود، تا زمانی که مجموعه ای از نتایج متفاوت را دریافت کنیم.شما می توانید تعداد تست ها را در متغیر  Number of simulations مشخص کنید. شبیه سازی بیشتری که اجرا شود، اهمیت آماری بهتری از نتایج را خواهد داشت، اما این عمل قیمتی دارد. هر تست زمان خود را می گیرد، بنابراین آزمایش های بیشتری که انجام می دهید، زمان طولانی تری را خواهد گرفت تا به طور کامل استراتژی بک تست شود. بهترین مقدار تست بین 10 تا 100 است.

Confidence level for reportingسطح اطمینان به سادگی،  برای گزارش یک میزان اطمینان است که در جدول تجزیه و تحلیل پایداری با پس زمینه تیره مشخص شده است (زیر را ببینید).سطح اطمینان معمول برای استفاده 95٪ است.

انواع تستهای پایداریدر زیر توضیحی از انواع مختلفی از آزمونهایی که می توانید استفاده کنید، موجود است. اگر بیش از یک گزینه انتخاب شود، تست ها ترکیب می شوند.Randomize Trades Order

این ساده ترین تست است، در حالت تغییر ” Exact”  فقط به طور تصادفی ترتیب سفارشات معاملات را تغییر می دهد. و این کار سود خالص حاصل شده را تغییر نمی دهد، اما برای بررسی تغییرات مختلف میزان کاهش سرمایه بسیار مفید است که می تواند نتیجه ای از روند متفاوت اجرای سفارش معاملات باشد.

در حالت تغییرات پیشرفته تر “Resampling” تست مجدد این آزمون، فقط معاملات تغییر نمی کنند. به جای آن، برنامه به طور تصادفی تعداد کل معاملات را از مجموعه تمام معاملات در تاریخچه جمع آوری می کند. تفاوت در این است که در این روش لیست معاملات ممکن است یکسان نباشد. این روش می تواند یک معامله را چند بار انتخاب کرده و برخی از معاملات دیگر را ممکن است انتخاب  ننماید.

این روش در عین حال یک دیدگاه دیگر از سیستم ارائه می کند. این روش معمولا هر دو پارامتر سود خالص و حداکثر کاهش سرمایه را تغییر خواهد داد و تست کاملا افراطی می باشد.

Randomly Skip Trades

به طور تصادفی از اجرای معاملات با مقدار احتمال داده شده، چشم پوشی و پرش می نماید.  در معاملات واقعی شما اغلب می توانید به دلیل نرم افزار معاملاتی و یا قطع اینترنت، و یا  به دلیل ساده اینکه شما بعضی وقت ها معاملات را متوقف کرده اید، یک معامله را از دست بدهید .

این تست  به شما این ایده را خواهد داد که که اگر بعضی از معاملات به صورت تصادفی اجرا نشوند، منحنی درآمد ممکن است چگونه به نظر برسد .

Randomize Strategy Parameters

هر استراتژی از پارامترهایی از قبیل دوره  شاخص یا مقادیر ثابت استفاده می کند که در مقایسه استفاده می شود. این تست حساسیت استراتژی را به یک تغییر کوچک در مقدار پارامتر بررسی می کند.

احتمال تغییر یک احتمالی است که هر پارامتر مقدار ش تغییر می کند. حداکثر تغییر پارامتر حداکثر درصدی است که پارامتر مقدارش تغییر می کند.

به عنوان مثال اگر شما حداکثر تغییر پارامتر را به 10٪ تنظیم کنید، پارامتر با مقدار 60 می توانید به صورت تصادفی در محدوده 54 – 66 تغییر کند (10±٪ از مقدار اصلی آن 60).Randomize Starting Barرفتار استراتژی را هنگامی که تست بر روی یک میله متفاوت شروع می شود را آزمایش خواهد کرد. واضح است که یک استراتژی خوب نمیتواند حساس به این موضوع باشد که شما تست را از کدام میله شروع می کنید.Randomize History Data

یک حالت بسیار رایج در مورد انطباق منحنی زمانی است که استراتژی بیش از حد وابسته به داده های تاریخچه باشد. این گزینه رفتار استراتژی را نسبت به تغییر داده های تاریخچه بررسی می کند.

احتمال مجموعه تغییرات برای هر میله آن است که چه احتمالی وجود دارد اگر قیمت باز شدن، بالا، پایین یا بسته شدن تغییر کرده باشند. تغییر حداکثر قیمت یک درصد از تغییر نسبت به ATR (میانگین دامنه واقعی) است. بنابراین اگر برای مثال قیمت بسته شدن به طور تصادفی برای تغییرانتخاب شده ، ارزش ATR  مقدار 10 پیپ است، و حداکثر تغییر قیمت 20٪، است پس قیمت می تواند به اندازه  2±  پیپ تغییر کند.

Randomize Spread, Slippage, Min distance from price

این شبیه سازی ها تست هایی را با کارمزد، لغزش یا حداقل فاصله سفارش توقف تا قیمت به صورت تصادفی از محدوده داده انتخاب شده اجرا خواهد کرد.

برای اطلاعات در مورد چگونگی استفاده از تست های پایداری و نحوه تفسیر نتایج، بخش تست ها  و تجزیه و تحلیل پایداری را بررسی کنید.

7-2-5. گزینه های رتبه بندی

هنگامی که استراتژی ها تولید می شوند، هر استراتژی جدید بر روی داده های تاریخچه بک تست می شود و سپس نتایج بک تست برای محاسبه صلاحیت استراتژی (رتبه) استفاده می شود. صلاحیت از شماره 0 تا 1 است و باید “کیفیت” استراتژی را با توجه به معیارهای داده شده منعکس نماید.

در این صفحه شما می توانید این موارد را پیکربندی کنید:

  • چگونه مقدار این صلاحیت محاسبه می شود (معیار انتخاب استراتژی)
  • چه تعداد استراتژی برتر در بانک اطلاعاتی ذخیره شوند
  • چه استراتژی هایی در بانک اطلاعاتی ذخیره شوند و کدام از بین بروند (شرایط سفارشی)

Databank Options

بهترین استراتژی های پیدا شده به طور پیوسته در بانک اطلاعات ذخیره می شوند.

ممکن نیست هر استراتژی ذخیره شود (به یاد داشته باشید که استراتژی کوانت می تواند هزاران استراتژی جدید را هر ساعت ایجاد کند) بنابراین ما باید تعیین کنیم که چه تعداد استراتژی باید در بانک اطلاعات ذخیره شوند، چگونه برای یافتن بهترین ها باید آنها مرتب شوند و کدام استراتژی  ها باید حذف و خارج شوند.

Maximum Strategies to Store in Databank

به سادگی حداکثر تعداد استراتژی هایی که باید در برنامه ذخیره شود را تعیین می کند.

Dismiss strategies that have 100% duplicate orders

در صورت انتخاب این گزینه، استراتژی هایی که سفارشاتی دقیقا مشابه بعضی از استراتژی ها در بانک اطلاعاتی دارند، حذف خواهند شد. توصیه می شود این گزینه انتخاب شود، اگر استراتژی با سفارشات تکراری وجود داشته باشد، احتمالا همان استراتژی با قوانین بیش از حد خواهد بود.

Custom Conditions

شما می توانید قوانینی را تعریف کنید تا استراتژی های با مشخصات بد را بیرون بکشید. به عنوان مثال معمولا  تصور می شود استراتژی هایی که نتیجه ضرر ده داشته و یا این که تعداد معاملات کمی دارند را، دور بریزیم.شرایط سفارشی به شما اجازه می دهد که قوانین سفارشی خود را برای ارزیابی هر استراتژی تعیین کنید. اگر استراتژی با هر یک از قوانین مطابقت داشته باشد، آنگاه رد خواهد شد.

این گزینه برای حذف سریع استراتژی هایی که نتیجه ضرر ده داشته و یا تعداد معاملات کمی دارند، سودمند می باشد.

مقادیر جداگانه برای عملکرد درون نمونه و برون نمونه برای تست های پایداری (اگر استفاده می شود) یا سبد استراتژی ها (اگر از داده های اضافی استفاده می کنید) وجود دارد.

اختصارات استفاده شده در شرایط سفارشی عبارتند از:IS (In Sample) – نتیجه از بخش درون نمونه داده ها

OOS (Out of Sample) – نتیجه از بخش برون نمونه داده ها

RT (Robustness Tests) – نتیجه تستهای پایداری

P (Portfolio)) – نتایج نمونه کارها و سبد استراتژی ها (اگر وجود داشته باشد)

 

Strategy Selection Criteria

در اینجا شما می توانید انتخاب کنید که از کدام داده ها، معیار استراتژی محاسبه خواهد شد و چه معیارهایی باید برای محاسبه صلاحیت کل استراتژی استفاده شود.

Compute fitness from:

اگر شما می خواهید محاسبه صلاحیت (نمره رتبه استراتژی) از داده های اصلی و یا از سبد استراتژی (اگر شما از اطلاعات اضافی نیز استفاده  می کنید) باشد، می توانید انتخاب کنید . به طور کلی توصیه می شود که از سبد استراتژی استفاده کنید، آنگاه صلاحیت استراتژی از مجموع تمام معاملات در تمام نمادهای موجود در مجموعه شما، محاسبه خواهد شد.

اگر از این تنظیم استفاده می کنید و شما هیچ اطلاعات اضافی ندارید، صلاحیت به طور خودکار از داده های اصلی محاسبه می شود.

Determine best strategies by

شما می توانید معیارهای از پیش تعریف شده ای که بیشترین استفاده را داشته اند، را انتخاب کرده و یا می توانید عملکرد صلاحیت پیچیده خود را بر اساس معیارهای مختلف، و هر کدام با وزن های متفاوت، ایجاد کنید. توجه داشته باشید که اگر شما معیارهای بسیاری زیادی را برای ترکیب کردن انتخاب کنید ، ممکن است این معیارها بدون دستیابی به آنچه که شما انتظار داشتند “علیه یکدیگر” مبارزه کنند.

Profit Factor

معیاری برای تعیین حداکثر ضریب سود یک استراتژی.

شما می توانید توضیحات برای هر معیار رتبه بندی را اینجا پیدا کنید.

8-2-5. قطعات توسعهاستراتژی شامل سه بخش است: قوانین ورود، نوع سفارش و قوانین خروج. هر یک از این قطعات را می توان مستقل توسعه و بهبود داد.

به این ترتیب شما می توانید به عنوان مثال به دنبال قوانین خروج بهتر و یا ایجاد یک قانون جدید برای ورود به معامله خرید باشید در حالی که قوانین ورود به معامله فروش در استراتژی اصلی را حفظ می کنید.

شما باید قسمتی را که می خواهید توسعه دهید را  بررسی کنید. همچنین ممکن است مستقلا  بخش های خرید یا فروش را توسعه دهید.انواع اضافی:

add – شرط جدیدی را به قاعده اضافه می کند

replace– کل قانون را با شرایط جدید جایگزین میکند

add or replace– به صورت تصادفی شرط اضافه یا جایگزینی را تعیین می کند

Improvement process

توسعه به این معنی است که استراتژی کوانت یک کپی از استراتژی اصلی را ایجاد خواهد کرد و به طور تصادفی شرایط جدیدی را ایجاد می کند که به بخش انتخاب شده از استراتژی جایگزین یا اضافه خواهد شد.

سپس تغییرات استراتژی جدید را تست می کند تا بررسی کند آیا “توسعه” عملکرد بهتری را به دنبال دارد.

استراتژی هایی که عملکرد بهتری را دارند، استراتژی اصلی هستند پس در بانک اطلاعاتی ذخیره می شوند.

9-2-5. پارامترها

این صفحه تنظیمات فقط برای بهینه ساز در دسترس است هنگام بارگذاری استراتژی برای بهینه سازی، باید مشخص کنید کدام یک از  پارامترها در صفحه پارامترها باید بهینه سازی شوند.

هر پارامتری که می خواهید بهینه سازی کنید باید انتخاب شود و شما باید مقادیر شروع، توقف و گام را تعریف کنید.موتور بهینه سازی هر مقدار را از ابتدا تا مرحله توقف با گام های تعیین شده امتحان خواهد کرد .

مقدار اصلی (Original) برای مقایسه با عملکرد اصلی استراتژی می باشد.

Number of tests

این مقدار تعداد تست ها را نشان می دهد که چه تعداد تست در مجموع باید انجام شود.

اگر انتخاب کنید که بیش از یک پارامتر بهینه سازی شود، موتور بهینه سازی هر ترکیبی از تمام پارامترها را تست می کند.

اگر شما پارامترهای زیادی را برای بهینه سازی انتخاب کنید، می تواند به هزاران یا حتی میلیون ها تست منجر شود.

Optimization methodدو روش بهینه سازی وجود دارد:

Brute force – روش های نیروی خشن از طریق هر ترکیبی از پارامترها می آید. وقتی پارامترهای بسیاری را بهینه سازی می کنید، می تواند بسیار کند باشد.

Genetic optimization – برای هر بهینه سازی با تعداد آزمایش های بزرگتر از 500 یا 1000 شما باید از روش بهینه سازی ژنتیکی استفاده کنید.

10-2-5. معیار موفقیتتوجه – تغییر در نسخه 3.5

معیارهای موفقیت تست گام به جلو  مدت طولانی نیست که در تنظیمات پیکربندی هستند، در عوض معیارهای موفقیت کامل پویایی در صفحه نتایج گام به جلو در دسترس موجود است.

هنگامی که بر روی  Walk-Forward result در بانک اطلاعات بعد از بهینه سازی، دوبار کلیک کنید، به جای تنظیمات، حالا این صفحه را در Results -> Walk-Forward results ،  پیدا خواهید کرد.

بخش اول صفحه نتایج گام به جلو، مجموع نمره استراتژی (که از معیار موفقیت محاسبه می شود، زیر را ببینید) و سایر ویژگی های گام به جلو، مانند مقادیر سود، کارایی یا مقدار سازگاری را نشان می دهد.

قسمت دوم شامل معیارهای امتیاز پویای قابل تنظیم می باشد. شما می توانید هر معیاری که می خواهید در ارزیابی اجرای گام به جلو اجرا کنید را و همچنین تعیین مقدار محدودیت آن را بررسی کنید.

لیست آزمایشات موجود:Total score

یک معیار خاص، در اینجا شما تعیین می کنید که چند معیار زیر باید برای تصویب برنامه اجرا شود. در مورد وضعیت مورد نظرما حداقل به چهار معیار از معیارهای در دسترس (سود، کارایی، انسجام، توزیع، حداکثر کاهش سرمایه، معاملات) برای موفقیت نیاز داریم .

در مورد وضعیت ما 5 آزمون، موفقیت آمیز بوده است که بیش از مقدار مورد نیاز مان ( حداقل 4 تست ) بوده، بنابراین تست امتیاز معیار را گذرانده است.

Profit (Overall Profitability)

اگر سود خالص حاصل از تست بهینه سازی بزرگتر از مقدار داده شده باشد، قابلیت سود دهی کل بررسی می شود . در مورد وضعیت ما سود کل 5743٪ بود که بیش از 1990 دلار مورد نیاز است.

 

Efficiency (Walk-Forward Robustness)

این معیار اندازه گیری پایداری اجرای گام به جلو می باشد. به عنوان مثال، اگر قطعات بهینه سازی 10000 دلار درآمد داشته باشند و قطعات اجرا شده 5000 دلار دریافت کنند، پس بهره وری گام به جلو دقیقا 50٪ است (بخش های اجرا 50٪ از قطعات بهینه سازی را به دست آورده اند.)

در مورد وضعیت ما تست برای بازدهی ناکام بود، چرا که بخش اجرای فقط 46 درصد از بخش بهینه سازی را به دست آورد و مقدار مورد نیاز برای گذراندن تست 60 درصد است.

Consistency (of Profits)

بخش انسجام بررسی می کند که چند درصد قابل توجه از بخش های اجرا شده سودآور است و آن را با حداقل درصد مقایسه می کند.

در مورد وضعیت ما ثبات سود 60٪ است که دقیقا حداقل مقدار مورد نیاز است.

Distribution (of Profits)این سنجش ها میزان بزرگی درآمد هرگونه اجرا را  به سود کلی استراتژی تعیین می کند. به عنوان مثال، اگر یک دوره بیش از 50 درصد از مجموع سود استراتژی را ایجاد کند به این معنی است که بقیه دوره ها کاملا ضعیف هستند.

در مورد وضعیت ما این تست تصویب شد، چرا که هیچ اجرایی بیش از 50٪ از کل سود را تولید نمی کند.

Drawdown (Maximum Drawdown)

این گزینه ، چنانچه حداکثر درصد کاهش سرمایه در هر اجرا از مقدار حداکثر کاهش سرمایه داده شده تجاوز کندرا بررسی می کند.  در مورد وضعیت ما حداکثر کاهش فقط 9٪ بود، که تا حداکثر 25٪ مجاز بود.

Minimum trades

این گزینه حداقل تعداد معاملات ساخته شده در هر اجرا  را بررسی می کند. اگر یک اجرا تولید معاملات بسیار کمی را دارا باشد، به لحاظ آماری معنی دار نیست. در مورد وضعیت ما هر اجرا بیش از 100 معامله داشت.

شرح کنترل امتیاز معیار

11-2-5. گزینه های سراسریگزینه های سراسری از طریق منوی Tools -> Options در دسترس هستند.

General

برگه عمومی به شما اجازه می دهد تا اشیا عمومی مانند عنوان برنامه، نحوه ذخیره پیام و گزارشات یا قالب تاریخ و زمان را تنظیم کنید.

Performance

برگه عملکرد به شما اجازه می دهد تا تعداد هسته پردازنده تان را که برای محاسبه استفاده خواهید کرد را تنظیم کنید. هسته های بیشتری که شما انتخاب می کنید، فراخوانی کامپیوتر شما بالاتر خواهد بود.

Don’t store list of trades in memory

اگر این گزینه را انتخاب کنید، تمام استراتژی هایی که در بانک اطلاعات ذخیره می شوند، معاملات خود را در فایل های موقت ذخیره می کنند. این امر موجب صرفه جویی در حافظه می شود، زیرا تاریخچه لیست معاملات بیشترین بخش حافظه را برای هر استراتژی مصرف می کند.

اگر معاملات در فایل های موقت ذخیره شوند، آنها فقط هنگامی که مورد نیاز هستند بارگذاری می شوند، مثلا زمانی که شما به لیست معاملات یا نمودار درآمد تغییر وضعیت می دهید.

Don’t store expired and replaced pending orders

اگر این گزینه ها را انتخاب کنید، سفارشات منقضی و جایگزین شده در تاریخچه استراتژی ذخیره نمی شوند. این تنظیم پیش فرض است، فقط اگر نیاز به بررسی چیزی درمورد سفارشات منقضی شده دارید، شما می توانید آن را از حالت انتخاب خارج کنید.

Strategy parametersاین برگه به ​​شما اجازه می دهد تا رفتار پارامترهای سراسری را تنظیم کنید. استراتژی حاوی دو مجموعه قوانین، یکی برای سفارشات خرید و دیگری برای سفارشات فروش است. معمولا آنها متقارن هستند.

Use the same parameters for long and short rulesپارامترهایی که در این قوانین استفاده می شوند  (برای مثال دوره ها برای شاخص) می توانند با نام های مشترک برای یک قانون خرید و فروش، یا جداگانه برای هر کدام نامگذاری شوند.

به استثنای اینکه شما بخواهید بهینه سازی استراتژی به خصوصی را  برای قانون خرید و فروش داشته باشید، شما باید آن را انتخاب کنید.

Add parameters for strategy options

این تنظیم بر روی  Optimizer -> Parameters settings اعمال می شود. وقتی استراتژی را بهینه سازی می کنید، می توانید انتخاب کنید که تنها پارامترهای استراتژی را نمایش دهد یا پارامترهایی برای گزینه های عمومی معاملات مانند محدوده زمانی برای معاملات و غیره.

پارامترهای بدون گزینه و با گزینه های استراتژی:

HTML reportsامکان سفارشی کردن گزارش های HTML تولید شده توسط برنامه را ارائه می کند. شما می توانید نمودار هایی که می خواهید در گزارش عملکرد استراتژی مشاهده کنید را سفارشی کنید.

3-5. نتایج

1-3-5. بانک های اطلاعاتی

بانک های اطلاعاتی محل ذخیره سازی است که در آن استراتژی های تولید شده و آزمایش شده با نتایج شان ذخیره می شوند.

هر حالت (ساخت / تست / توسعه / بهینه سازی) دارای جداول بانک اطلاعاتی مستقل است.

به دلایل محدودیت حافظه بانک اطلاعاتی نمی تواند تعداد نامحدودی از استراتژی ها را حفظ کند، در عوض تعدادی از استراتژی های برتر را ذخیره می کند، برای مثال 100 یا 1000 استراتژی برتر. پیکربندی چند استراتژی برای ذخیره در این بخش و نحوه مرتب سازی آنها را می توان در  Settings -> Ranking Options تنظیم کرد

Databank functions

هر نتیجه استراتژی در بانک اطلاعاتی را می توان در صفحه نتایج با استفاده از دوبار کلیک مشاهده کرد.

Load

این دکمه فقط در Retest databank در دسترس است، و پروژه های استراتژی (فایل های str .را بارگیری می کند)، بنابراین می توان آنها را دوباره تست کرد.

Save (as Strategy/Portfolio/HTML report/Source code)

به این ترتیب می توانید استراتژی خود را ذخیره کنید، شما همیشه باید استراتژی های خوب را در یک پروژه استراتژی (.str) ذخیره کنید تا بتوانید بعدا با آنها کار کنید.

Edit (Parameters/Trading rules)

در اینجا شما می توانید بصورت دستی استراتژی انتخاب شده را یا با مقادیر پارامترهای آن یا قوانین معاملاتی را ویرایش کنید.

Delete/Clear all

این گزینه استراتژی انتخاب شده یا تمام لیست را حذف خواهد کرد

Create portfolio

این گزینه استراتژی های انتخاب شده در یک سبد استراتژی را ترکیب خواهد کرد –  یک گزارش خاص که نتایج معاملات چندین استراتژی را ترکیب می کند. پس از آن شما می توانید نتایج کل مجموعه ای از استراتژی ها را بررسی و تجزیه و تحلیل کنید.

Views

هر سطر در جدول یک استراتژی را نشان می دهد بعلاوه نتایج بک تست استراتژی، تعداد معاملات، سود و ضرر، نمره صلاحیت و غیره در ستون های جدول قابل مشاهده است.

نتایج به قسمت درون نمونه و برون نمونه تقسیم می شوند.

تمام ستون ها در بانک اطلاعاتی قابل سفارشی سازی و تنظیم هستند، شما می توانید انتخاب کنید که کدام ستون ها را می خواهید در نمایش ها ببینید.

Export to CSV

شما همچنین می توانید تمام محتوای جدول را به یک فایل CSV صادر کنید

2-3-5. بازبینی – Overview

صفحه مرور و بازبینی، آمار های مختلفی که از اطلاعات بک تست محاسبه شده است را نشان می دهد.

3-3-5. لیست معاملات – List of trades

شامل لیستی کامل از معاملات ایجاد شده توسط بک تست می باشد.

اگر شما استراتژی خود را در چندین نماد / دوره زمانی بک تست کردید، می توانید بین نتایج و یا بررسی لیست معاملات برای تمام سبد استراتژی تغییر وضعیت دهید.

4-3-5.  نمودار سهام – Equity chart

نمودار درآمد استراتژی را نمایش می دهد.

نشانگر رکود نشان دهنده حداکثر رکود و ایستایی است – این مقدار طولانی ترین دوره زمانی است که  استراتژی برای بالا بردن درآمد جدید زمان برده است.

در وضعیت سبد استراتژی، نمودارها را برای هر نماد / دوره زمانی تست شده و به علاوه درآمد کل سبد استراتژی نمایش می دهد.

5-3-5. تجزیه و تحلیل معامله – Trade analysis

این صفحه عملکرد سالانه استراتژی و بعلاوه نمودارهای کوچک قابل پیکره بندی و تعداد معاملات در هر ساعت، روز هفته، روز ماه و غیره را نشان می دهد.

6-3-5. تجزیه و تحلیل پایداری – Robustness analysis

اگر شما هیچ تست پایداری را پیکربندی نکنید این صفحه خالی است .

در غیر این صورت شامل نمودار درآمد  برای هر شبیه سازی تست پایداری و جدول سطوح قابل اطمینان مهم محاسبه شده با استفاده از تجزیه و تحلیل مونت کارلو از شبیه سازی را نمایش می دهد.

برای اطلاعات در مورد چگونگی استفاده از تست های پایداری و نحوه تفسیر نتایج، بخش تست پایداری و تحلیل را بررسی کنید.

7-3-5. تنظیمات استراتژی

این صفحه تنظیمات فعلی برنامه را در مقابل آخرین تنظیماتی که استراتژی در هنگام بک تست یا تولید داشته را، نمایش می دهد.

تفاوت ها با رنگ قرمز ضخیم مشخص می شوند.

برای فراخوانی سریع تنظیمات از استراتژی شما می توانید از دکمه اعمال تنظیمات استراتژی استفاده کنید.

این عمل تنظیمات را از استراتژی فراخوانی کرده و آن را به بخش انتخاب شده برنامه اعمال می کند.

8-3-5. کد منبع

برگه کد منبع جایی است که در آن شما نتیجه برنامه را دریافت خواهید کرد. برای هر استراتژی انتخاب شده، کد منبع انتخاب شده را تولید می کند.

نوع کد منبع – Source Code Type

سه نوع کد منبع وجود دارد که می تواند تولید شود:

Pseudo Code

شبه کد استراتژی با قابلیت خواندن برای انسان . شما می توانید منطق استراتژی را ببینید و می توانید از آن برای معاملات دستی استفاده کنید.

MetaTrader4 Expert Advisor

کد اکسپرت برای MetaTrader . شما می توانید کد اکسپرت را در دایرکتوری MetaTrader/experts ذخیره کرده و می توانید اکسپرت جدید تان را در متاتریدر اجرا کنید.

MT4 Special EA – Trade on Bar Open

نسخه ویژه اکسپرت MetaTrader4 – برای سیگنال ها و قرار دادن معاملات فقط در زمان باز شدن یک میله را بررسی می کند. این قاعده نه تنها برای باز کردن معامله ، بلکه برای بستن معامله در  حد ضرر و یا حد سود نیز معتبر است . اگر معامله به حد ضرر یا حد سود خود برسد، معاملات بلافاصله در این سطح بسته نمی شوند، بلکه در باز شدن نوار بعدی بسته خواهند شد!

اکسپرت تولید شده با این روش 100٪ سازگار با استراتژی تست شده با دقت “معامله در باز شدن میله” در  استراتژی کوانت  می باشد.

NinjaTrader code

کد استراتژی برای NinjaTrader . شما می توانید کد را در NinjaTrader strategy  جدید کپی و پیست کنید.

برای بررسی بیشتر این بخش به صدور استراتژی StrategyQuant به NinjaTrader مراجعه کنید.

EasyLanguage code for Tardestation/MultiCharts

کد استراتژی برای NinjaTrader. شما می توانید کد را در NinjaTrader strategy  جدید کپی و پیست کنید.

برای بررسی بیشتر این بخش به صدور استراتژی از StrategyQuant به Tradestation مراجعه کنید.

Put values to parameters

با انتخاب این چک باکس می توانید کدی را ایجاد کنید که شامل تمام اعداد ثابت مانند دوره های شاخص، ثابت های مقایسه و غیره باشد.

will be parameterized – یک پارامتر برای هر ثابت اضافه خواهد شد.

این گزینه به شما امکان می دهد که اکسپرت خود را در MetaTrader بهینه سازی کنید یا آن را با مقادیر پارامترهای مختلف تست کنید.

1-6. تست و تحلیل انعطاف پذیری

انطباق منحنی استراتژی بر داده های تاریخچه قیمتی که در آن ساخته شده است بزرگترین خطر استراتژی های تولید شده با استفاده از هر فرآیند یادگیری ماشین می باشد.

پس از توسعه استراتژی جدید، باید مطمئن شوید که استراتژی شما قوی و پایدار است – که باید این احتمال افزایش یابد که در آینده نیز کار خواهد کرد.

پایداری و ثبات چیست؟

این تست به سادگی ویژگی استراتژی در مقابله با تغییر شرایط است.

– اول از همه، استراتژی باید بر روی داده های ناشناخته کار کند (اگر ویژگی های بازار تغییر نکند) یا با پارامتر دوره ای بهینه سازی مجدد و یا بدون آن.

– اگر برخی از معامله ها از دست رفتند، نباید از هم جدا شود.

– استراتژی پایدار نباید بیش از حد نسبت به پارامترهای ورودی حساس باشد – حتی اگر کمی مقدار پارامتر ورودی مانند دوره شاخص یا برخی ثابت ها تغییر کند، باید کار کند.

چگونگی تست پایداری برای  استراتژی ها

  1. با استفاده از دوره های درون نمونه و برون نمونه

اساسی ترین آزمون برای پایداری، تست استراتژی در محدوده داده های برون نمونه است. اگر شما تکامل ژنتیکی را اجرا کنید، استراتژی تنها در بخش درون نمونه از داده ها تکامل یافته است. قسمت برون نمونه  بخش “ناشناخته” برای استراتژی است، بنابراین می توان آن را برای تعیین اینکه آیا استراتژی در قسمت ناشناخته داده نیز اجرا می شود، استفاده کرد.

بخش آبی هر نمودار اطلاعات برون نمونه (ناشناخته) است. ما می توانیم ببینیم که استراتژی تصویر سمت چپ نیز در این قسمت خوب عمل می کند، در حالی که استراتژی در تصویر سمت راست بر روی داده های ناشناخته ناتوان است – تقریبا قطعی است که انطباق منحنی بر داده ها صورت گرفته است

  1. تست استراتژی ها بر روی چندین نماد و دوره زمانی

تست دوم برای قابلیت پایداری بسیار متضاد است – به این معنی که یک استراتژی یکسان در نماد های مختلف و / یا دوره زمانی های دیگر تست می شود. استراتژی قوی و پایدار باید به صورت ایده آل بر روی نمادها / دوره های مختلف کار کند.

در حقیقت، به دلیل اینکه هر بازار ویژگی های خاص خود، نوسانات روزانه و غیره را دارد، پیدا کردن یک استراتژی که عملکرد یکسانی را در نمادهای متعدد با استفاده از فقط یک مجموعه از تنظیمات داشته باشد، آسان نخواهد بود .

اگر استراتژی در بازارهای دیگر با حداقل میزان سودآوری یا فقط کمی ضرر اجرا شود ما می توانیم راضی باشیم.

استراتژی کوانت به شما این امکان را می دهد که نماد های اضافی برای ساخت و  تست استراتژی ها را در بخش اطلاعات اضافی مشخص کنید. شما حتی می توانید استراتژی را با همان نماد با دوره زمانی مختلف تست کنید.

در دو نمودار فوق شما می توانید تست استراتژی را در EURUSD (خط سبز)، GBPUSD (خط فیروزه ای) و

سبد شامل هر دو استراتژی (خط آبی) را ببینید.

در حالی که در سمت چپ نمودار استراتژی خوبی برای هر دو ارز وجود دارد، در سمت راست نمودار شما می توانید  ببینید که عملکرد GBPUSD بد است. این استراتژی احتمالا به اندازه کافی قوی نیست.

  1. استفاده از ابزار تست پایداری در استراتژی کوانت

استراتژی کوانت به شما اجازه می دهد تا تست های پایداری را روشن کنید. ابزار تست  پایداری به سادگی مکررا استراتژی را با تغییرات تصادفی مختلف در پارامترهای ورودی و داده های اجرا شده شبیه سازی مونت کارلو تست می کند.

ایده پشت تست سنجش پایداری این است که وقتی تغییرات کوچک در ورودی، داده های تاریخچه یا سایر اجزای استراتژی وجود دارد بررسی کند که چه مقدار استراتژی خوب عمل می کند.

شما می توانید مشخصات مختلف را شبیه سازی کنید:

Randomize Trades Order– این ساده ترین تست است، به طور تصادفی ترتیب معاملات را تغییر می دهد. این عمل سود خالص حاصله را تغییر نمی دهد، اما برای بررسی تغییرات مختلف میزان کاهش سرمایه بسیار مفید است که می تواند نتیجه ای از ترتیب متفاوت معاملات باشد.

 Randomly Skip Trades–  به طور تصادفی، از انجام معاملات با احتمال داده شده پرش می نماید. در معاملات واقعی شما اغلب می توانید یک معامله را  به دلیل نرم افزار معاملاتی و یا قطع اینترنت، و یا به سادگی به دلیل اینکه شما بعضی وقت ها معامله کردن را متوقف کرده اید، از دست بدهید. این تست به شما ایده اینکه چگونه منحنی درآمد ممکن است به نظر برسد اگر  برخی از معاملات به صورت تصادفی انجام نشود، را می دهد.

Randomizing Start Bar –   این گزینه رفتار استراتژی را هنگامی که تست بر روی میله  ابتدایی متفاوت شروع می شود، آزمایش می کند. واضح است که یک استراتژی خوب نمیتواند حساس به این باشد که شما تست را از کدام میله شروع میکنید.

Randomize Strategy Parameters – هر استراتژی از پارامترهایی مانند دوره یک شاخص یا مقادیر ثابت که در مقایسه کاربرد دارد استفاده می کند. این تست حساسیت استراتژی را به یک تغییر کوچک در مقدار پارامتر بررسی می کند. احتمال یک تغییر،  احتمالی است که هر پارامتر مقدارش تغییر می کند. حداکثر تغییر پارامتر حداکثر درصدی است که پارامتر مقدارش تغییر می کند. به عنوان مثال اگر شما حداکثر تغییر پارامتر را به 10٪ تنظیم کنید، پارامتر با داشتن مقدار 60 می توانید به صورت تصادفی در محدوده 54 – 66 تغییر کند ( 10±٪ از مقدار اصلی 60).

Randomize History Data – یک مورد بسیار رایج در مورد انطباق منحنی زمانی است که استراتژی بیش از حد وابسته به داده های تاریخچه است. این گزینه رفتار استراتژی را به تغییر در داده های تاریخچه بررسی می کند.

احتمال مجموعه تغییرات برای هر میله آن است که چه احتمالی وجود دارد اگر قیمت باز شدن، بالا، پایین یا بسته شدن تغییر کرده باشند. حداکثر تغییر قیمت یک درصد از تغییر نسبت به ATR (میانگین دامنه واقعی) می باشد.

بنابراین اگر برای مثال قیمت بسته شدن به طور تصادفی برای تغییرانتخاب شده باشد و مقدار ATR  10 پیپ است و حداکثر تغییر قیمت 20٪ است، پس قیمت می تواند به اندازه 2± پیپ تغییر کند.

Interpreting the results

تست های پایداری نتایج  را به صورت مجموعه ای از نمودارهای درآمد برای اجرای هر تست و یک جدول که نتایج شبیه سازی مونت کارلو را نمایش می دهد، تولید می کند .

در این مثال ما 10 شبیه سازی را ، با تغییرات تصادفی در پارامترهای استراتژی، داده های تاریخچه و پرش تصادفی از اجرای معاملات، اجرا کردیم.

ما می توانیم مقادیر درآمد هر یک از این شبیه سازی ها را ببینیم که جه خواهد بود و جدول در سمت چپ اطلاعاتی ارزشمندی در خصوص ویژگی های استراتژی در طول این شبیه سازی ها ارائه می دهد.

این مقادیر چه معنی دارند؟

در ردیف اول مقادیر سود خالص، حداکثر درصد کاهش سرمایه و غیره از استراتژی اصلی برای مقایسه نمایش می دهد.

بقیه ردیف ها مقادیر سطوح اطمینان متفاوتی را نمایش می دهند.

این اعداد نتیجه تحلیل مونت کارلو در 10 شبیه سازی تصادفی اجرا شده ما هستند.

به عنوان مثال، مقدار 80٪ سطح اطمینان به این معنی است که احتمال وجود 20٪ سود خالص، حداکثر درصد کاهش سرمایه و غیره  بدتر از مقادیر قابل اطمینان خواهند بود.

مقادیر در سطح اطمینان 90٪ به این معنی است که شانس 10٪ سود خالص، حداکثر درصد کاهش سرمایه و غیره بدتر از مقادیر قابل اطمینان خواهند بود.

مقادیر در سطح اطمینان 95٪ به این معنی است که شانس 5٪ سود خالص، حداکثر درصد کاهش سرمایه و غیره بدتر از مقادیر قابل اطمینان خواهند بود.

بنابراین شبیه سازی مونت کارلو از استراتژی ما نشان می دهد که با گذشتن و پرش از 10٪ از معاملات بصورت تصادفی و تغییرات کوچک تصادفی در پارامترهای ورودی و داده، سود خالص ما می تواند از 6990 دلار به 3943 دلار کاهش یابد و حداکثر درصد کاهش سرمایه می تواند از 6.97٪ به 11.36٪ افزایش یابد.

این بدان معنی است که تنها 5 درصد احتمال سود خالص کمتر از 3943 دلار خواهد بود. با نگاه کردن به سطوح اطمینان بالاتر، می توان دید که هیچ یک از تست های ما نتایج بدتری از 3943 دلار ندارد، بنابراین استراتژی به نظر می رسد نسبت به تغییراتی که ما برای شرایط تست ایجاد کردیم  نسبتا پایدار و قوی است.

از آنجایی که تستهای پایداری به صورت تصادفی تولید میشوند، نمودارهای درآمد و مقادیر موجود در جدول هر چند وقت که شما استراتژی را تست مجدد می کنید، کمی تغییر می کنند. همچنین، شبیه سازی های بیشتری که شما اجرا خواهید کرد، اهمیت آماری بیشتر این تست خواهد بود.

  1. استفاده از ماتریس گام به جلو به عنوان تست قدرت

نوع چهارم بررسی پایداری تست با استفاده از ماتریس گام به جلو است. اگر استراتژی این تست را گذراند، بدین معنی است که با کمک بهینه سازی مجدد پارامترها، استراتژی با طیف وسیعی از شرایط بازار سازگار می باشد.

2-6. بهینه سازی

1-2-6. بهینه سازی ساده

ایده ی پشت بهینه سازی ساده است. ابتدا باید یک سیستم معاملاتی داشته باشید، ممکن است به عنوان مثال یک تقاطع میانگین متحرک ساده ​​باشد.

تقریبا در هر سیستمی، برخی پارامترها (دوره های شاخص، ثابت های مقایسه ای، و غیره) وجود دارند که تصمیم می گیرند چگونه سیستم رفتار کند. بهینه سازی بدین معنی است که سیستم را با مقادیر پارامترهای مختلف  برای پیدا کردن مقادیر بهینه این پارامترها ( دادن بیشترین سود یا بهترین نسبت Return/DD) تست کند.

مثال بهینه سازی

مرحله 1: فراخوانی یک استراتژی برای بهینه سازی

اول از همه، شما باید به پنجره بهینه سازی بروید و استراتژی را که میخواهید بهینه سازی کنید را فراخوانی  کنید.

برای این مثال ما از استراتژی ساده EMA_Cross استفاده می کنیم وقتی که EMA سریع EMA کند تر را به سمت بالا قطع می کند معامله خرید و زمانی که EMA سریع EMA کند تر را به سمت پایین قطع کند معامله فروش انجام می دهد.
پس از اینکه شما استراتژی را فراخوانی کردید، همچنین به عنوان استراتژی اصلی به پایگاه داده نتایج بهینه سازی شده اضافه می شود.

شما می توانید روی استراتژی اصلی دوبار کلیک کنید و سپس به Results -> Source code بروید تا قوانین خود را ببینید.

اطمینان حاصل کنید که کادر Put values to parameters را انتخاب کرده اید تا متغیرهای pLongEMA_1، pLongEMA_2، pShortEMA_1، pShortEMA_1  که برای ذخیره پارامترهای شاخص استفاده میشوند را ببینید.
در بهینه سازی ما سعی خواهیم کرد که مقادیر بهینه این پارامترها را پیدا کنیم.

هنوز یک مشکل کوچک وجود دارد. ما می توانیم ببینیم که استراتژی برای جهت های خرید و فروش از پارامترهای مختلف استفاده می کند.

ما می توانیم از آن به این شکل استفاده کنیم که اگر ما بخواهیم مقادیر بهینه مستقلی را برای خرید و فروش پیدا کنیم، اما برای مثال مان بخواهیم از پارامتر یکسان برای خرید و فروش استفاده کنیم.

ما می توانیم آن را در برنامه Tools -> Options -> Parameters of Strategy انجام دهیم.

اگر گزینه اول را انتخاب کنید، از پارامترهای یکسان برای جهت خرید و فروش استفاده می کند (شروط قوانین مشابه هستند).

برای ذخیره تنظیمات و تازه کردن کد منبع، روی OK کلیک کنید.

حالا می توانید ببینید که استراتژی شامل تنها پارامترهای pEMA_1، pEMA_2 است که برای هر دو جهت استفاده می شود.

مرحله 2: تنظیم مقادیر بهینه سازی

برای تنظیم مقادیری که بهینه می شوند، ما باید به Settings -> Parameters برویم.

در اینجا شما می توانید لیستی از تمام پارامترهای استراتژی موجود برای بهینه سازی را ببینید. بهینه سازی به سادگی به معنی امتحان کردن مقادیر مختلف پارامترهای ورودی است.

برای هر پارامتری که می خواهید بهینه سازی کنید، باید خط پارامتر را انتخاب کرده و مقادیر شروع، توقف و گام را انتخاب کنید. بهینه ساز مقدار آن پارامتر را از شروع تا توقف، با گام های تعیین شده  تکرار می کند.

مقدار اصلی نیز قابل تنظیم است، از آن را برای تست مجدد استراتژی اصلی استفاده می شود. شما می توانید از این مقدار برای مقایسه عملکرد نتایج جدید با تنظیمات “اصلی” استفاده کنید.

مقدار Number of tests به ما نشان می دهد که چه تعداد تست باید انجام شود تا تمام ترکیبات مقادیر بازبینی شود.

توجه کنید!

ممکن است که جدول پارامترهای شما دارای پارامترهای بسیار بیشتری باشد، این می تواند شبیه تصویر زیر باشد:

آخرین چیزی که ما باید پیکربندی کنیم، داده هایی است که برای تست استفاده می شود. ما می توانیم برای این مثال EURUSD را بر اساس زمان بندی H4 انتخاب کنیم.

مرحله 3: اجرای بهینه سازی

اکنون آماده هستیم که بهینه سازی را اجرا کنیم. ما به صفحه Progress بر خواهیم گشت و روی دکمه Start کلیک می کنیم.

موتور بهینه سازی تمام ترکیبات ممکن از پارامترهای ورودی انتخاب شده را تست می کند و نتایج را برای هر ترکیب در بانک اطلاعاتی در پایین ذخیره می کند.

ما می توانیم بر اساس سود خالص بانک اطلاعاتی را مرتب کنیم و می توانیم ببینیم که بهترین مقادیر ورودی برای حداکثر سود pEMA_1 = 5 و  pEMA_2 = 10 می باشد.

همچنین می توان نتایج استراتژی اصلی (پس زمینه خاکستری) را مشاهده کردیم که از مقادیر
pEMA_1 = 10 و pEMA_2 = 20 استقاده کرده است.

تفسیر نتایج

حالا ما پارامترهای ورودی داریم که برای نماد و دوره زمانی داده شده مان بهینه شده اند.

آنچه که ما واقعا انجام دادیم، پیدا کردن این موضوع بود که چه چیزی در گذشته بهترین کارایی را داشته است. ما باید بسیار مراقب باشیم زیرا پارامترها ممکن است برای داده های تاریخچه ایده آل باشند، اما هیچ تضمینی وجود ندارد که آنچه در مورد تاریخچه بهترین کارایی را داشته، در آینده نیز کارا و بهترین خواهد بود.

این موضوع انطباق منحنی (curve fitting)  نامیده می شود – معمولا پارامترهای بیشتر که استراتژی دارد، خطر بزرگ تری برای انطباق منحنی می باشد.

دو روش برای انطباق منحنی وجود دارد:

  • مطمئن شوید که استراتژی پایدار و قوی بوده و تمام مقادیر آن بهینه سازی نشده است
  • مطمئن شوید که منافع استراتژی از تجدید بهینه سازی دوره ای حاصل شده است

بنابراین سوال این است: آیا تجدید دوره ای بهینه سازی نتایج استراتژی من را توسعه خواهد داد؟

اگر جواب بله است ، معمولا هر چند وقت باید این کار را انجام دهم؟

استراتژی کوانت می تواند به این سوالات شما با استفاده از یکی دیگر از قابلیت های پیشرفته خود – بهینه سازی گام به جلو و ماتریس گام به جلو  پاسخ دهد.

 

2-2-6. بهینه سازی گام به جلو

بهینه سازی گام به جلو به طور کلی مجموعه ای از بهینه سازی های ساده است که توسط معاملاتی که از بهترین پارامترها استفاده می کنند نتیجه می شوند.

این تکنیکی است که در آن شما مقادیر پارامترها را در قسمت گذشته اطلاعات بازار بهینه سازی می کنید و سپس عملکرد سیستم را با تست آن در محدوده زمانی بر روی داده ها پس از بخش بهینه سازی، بررسی می کنید.

و فرایند را می توان در بخش های زمانی بعدی تکرار کرد.

چگونه بهینه سازی گام به جلو کار می کند

در بهینه سازی گام به جلو، داده ها به یک تعداد قابل تنظیم از دوره تقسیم می شوند ( در این مثال 6 دوره ).

هر دوره شامل بخش بهینه سازی و اجرای بخش است.

برنامه با دوره بهینه سازی 1 شروع می شود. بهینه سازی ساده در دوره بهینه سازی 1 برای پیدا کردن بهترین پارامترها اجرا می شود. سپس این مقادیر پارامتر برای اجرای در دوره 1 اعمال می شوند – استراتژی توسط معاملات  با پارامترهای بهینه شده در همین دوره اجرا مورد آزمایش قرار می گیرد.

در پایان دوره اجرای 1، سیستم دوباره بهینه سازی ساده را در بخش دیگری از داده های مشخص شده با عنوان دوره بهینه سازی 2 انجام می دهد. و بهترین مجموعه مقادیر پارامتر را پیدا کرده و آنها دوباره برای استفاده در معاملات در دوره 2 اجرا می شوند.

این روند تا دوره 6 ادامه می یابد، که همچنین پایان داده های تاریخچه مورد استفاده در تست است.

بهینه سازی گام به جلو شبیه سازی چگونگی کار شما با استراتژی در حین معامله واقعی می باشد– شما می توانید آن را در برخی از داده های تاریخچه بهینه سازی کنید و سپس با مقادیر بهینه سازی شده آن معامله کنید.

بعد از مدتی می خواهید دوباره آن را بهینه سازی کنید و اجازه دهید دوباره معامله کند.

تجزیه و تحلیل نتایج گام به جلو می تواند به شما بگوید که استراتژی یک انتخاب خوب برای بهینه سازی دوره ای است.

مثال بهینه سازی گام به جلو

لطفا به یک مقاله از وب سایت ما برای مثال بهینه سازی گام به جلو مراجعه کنید.

http://www.strategyquant.com/articles/walk٪20forward٪20optimization

3-2-6. ماتریس گام به جلو

ماتریس گام به جلو یک ویژگی قدرتمند است که می تواند با دو قابلیت به شما کمک کند:

  1. دوره مناسب مطلوب برای بازنگری و بهینه سازی مجدد استراتژی را پیدا کنید

این قابلیت به شما کمک خواهد کرد بهترین فرکانس بهینه سازی را شناسایی کنید

  1. استراتژی را برای پایداری تست کنید

اگر استراتژی تست  ماتریس  گام به جلو را بگذراند، بدین معنی است که با کمک بهینه سازی مجدد پارامترها، استراتژی را با طیف وسیعی از شرایط بازار سازگار می کند.

اگر استراتژی به طور دوره ای قابل بهینه سازی مجدد باشد، بهینه سازی استاندارد گام به جلو، نتایج استراتژی را تست می کند. اجازه دهید بگوییم هر 300 روز.

اما چگونه ما بدانیم که چه وقتی اغلب بهترین زمان بهینه سازی مجدد استراتژی می باشد؟

ما فقط می توانیم حدس بزنیم، مگر اینکه از ماتریس گام به جلو استفاده کنیم که ترکیبی از دوره های بهینه سازی مجدد را تست می کند.

مثال ماتریس گام به جلو

لطفا به یک مقاله از وب سایت ما برای مثال بهینه سازی گام به جلو مراجعه کنید.

http://www.strategyquant.com/articles/walk٪20forward٪20matrix

3-6. سبد استراتژی ها

دو امکان برای نحوه ایجاد یک سبد استراتژی وجود دارد:

  1. استفاده از داده های اضافی برای ساخت / تست استراتژی در چندین نماد یا دوره زمانی – این روش یک سبد از استراتژی ها که شامل نتایج حاصل از تست یک استراتژی یکسان با داده های متفاوت می باشد، ایجاد می کند.
  2. ترکیب استراتژی ها در یک سبد استراتژی بصورت دستی- این روش سبد استراتژی را از مجموعه ای از استراتژی های مختلف را که در نماد و یا دوره زمانی مشابه و یا مختلف با هم ترکیب شده اند، ایجاد می کند.

نتایج سبد استراتژی نتیجه خلاصه تمام استراتژی های موجود است. برای سبد استراتژی ایجاد شده به صورت دستی (2) یک نتیجه ویژه “Portfolio #” وجود دارد که  در بانک اطلاعاتی ایجاد شده که می تواند در یک فایل برای استفاده بعدی ذخیره شود.

نمودار سبد استراتژی

نمودار درآمد برای سبد استراتژی شامل نمودار درآمد سبد استراتژی  و همچنین نمودار درآمد برای هر استراتژی موجود در سبد است. در هنگام مشاهده سبد استراتژی می توانید بین نمودار سبد استراتژی و نمودار هر یک از استراتژی ها با استفاده از جعبه ترکیبی در گوشه بالا سمت چپ نمودار تغییر وضعیت دهید.

4-6. ویرایشگر استراتژی

توجه کنید!

استراتژی ها در استراتژی کوانت یک قالب ثابت دارند و ویرایشگر این قالب را با 4 برگه  Entry Long، Entry Short، Exit Long (اگر ما بخواهیم معامله را با استفاده از قاعده ای غیر از Stop Loss یا سود Profit Target ببندیم) و Exit Short تطبیق می دهد.

هر برگه شامل بخش IF و THEN است – در بخش IF شما شرایط را تعریف می کنید، و در بخش THEN شما تعریف می کنید زمانی که شرایط درست باشدچه اتفاقی بیافتد .

برای ایجاد استراتژی جدید، به منوی File -> Create strategy  بروید یا روی شکلک در نوار ابزار کلیک کنید. برای اصلاح استراتژی فعلی فقط آن را در بانک اطلاعاتی انتخاب کنید و روی ویرایش کلیک کنید.

1-7. وارد کردن اطلاعات تاریخچه قیمت از MetaTrader

مرحله 1: صدور داده از Metatrader

متاتریدر خود را باز کنید و به مسیر Tools -> Center History بروید.

در اینجا، جفت ارزی را که می خواهید صادر کنید(به عنوان مثال GBPUSD)، را باز کنید و روی 1 دقیقه (M1) دوبار کلیک کنید تا در سمت راست صفحه نمایش باز شود.

سپس روی دکمه Export کلیک کنید و فایل مقصد خود را انتخاب کنید.

توجه کنید

استراتژی کوانت  فقط از ورود داده های 1 دقیقه ای پشتیبانی می کند، و دوره های زمانی بالاتر را بصورت خودکار محاسبه می کند.

حالا ما داده های آماده ای را داریم تا به استراتژی کوانت  وارد شوند.

مرحله 2: ایجاد یک نماد جدید در استراتژی کوانت

ما می توانیم داده ها را برای نمادی که از قبل موجود بوده، وارد کنیم، اما داده های آن نماد بازنویسی خواهند شد، بنابراین بهتر است یک نماد جدید تعریف کنیم. استراتژی کوانت را  اجرا کنید ، به صفحه مدیریت داده ها (Data manager) ، تاریخچه داده (History Data) بروید و بر روی افزودن نماد (Add symbol…) کلیک کنید.

نماد و نام کامل را پر کنید، کارمزد پیش فرض و مقدار تیک را بررسی کنید.

Pip/Tick point

این گزینه مقدار پیپ می باشد. و بدان معنی است که هر 1 پپ چه مقدار است. معمولا 0.0001 است. برای جفت های مبتنی بر JPY، 1 پیپ 0.01 می باشد.

Pip/Tick value in $

مقداری است که بیان می کند ارزش یک پپ به واحد پول حساب چقدر است، معمولا این مقدار10 برای همه ارزها است.

Pip/Tick Step

مقداری است که بیان می کند حرکت یک پیپ چقدر است. تقریبا تمام کارگزاران از داده های 5 رقمی استفاده می کنند، بنابراین ارزش 0.00001 (یا 0.001 برای جفت های مبتنی بر JPY) خواهد بود.

روی OK کلیک کنید، نماد جدید ایجاد خواهد شد. نماد هنوز اطلاعاتی ندارد، اما ما قصد داریم آنها را در مرحله بعدی وارد کنیم.

مرحله 3: وارد کردن اطلاعات به استراتژی کوانت

حالا ردیف جدید خود را با نماد انتخاب کنید و بر روی دکمه …Import data در بالای صفحه کلیک کنید. این عمل پنجره محاوره ورود اطلاعات را باز می کند.

پنجره محاوره ورود قابل تنظیم است؛ این قابلیت اجازه ورود داده ها از فایل های با فرمت های مختلف را می دهد. از آنجا که ما از داده های MetaTrader استفاده می کنیم، MetaTrader4 را به عنوان یک فرمت فایل از پیش تعیین شده انتخاب کنید.

فایل داده را انتخاب کرده و روی دکمه Start Import کلیک کنید. این عمل روند ورود داده ها را آغاز خواهد کرد. این روند بسته به سرعت کامپیوتر و اندازه داده، می تواند تا چند دقیقه طول بکشد.

هنگامی که ورود تمام شد، پنجره اطلاعات نمایش داده خواهد شد و از شما می پرسد که پنجره محاوره را ببندید.

در حال حاضر ما داده های جدیدی را داریم که به طور موفقیت آمیز به استراتژی کوانت وارد شده است و می توانیم آنها را برای تست و تولید استراتژی جدید استفاده کنیم.

 

 

2-7. وارد کردن اطلاعات تاریخچه قیمت از  NinjaTrader

مرحله 1: صدور داده ها از NinjaTrader

NinjaTrader خود را باز کنید و سپس به  File -> New -> Chart بروید و هر نموداری  را که برای معامله خودکار می خواهید باز کنید. شما باید دوره مناسب ( دوره زمانی) و محدوده داده مناسب و الگوی جلسه را ، به همان شکلی که داده ها با تنظیمات انتخابی صادر خواهند شد را انتخاب کنید.

با این کار، یک نمودار جدید در NinjaTrader باز خواهد شد:

حالا شما باید یک شاخص خاص را به نمودار اضافه کنید که برای صدور داده ها عمل می کند  بر روی نماد شاخص ها در بالای نمودار کلیک کنید تا شاخص جدید را اضافه کنید و شاخص SQDataExport را از لیست انتخاب کنید.

اگر این شاخص را در لیست مشاهده نمی کنید مطمئن شوید شاخص های استراتژی کوانت همانطور که در بخش مرحله نصب تعیین شد را در NinjaTrader تان نصب کرده اید، .

این شاخص فقط یک پارامتر مهم دارد – Path- مسیری را که می خواهید داده ها نوشته شود را تنظیم کنید. شما باید از این فایل در مرحله بعدی استفاده کنید.

هنگامی که شما گزینه OK را کلیک کنید روند صدور آغاز خواهد شد.

در ابتدا یک پیام به شما نمایش داده خواهد شد که نشان می دهد داده ها در کجا نوشته خواهند شد. با کلیک دوباره بر روی OK در این پنجره، صدور داده ها شروع خواهد شد.

ممکن است بسته به اندازه داده ها و سرعت کامپیوتر شما چند ثانیه یا چند دقیقه طول بکشد.

مرحله 2: یک نماد جدید در استراتژی کوانت ایجاد کنید

ما می توانیم داده ها را برای نمادی که از قبل موجود بوده، وارد کنیم، اما داده های آن را بازنویسی می کنیم، بنابراین بهتر است یک نماد جدید تعریف کنیم. استراتژی کوانت را اجرا کنید ، به صفحه مدیریت داده ها (Data manager) ، تاریخچه داده (History Data) بروید و بر روی افزودن نماد (Add symbol…) کلیک کنید.

نماد و نام کامل را پر کنید، مقدار پیش فرض کارمزد را بررسی کنید.

توجه کنید

اگر مطمئن نیستید که چگونه این مقادیر را پر کنید، چگونگی پیدا کردن مقادیر Point ، Pip/Tick step در NinjaTrader را بررسی کنید

$  Point value in

مقداری است، که بیان می کند ارزش یک پوینت چه مقدار به واحد پول حساب می باشدو به نماد بستگی دارد.  برای TF (Russel 2000) این مقدار  100  است.

 

 

Pip / Tick Step

مقداری است که بیان می کند یک پیپ چقدر می تواند حرکت کند. این کوچکترین مکان اعشار است که تیک میتواند داشته باشد. برای TF (Russel 2000)  این مقدار 0.1 است. برای سهام این مقدار معمولا 0.01 خواهد بود.

Pip / Tick

این مقدار فقط برای فارکس و داده های متاتریدر معنی دارد. برای معاملات آتی و سهام باید مقدارش مشابه با Pip / Tick Step باشد.

Data type

برای داده های NinjaTrader گزینه “Timestamp represents end of bar time” را انتخاب کنید.

روی OK کلیک کنید و نماد جدید ایجاد خواهد شد. نماد هنوز اطلاعاتی ندارد، اما ما قصد داریم آنها را در مرحله بعدی وارد کنیم.

 

مرحله 3: وارد کردن اطلاعات به StrategyQuant

حالا ردیف جدید خود را با نماد انتخاب کنید و بر روی دکمه Import data… در بالای صفحه کلیک کنید. این عمل پنجره محاوره ورود را باز خواهد کرد.

پنجره ورود قابل تنظیم است؛ و به شما اجازه ورود داده ها از فایل های با فرمت های مختلف را می دهد. از آنجا که ما از داده های متاتریدر استفاده می کنیم، MetaTrader4 را به عنوان یک فرمت فایل از پیش تعیین شده انتخاب کنید.

فایل داده را انتخاب کرده و روی دکمه Start Import کلیک کنید. این عمل روند ورود داده ها را آغاز خواهد کرد. و بسته به سرعت کامپیوتر و اندازه داده، می توانید چند دقیقه طول بکشد.

هنگامی که ورود داده تمام شد، پنجره اطلاعات را نمایش خواهد داد و از شما می خواهد که پنجره محاوره را ببندید.

در حال حاضر ما داده های جدیدی که به طور موفقیت آمیز در استراتژی کوانت وارد شده اند را داریم و می توانیم آنها را برای تست ها و تولید استراتژی جدید استفاده کنیم.

 

3-7. چگونگی پیدا کردن مقادیر Point ، Pip/Tick step در NinjaTrader

خوشبختانه، این تنظیمات در NinjaTrader بسیار آسان است.

NinjaTrader را باز کنید، به  Tools -> Instrument Manager بروید. و در این بخش نمادتان را جستجو کنید. هنگامی که آن را پیدا کردید آن را در جدول دوبار کلیک کنید جزئیات ابزار معاملاتی باز خواهد شد.

مقدار  Tick sizeدر اینجا باید به عنوان Pip / Tick Step و Pip / Tick Size در استراتژی کوانت استفاده شود.

Point value  باید به عنوان $Point value in  در استراتژی کوانت استفاده شود.

 

4-7. وارد کردن اطلاعات تاریخچه قیمت از Tradestation

مرحله 1: صدور داده از Tradestation

صدور داده ها از Tradestation بسیار ساده است. پلت فرم Tradestation خود را باز کنید و  به نموداری که داده هایش را می خواهید صادر کنید، بروید.

سپس برای گشودن پنجره داده به پنجره View -> Data بروید. بر روی شکلک Save کلیک کنید.

نام فایل برای اطلاعات تان انتخاب کنید  Tradeestation داده ها را در فایل ذخیره خواهد کرد.

مرحله 2: یک نماد جدید در استراتژی کوانت ایجاد کنید

ما می توانیم داده ها را برای نمادی که از قبل موجود بوده،  وارد کنیم، اما داده های آن را بازنویسی می کنیم، بنابراین بهتر است یک نماد جدید تعریف کنیم. استراتژی کوانت را اجرا کنید ، به صفحه مدیریت داده ها (Data manager) ، تاریخچه داده (History Data) بروید و بر روی افزودن نماد (…Add symbol) کلیک کنید.

نماد و نام کامل را پر کنید، مقدار پیش فرض کارمزد را بررسی کنید.

توجه کنید

اگر مطمئن نیستید که چگونه باید این مقادیر را پر کنید، چگونگی پیدا کردن مقادیر Point ، Pip/Tick step در Tradestation  را بررسی کنید

$  Point value in
مقداری است، که بیان می کند ارزش یک پوینت چه مقدار به واحد پول حساب می باشدو به نماد بستگی دارد.  برای TF (Russel 2000) این مقدار  100  است.

Pip / Tick Step

مقداری است که بیان می کند یک پیپ چقدر می تواند حرکت کند. این کوچکترین مکان اعشار است که تیک میتواند داشته باشد. برای TF (Russel 2000)  این مقدار 1/0 است. برای سهام معمولا 0.01 خواهد بود. برای ES (S & P e-mini)  این مقدار 25/0 است.

Pip/Tick Size

این مقدار فقط برای فارکس و داده های متاتریدر معنی دارد. برای معاملات آتی و سهام باید مقدارش مشابه با Pip / Tick Step باشد. برای ES (S & P e-mini) این مقدار 25/0 است.

Data type

برای داده های  Tradestation گزینه “Timestamp represents end of bar time” را انتخاب کنید.

روی OK کلیک کنید نماد جدید ایجاد خواهد شد. نماد هنوز اطلاعاتی ندارد، اما ما قصد داریم آنها را در مرحله بعدی وارد کنیم.

 

مرحله 3: وارد کردن اطلاعات به StrategyQuant

حالا ردیف جدید خود را با نماد انتخاب کنید و بر روی دکمه Import data… در بالای صفحه کلیک کنید. این عمل پنجره محاوره ورود را باز خواهد کرد.

پنجره ورود قابل تنظیم است؛ و به شما اجازه ورود داده ها از فایل های با فرمت های مختلف را می دهد. از آنجا که ما از داده های متاتریدر استفاده می کنیم، MetaTrader4 را به عنوان یک فرمت فایل از پیش تعیین شده انتخاب کنید.

فایل داده را انتخاب کرده و روی دکمه Start Import کلیک کنید. این عمل روند ورود داده ها را آغاز خواهد کرد. و بسته به سرعت کامپیوتر و اندازه داده، می توانید چند دقیقه طول بکشد.

هنگامی که ورود داده تمام شد، پنجره اطلاعات را نمایش خواهد داد و از شما می خواهد که پنجره محاوره را ببندید.

در حال حاضر ما داده های جدیدی که به طور موفقیت آمیز در استراتژی کوانت وارد شده اند را داریم و می توانیم آنها را برای تست ها و تولید استراتژی جدید استفاده کنیم.

5-7. چگونگی پیدا کردن مقادیر Point، Pip/Tick step در Tradestation

در Tradestation پنجره Symbol format را باز کنید و به برگه Properties بروید.

مقدار Big Point Value باید به عنوان $  Point value inدر استراتژی کوانت استفاده شود.

Pip/Tick Step و  Pip/Tick Size در استراتژی کوانت را می توان به صورت  Min Move * Price Scale محاسبه کرد. بنابراین در مثال ما برای ES  حداقل حرکت 25 است و مقیاس قیمت 100/1 است.

بنابراين مقدار Pip / Tick Step و Pip / Tick Size براي ES در استراتژی کوانت این مقدار خواهد بود:

25 * 1/100 = 0.25

 

 

6-7. ورود داده های تاریخچه برای نمودارهای Range / Renko از MetaTrader

ورود داده های Renko/Range همانند وارد کردن هر گونه اطلاعات تاریخچه برای NinjaTrader یا Tradestation است، بنابراین در اینجا توضیح داده نمی شود. برای MetaTrader4 ما باید از پلاگین ها و اسکریپت های سفارشی CSV2FXT از AZ-INVEST.EU استفاده کنیم.

ما تمام روند به دست آوردن اطلاعات تاریخچه تیک و یا دقیقه را توصیف نمی کنیم، این موضوع در مستندات پلاگین ها شرح داده شده است. برای صدور داده های نمودار در فرمت قابل استفاده توسط استراتژی کوانت، فقط باید تنظیم کنید:

StrategyQuantExport = true
Spread=2.5  

کارمزد (Spread) 3 یا 4 یا هر مقداری که باشد باید مقدار ثابت باشد

با این روش فایل داده ای ایجاد می شود که شما می توانید در استراتژی کوانت به روش استاندارد وارد کنید (موضوع نحوه وارد کردن اطلاعات از MetaTrader بالا را  بررسی کنید )

داده ها به صورت میان روزی (Intraday) شناخته شدند – و این برای داده های Range و Renko یکسان است.

سپس شما می توانید از این داده ها به همان شیوه سایر داده های استاندارد، استفاده کنید.

7-7. وارد کردن شاخص سفارشی جدید از MT4 – به صورت خودکار

شاخص های سفارشی شاخص هایی هستند که تحت نرم افزار متاتریدر4 اجرا می شوند و در استراتژی کوانت اجرا نمی شوند.

استراتژی کوانت قادر به اجرای کد شاخص نیست، بنابراین تنها راه برای کار با شاخص های سفارشی در استراتژی کوانت وارد کردن داده های شاخص ها می باشد.

توجه کنید

شاخص های سفارشی در متاتریدرمحاسبه می شود، نه در SQ . برای دریافت نتایج صحیح، شما باید از داده های تاریخچه مشابه در هر دو نرم افزار  SQ  و MT4 استفاده کنید. اگر شاخص خود را در MetaTrader با داده های کارگزار خود محاسبه کنید و سپس در StrategyQuant از دادههای منبع دیگر استفاده کنید، کار نخواهد کرد. قبل از استفاده از شاخص های سفارشی، داده های تاریخچه خود را همسان سازی کنید تا SQ و MT4 از تاریخچه قیمت یکسان استفاده کنند

مرحله 1: تعریف شاخص جدید سفارشی در استراتژی کوانت

به مسیر  Data manager -> Custom indicators بروید و بر روی Add new در جدول تعاریف شاخص های سفارشی کلیک کنید.

این عمل پنجره محاوره تعریف شاخص جدید را باز می کند.

شما می توانید شاخص خود را به صورت دستی تعریف کنید، اما اگر شما یک کد منبع از شاخص تان را (فایل mq4 .) دارید شما می توانید از تشخیص خودکار استفاده کنید.

روی Select کلیک کنید و فایل شاخص خود را پیدا کنید –  نام شاخص باید به .mq4 ختم شود. برای ساختن یک مثال ما سعی خواهیم کرد که شاخص کانال Keltner را وارد کنیم .

فایل شاخص فراخوانی  و تجزیه می شود و تمام خانه های فرم افزودن شاخص به طور خودکار پر خواهند شد.

ما می توانیم بینیم که استراتژی کوانت نوع بازگشتی شاخص را قیمت تشخیص داده است و  دارای دو پارامتر و سه مقدار خروجی است.

Return type

یک نوع مقدار بازگشتی تولید شده توسط شاخص است، که توسط استراتژی کوانت برای درستی تطبیق این شاخص سفارشی با سایر بلوک های ساخت در برنامه مورد استفاده قرار می گیرد، به طوری که قیمت را با قیمت مقایسه می کند و نه به عنوان مثال قیمت را  با ارزش CCI.

و می تواند این مقادیر باشد:

  • Number – اگر شاخصی مانند CCI، RSI، MACD و غیره باشد
  • Price– اگر مقدار شاخص قیمت باشد، مثل میانگین متحرک یا باندهای بولینگر.
  • Price range – اگر مقدار شاخص محدوده قیمت (تفاوت بین دو قیمت)، مانند ATR یا Bollinger Bands Range باشد.
  • Boolean – اگر شاخص مقدار true/false را نشان می دهد (صفر / غیر صفر در مورد حالت ما). برای مثال شما می توانید شاخص منطقی برای شناسایی الگوهای شمعدانی یا اجرای قوانین معاملات ساده خود داشته باشید.

نحوه تصمیم گیری نوع مقدار بازگشتی مناسب

به طور کلی، اگر شاخص خطوط خود را در همان نمودار به عنوان قیمت ترسیم کند، نوع بازگشتی آن قیمت است. اگر خطوط خود را به یک پنجره جداگانه در زیر نمودار اصلی ترسیم کند، آنگاه مقدار بازگشتی عدد است، به استثنای شاخص های خاص نظیر ATR که برخی از انواع تفاوت قیمت یا محدوده را محاسبه می کنند.

Is oscillator

بعضی از شاخصها مانند CCI یا RSI نوسانگر هستند، بدین معنی که مقدار آن در اطراف برخی از عددها نوسان می کنند مانند نوسانات CCI در اطراف 0 و یا نوسانات RSI در اطراف 50 است). اگر شاخصی نوسانگر است، این گزینه را انتخاب کنید.

Oscillator middle value

برای نوسانگرها مقدار میانی شان را (مقداری را که در اطراف آن نوسان می کنند) قرار می دهد.

Parameters

پارامترها یک لیست کامل از پارامترها با انواع آنها و مقادیر پیش فرض برای شاخص می باشند. اگر شاخص سفارشی را به طور دستی تعریف کنید می توانید پارامترهای آن را در MetaTrader بررسی کنید.

Output values

این مقادیرخروجی های شاخص هستند. اگر ما تصویر زیر را از شاخص کانال Keltner بررسی کنیم، می توانیم ببینیم که سه مقدار در پنجره Data نمایش داده می شود، و آنها به خط بالا، میانی ​​و پایین در نمودار مربوط می شوند.

در پنجره روی OK کلیک کنید شاخص جدید سفارشی شما تعریف شده است.

مرحله 2: تعریف داده های نشانگر سفارشی

حالا که ما تعریف جدیدی از شاخص را تعریف کردیم، ما باید دادههای شاخص سفارشی را فراخوانی کنیم. تعریفی که ما در مرحله اول انجام دادیم فقط یک «توصیف» شاخص است. برای استفاده از این شاخص در استراتژی های خود، شما باید پیکربندی کنید که کدام پارامتر و مقادیر خروجی آن باید استفاده شود و داده های محاسبه شده در MetaTrader را برای این شاخص فراخوانی کنید.

روی دکمه Add new در جدول داده شاخص های سفارشی کلیک کنید.

در اینجا ما باید شاخص خود را (کانال Keltner) انتخاب کنیم و از مقادیر خروجی مورد نظر مان استفاده کنیم. ما برای استفاده از خط بالایی تصمیم گرفتیم. اگر بخواهید همچنین می توانید از خط وسط یا پایین نیز استفاده کنید، باید این مرحله را برای هر خروجی که می خواهید استفاده کنید، دنبال کنید. بعد شما همچنین باید نماد و دوره زمانی که داده های این شاخص معتبر خواهند بود، را انتخاب کنید . داده ها در MetaTrader برای یک نماد و دوره زمانی مشخص محاسبه می شوند، بنابراین برای هر نماد / دوره زمانی دیگر معتبر نخواهند بود. برای استفاده از این شاخص سفارشی در نماد دیگر، مرحله 2 را با استفاده از یک نماد دیگر تکرار کنید.

اگر ما بخواهیم از تنظیمات ورود خودکار استفاده کنیم (توصیه می شود)، شما باید همچنین مسیر را نیز با مسیر نرم افزار متاتریدرتان پر کنید – این نرم افزار متاتریدر است که برای محاسبه داده ها برای این شاخص فراخوانی می شود.

ما همچنین باید نام نماد دقیق را در متاتریدرمشخص کنیم. به این دلیل است که در استراتژی کوانت شما می توانید از هر نامی مانند EURUSD_fhdb استفاده کنید اما برای اجرای صدور در MT4 ما نیاز به نام نماد دقیقی که در MT4 استفاده می شود، داریم .

آخرین موضوع تنظیم  پارامترهای شاخص است.

دوباره، داده های شاخص محاسبه شده فقط برای یک ترکیبی از نماد / دوره زمانی / خروجی / پارامتر معتبر خواهد بود. اگر می خواهید از شاخص سفارشی با مجموعه ای از پارامترهای دیگر استفاده کنید، باید چندین بار آن را تعریف کنید.

وقتی همه این کارها انجام شود، برای ذخیره اطلاعات جدید شاخص سفارشی، OK را بزنید.

ما می توانیم همان مرحله را برای همان شاخص و نماد تکرار کنیم، اما این بار مقدار خروجی خط پایین را انتخاب خواهیم کرد. به این ترتیب، بلوک های ساخت جدید سفارشی برای مقادیر بالا و پایین شاخص Keltner Channel اضافه خواهند شد.

مرحله 3: فراخوانی داده های نشانگر سفارشی

حالا ما دو شاخص جدید سفارشی تعریف کرده ایم، اما هنوز هیچ اطلاعاتی ندارند. ما می توانیم ورود خودکار یا دستی را برای وارد کردن داده ها از متاتریدر استفاده کنیم.

مرحله 1-3: ورود خودکار

دو رکورد جدید خود را انتخاب کنید ( مادامی که ردیف ها را کلیک می کنید تا چندین سطر انتخاب شوند کلید CTRL را نگه دارید)، سپس Data Import -> Automatic را انتخاب کنید.

توجه کنید

قبل از اجرای ورود خودکار لطفا متاتریدر را ببندید، در غیر این صورت ورود داده ها شکست خواهد خورد.

برنامه اکنون متاتریدر را به طور خودکار اجرا می کند و محاسبه شاخص های سفارشی، صدور داده و وارد کردن آن به استراتژی کوانت را آغاز می کند.

همه اینها به صورت خودکار است، شما لازم نیست که به هر شکلی در این کار دخالت داشته باشید.

وقتی فرایند تمام شد، خواهید دید که شاخصها در حال حاضر دارای مقادیر وارد شده هستند:

مرحله 2-3: وارد کردن دستی

شما می توانید از ورود دستی در صورتی که وارد شدن خودکار شکست خورده یا می خواهید کنترل بیشتری بر داده های صادر شده داشته باشید، استفاده کنید.

اگر قصد ندارید از وارد کردن دستی استفاده کنید، می توانید مستقیما به مرحله 4 بروید.

مرحله 1-2-3.  گرفتن مقادیر شاخص از MetaTrader

شاخص های سفارشی به نحوی کار می کنند که استراتژی کوانت از مقادیر محاسبه شده شان که در برنامه دیگری، به عنوان مثال در MetaTrader ، استفاده می کند. این بدان معنی است که ما باید این شاخص را در MetaTrader محاسبه کنیم و سپس مقدار یا مقادیر آن را به SQ وارد کنیم.

این کمی پیچیده است، اما از سوی دیگر، به ما اجازه می دهد تا تقریبا از هر شاخصی که در MetaTrader وجود دارد استفاده کنیم، حتی اگر ما نمی دانیم دقیقا چه مقداری محاسبه می شود.

برای محاسبه مقدار شاخص ما از یک اکسپرت ساده به نام GenBuilder_IndicatorExportEA استفاده خواهیم کرد

این اکسپرت ساده با استراتژی کوانت ارسال می شود، شما می توانید آن را در دایرکتوری  نصب زیر پیدا  کنید.

{StrategyQuant} / custom_indicators / mq4/

برای استفاده از آن در MetaTrader شما باید آن را در این مسیر کپی کنید:

{MetaTrader installation directory}/experts

اگر از MetaTrader Build 600+ استفاده می کنید، ساختار پوشه تغییر کرده است. شما باید پوشه اکسپرت  درست را در مسیر  MetaTrader File -> Open Data Folder قرار دهید. این پوشه داده MT4 را باز خواهد کرد و شما باید این اکسپرت را به MQL4/Experts کپی کنید.

سپس MetaTrader خود را راه اندازی مجدد کنید اکسپرت جدید در دسترس خواهد بود.

ما باید اکسپرت را باز کنیم و کمی کد آن را اصلاح کنیم. ویرایشگر زبان MetaQuotes را از منوی Tools باز کنید.

این گزینه ویرایشگری را باز می کند که ما را قادر به تغییر اکسپرت می نماید.

در حال حاضر IndicatorExportEA را در پوشه Experts پیدا کرده و روی آن دوبار کلیک کنید، اکسپرت را در صفحه ویرایشگر باز خواهد کرد.

تنها چیزی که ما باید در کد آن تغییراتی را انجام دهیم یک فرمان است که مقدار شاخص را دریافت می کند و

آن مقدار را در فایل می نویسد. کد به صورت زیر است:

value1 = … get indicator value 1 bar ago…

FileWrite(handle, TimeToStr(Time[1], TIME_DATE),TimeToStr(Time[1], TIME_MINUTES), Close[1], value1);

کد ساده است، همه کاری که انجام می دهد آن است که مقدار شاخص مورد نظر را گرفته و سپس آن را در فایل ذخیره می کند. بنابراین، برای صدور شاخص تان فقط کدی را تغییر دهید که مقدار شاخص را می گیرد.

مثال 1 –  صدور مقدار شاخص استانداردMT4 ، مانند Bears Power

value1 = iBearsPower(NULL, 0, 13, PRICE_CLOSE, 1);

FileWrite(handle, TimeToStr(Time[1], TIME_DATE),TimeToStr(Time[1], TIME_MINUTES), Close[1], value1);

مثال 2  صدور شاخص سفارشی از MT4

برای دریافت مقدار شاخص سفارشی در MT4 ما باید از فراخوانی زیر استفاده کنیم

iCustom(symbol, timeframe, name, …parameters…, mode, shift)

جایی که

  • symbol و   timeframeرا می توان با مقادیر NULL، 0 برای دریافت نماد و دوره زمانی واقعی باقی گذاشت
  • Name نام دقیق شاخص سفارشی است
  • Parameters پارامترهای شاخص هستند که با کاما جدا شده می شوند
  • Mode یک شاخص خط است که می تواند از 0..7 باشد و معمولا اگر شاخص مقدار بیش از یک مقدار را بر گرداند استفاده می شود
  • Shift باید همیشه 1 باشد

به عنوان مثال برای کانال Keltner ما باید کد زیر را داشته باشیم:

value1 = iCustom(NULL,0, “KeltnerChannel”, 20, 1.5, 2, 1);

FileWrite(handle, TimeToStr(Time[1], TIME_DATE),TimeToStr(Time[1], TIME_MINUTES), Close[1], value1);

جایی که 20 و 1.5 پارامترهای شاخص کانال Keltner هستند و 2 شاخص خط –  ما مقدار خط سوم  شاخص (شماره گذاری خط بر مبنای صفر است ) را می خواهیم که مربوط به خط پایین کانال Keltner است.

مثال 3 –  صدور چندین مقدار شاخص در یک بار – Ichimoku Tenkan Sen  و  Kijun Sen

ممکن است چندین مقدار شاخص را در یک بار وارد کنیم، برای این کار به سادگی از متغیر value1  تا value6 استفاده می کنیم و فراموش نکنید تمام این مقادیر را به تابع FileWrite اضافه کنید.

value1 = iIchimoku(NULL, 0, 9, 26, 52, MODE_TENKANSEN, 1);

value2 = iIchimoku(NULL, 0, 9, 26, 52, MODE_KIJUNSEN, 1);

FileWrite(handle, TimeToStr(Time[1], TIME_DATE),TimeToStr(Time[1], TIME_MINUTES), Close[1], value1, value2);

دو خط اول، محاسبه مقادیر مختلف شاخص Ichimoku و خط سوم آنها را در فایل داده ذخیره می کند.

پس از تغییر کد، ما می توانیم روی دکمه Compile در بالا کلیک کنیم و شاخص با موفقیت کامپایل می شود.

مرحله 2-2-3.  صدور مقادیر شاخص از MetaTrader

حالا ما شاخص صادر شده را آماده کرده ایم و می توانیم از آن استفاده کنیم. در متاتریدر استراتژی تستر را باز کنید  (View -> Strategy Tester) و در لیست اکسپرت ها GenBuilder_IndicatorDataExportEA ما را پیدا کنید.

حالا شما باید نماد و دوره زمانی را نیز تنظیم کنید که می خواهید شاخص بر اساس آن محاسبه کند.

همچنین بخش تاریخ را  از تاریخ … تا تاریخ  بررسی کنید.

پس از این، روی دکمه Start کلیک کنید صدور شروع خواهد شد. صدور داده می تواند چندین دقیقه طول بکشد، بنابراین صبر کن تا  با موفقیت به پایان برسد.

اکسپرت از طریق تمام تاریخچه داده ها، مقدار شاخص را برای هر نوار محاسبه و  تیک های تولید شده را در یک فایل می نویسد. این فایل را می توان در

{MetaTrader installation directory}/tester/files

یا برای+ MT4 Build 600  در

{MetaTrader Data Folder}/MQL4/tester/files

توجه کنید

شاخص برای هر نماد و هر دوره زمانی، مقادیر مختلفی خواهد داشت به طوری که شما باید

آن را برای هر ترکیب نماد و دوره زمانی که می خواهید در سازنده ژنتیک استفاده کنید، صادر کنید.

برای انجام این کار، فقط این مرحله 2 را تکرار کنید و نماد و یا دوره زمانی مختلف را انتخاب کنید.

فراموش نکنید قبل از هر صدور فایلهای مقادیر صادر شده را تغییر نام دهید، زیرا در غیر این صورت

مقادیر جدید به انتهای فایل قبل افزوده می شود که آن را غیر قابل استفاده می کند.

به سادگی به دایرکتوری / tester / files بروید و فایل export CustInd_XXX.csv را  به چیز دیگری (مثلا MyIdicator_GBPUSD_M15.csv) قبل از اجرای مجدد صدور، تغییر نام

مرحله 3-2-3.  وارد کردن مقادیر شاخص به استراتژی کوانت

رکورد جدید را انتخاب کنید و سپس Data import -> Manual را انتخاب کنید. این عمل پنجره محاوره ورود جدید را باز می کند:

فایل داده را در بالای صفحه انتخاب کنید – برای این منظور شما باید به

{MetaTrader installation directory}/tester/files

یا برای + MT4 Build 600به

{MetaTrader Data Folder} / MQL4 / tester / files

بروید و پرونده صادر شده ای که درمرحله قبلی وارد کرده اید را در آن پیدا کنید  سپس بخش وارد کننده چندین ردیف اول فایل را فراخوانی می کند و شما می توانید نوع ستون  هارا مشخص کنید.

فایل شاخص می تواند چندین ستون با مقادیر شاخص داشته باشد، در مثال ما فقط یک ستون داریم.

برای هر ستون شاخص مورد استفاده، شما باید کد شاخص را مشخص کنید – این کدی است که برای تولید مقادیر شاخص استفاده شده است. این کد توسط اکسپرت  Genetic Builder هنگام تولید کد منبع از استراتژی در کد MQL استفاده می شود. بیایید فرض کنیم که شاخص سفارشی ما  Bears Power محاسبه شده به عنوان مثال 1 باشد، و سپس کد نشان می دهد:

iBearsPower(NULL, 0, 13, PRICE_CLOSE, _BARSBACK(_

لطفا توجه داشته باشید که آخرین پارامتر را با ثابت _BARSBACK_ جایگزین کردیم. و به این دلیل است که اکسپرت سازنده نیاز دارد تا تعداد صحیح میله ها که شاخص باید محاسبه کند را تعیین کند.

ثابت  _BARSBACK_  با  shift (یا میله های قبل) در کد MQL تولید شده جایگزین می شود.

حالا بر روی Start Import کلیک کنید و موتور واردات شاخص جدید سفارشی را بررسی و وارد می کند.

مرحله 4: استفاده از شاخص های سفارشی جدید تان

مراحل 1 تا 3 را باید فقط یک بار برای هر شاخص جدید سفارشی و نماد / دوره زمانی / خروجی / پارامترهایی که می خواهید به استراتژی کوانت اضافه کنید، انجام دهید. هنگامی که داده های شاخص با موفقیت وارد شوند، می توانید از آنها در بلوک های ساخت استفاده کنید.

برای استفاده از شاخص های سفارشی جدید تان در استراتژی های خود، شما باید آنها را در Building Blocks -> Custom indicators table را بررسی کنید.

توجه کنید

شاخص های سفارشی فقط برای نماد / دوره زمانی محاسبه شده معتبر هستند، در مثال ما فقط برای EURUSD_fhdb / H1.

اگر می خواهید آنها را برای نماد یا دوره زمانی دیگری استفاده کنید، باید مراحل 1 تا 3 را تکرار کنید.

 

8-7. وارد کردن شاخص سفارشی جدید از NinjaTrader

شاخص های سفارشی شاخص هایی هستند که تحت نرم افزار NinjaTrader اجرا می شوند و در استراتژی کوانت اجرا نمی شوند.

استراتژی کوانت قادر به اجرای کد شاخص نیست، بنابراین تنها راه چگونگی کار با شاخص های سفارشی در SQ  ، وارد نمودن داده های آنها است.

توجه کنید

شاخص های سفارشی در NinjaTrader، و نه در SQ محاسبه می شود. برای دریافت نتایج صحیح، شما باید از داده های تاریخچه مشابه و یکسان در هر دو نرم افزار استراتژی کوانت و NT استفاده کنید. اگر شاخص خود را در NinjaTrader با داده های کارگزار تان محاسبه کنید و سپس در استراتژی کوانت از دادههای منبع دیگر استفاده کنید، شاخص سفارشی کار نخواهد کرد. شما باید شاخص سفارشی خود را دقیقا با همان داده ها، محدوده داده ها و جلسه معاملاتی همانطور که به استراتژی کوانت وارد می کنید، محاسبه کنید.

مرحله 1: تعریف شاخص سفارشی جدید در استراتژی کوانت

به عنوان مثال ما شاخص سفارشی جدید MACD را ایجاد خواهیم کرد. ابتدا شاخص MACD را به نمودار در NinjaTrader اضافه کنید و ویژگی های آن را باز کنید تا بتوانید ببینید که کدام پارامتر و مقادیر خروجی (Plots) قابل استفاده هستند.

استراتژی کوانت را باز کنید، به Data manager -> Custom indicators  بروید و بر روی Add new در جدول تعاریف شاخص های سفارشی کلیک کنید.

این عمل پنجره محاوره تعریف شاخص جدید را باز می کند. برای NinjaTrader شما شاخص خود را به صورت دستی تعریف می کنید، بنابراین نامی برای شاخص سفارشی جدید خود (MACD_NT) ایجاد کنید و پارامترها و خروجی های آن را (Plots) تعریف کنید.

شما می توانید آن را به راحتی با کپی کردن مشخصات شاخص در NinjaTrader انجام دهید(به پایین نگاه کنید ).

برای MACD، نوع بازگشتی عددی (Number)  را تعیین می کنیم، زیرا ti مقدار عددی معمولی را بر می گرداند. ما همچنین انتخاب می کنیم که این شاخص یک نوسانگر است و در حدود و نزدیکی  0 نوسان می کند.

Return type

یک نوع مقدار بازگشتی تولید شده توسط شاخص است، که توسط استراتژی کوانت برای درستی تطبیق این شاخص سفارشی با سایر بلوک های ساخت در برنامه مورد استفاده قرار می گیرد، به طوری که قیمت را با قیمت مقایسه می کند و نه به عنوان مثال قیمت را  با ارزش CCI.

و می تواند این مقادیر باشد:

  • Number – اگر شاخصی مانند CCI، RSI، MACD و غیره باشد
  • Price– اگر مقدار شاخص قیمت باشد، مثل میانگین متحرک یا باندهای بولینگر.
  • Price range – اگر مقدار شاخص محدوده قیمت (تفاوت بین دو قیمت)، مانند ATR یا Bollinger Bands Range باشد.
  • Boolean – اگر شاخص مقدار true/false را نشان دهد (صفر / غیر صفر در مورد حالت ما). برای مثال شما می توانید شاخص منطقی برای شناسایی الگوهای شمعدانی یا اجرای قوانین معاملات ساده خود داشته باشید.

نحوه تصمیم گیری نوع مقدار بازگشتی مناسب

به طور کلی، اگر شاخص خطوط خود را در همان نمودار به عنوان قیمت ترسیم کند، نوع بازگشتی آن قیمت است. اگر خطوط خود را به یک پنجره جداگانه در زیر نمودار اصلی ترسیم کند، آنگاه مقدار بازگشتی عدد است، به استثنای شاخص های خاص نظیر ATR که برخی از انواع تفاوت قیمت یا محدوده را محاسبه می کنند.

Is oscillator

بعضی از شاخصها مانند CCI یا RSI نوسانگر هستند، بدین معنی که مقدار آن در اطراف برخی از عددها نوسان می کنند مانند نوسانات CCI در اطراف 0 و یا نوسانات RSI در اطراف 50 است). اگر شاخصی نوسانگر است، این گزینه را انتخاب کنید.

Oscillator middle value

برای نوسانگرها مقدار میانی شان را (مقداری را که در اطراف آن نوسان می کنند) قرار می دهد.

Parameters

پارامترها یک لیست کامل از پارامترها با انواع آنها و مقادیر پیش فرض برای شاخص می باشند. اگر شاخص سفارشی را به طور دستی تعریف کنید می توانید پارامترهای آن را در MetaTrader بررسی کنید.

Output values

این مقادیرخروجی های شاخص هستند. اگر ما تصویر زیر را از شاخص کانال Keltner بررسی کنیم، می توانیم ببینیم که سه مقدار در پنجره Data نمایش داده می شوند، و آنها به خط بالا، میانی ​​و پایین در نمودار مربوط می شوند.

در پنجره روی OK کلیک کنید شاخص جدید سفارشی شما تعریف شده است.

مرحله 2: تعریف داده های شاخص سفارشی

حالا که ما تعریف جدیدی از شاخص را ایجاد کردیم، باید دادههای شاخص سفارشی را فراخوانی کنیم. تعریف ما در مرحله اول فقط یک «توصیف» شاخص است. برای استفاده از این شاخص در استراتژی های خود، شما باید آن را پیکربندی کنید که کدام پارامتر و مقادیر خروجی آن باید استفاده شود و داده ها را برای این شاخص که در NinjaTrader محاسبه شده ، فراخوانی کنید.

روی دکمه Add new در جدول داده های شاخص های سفارشی کلیک کنید.

در اینجا ما شاخص خود را که پیش از این تعریف شده (MACD_NT) را انتخاب کرده ایم و انتخاب کردیم که کدام مقدار خروجی مورد نظر ما است. ما برای استفاده از خط  Avg تصمیم داریم. اگر می خواهید از خط Diff و Macd نیز استفاده کنید، باید این مرحله را برای هر خروجی که می خواهید استفاده کنید،  دنبال کنید.

سپس شما باید نماد و دوره زمانی را انتخاب کنید که داده های این شاخص معتبر باشند. داده ها در NinjaTrader برای یک نماد و دوره زمانی داده شده محاسبه می شوند، بنابراین آنها برای هر نماد / دوره زمانی دیگر معتبر نخواهند بود. برای استفاده از این شاخص سفارشی در نماد دیگر، مرحله 2 را با استفاده از یک نماد دیگر تکرار کنید.

تنظیمات ورود خودکار برای NinjaTrader در دسترس نیست و ما باید کد شاخص را به صورت دستی مشخص کنیم. این کدی است که ما در NinjaTrader برای محاسبه مقدار شاخص استفاده خواهیم کرد (مرحله بعدی را ببینید).

آخرین موضوع تنظیم  پارامترهای شاخص است.

دوباره، داده های شاخص محاسبه شده فقط برای یک ترکیبی از نماد / دوره زمانی / خروجی / پارامتر معتبر خواهد بود. اگر می خواهید از شاخص سفارشی با مجموعه ای از پارامترهای دیگر استفاده کنید، باید چندین بار آن را تعریف کنید.

وقتی همه این کارها انجام شود، برای ذخیره اطلاعات جدید شاخص سفارشی، OK را بزنید.

ما می توانیم همان مرحله را برای همان شاخص و نماد تکرار کنیم، اما این بار مقدار خروجی  Macd را انتخاب خواهیم کرد.

به این ترتیب بلوک های ساخت شاخص سفارشی جدید برای مقادیر Avg و Macd از شاخص MACD خواهیم داشت.

مرحله 3: صدور داده های شاخص از  NinjaTrader

حالا ما دو شاخص سفارشی جدید تعریف شده داریم، اما هنوز هیچ اطلاعاتی ندارند. ما باید

مقادیر شاخص را در NinjaTrader محاسبه کرده و آنها را به فایل صادر کرده و در استراتژی کوانت آنها را وارد کنیم.

اول از همه، ما باید این شاخص را از NinjaTarder صادر کنیم. برای این کار باید یک کد از  شاخص SQIndyExport را ویرایش کنیم.

به Tools -> Edit Script Ninja -> Indicators بروید و شاخص SQIndyExport را پیدا کنید.

حالا ما باید فایل را ویرایش کنیم تا شاخص های مورد نظر ما را محاسبه و صادر کند. دو تابع وجود دارد

که ما باید ویرایش کنیم:

در آغاز

این ساده است، ما فقط فایل های خالی جدیدی با نام های منحصر به فرد برای هر مقدار شاخص که برای صدور می خواهیم، ایجاد خواهیم کرد

protected override void OnStartUp() {

createEmptyFile(“MACD_NT_Avg”); // MACD_NT_Avg is the export file

name, you can choose any name

createEmptyFile(“MACD_NT_Macd”);

}

OnBarUpdate

این تابع در هر میله فراخوانی شده و ما از آن برای محاسبه داده های شاخص استفاده می کنیم و آن را در

فایل های آماده شده می نویسیم دقیقا چطور شما شاخص را برای محاسبه داده های آن فراخوانی خواهید کرد بستگی به خود شاخص دارد، برای MACD به این صورت کار می کند:

protected override void OnBarUpdate()

{

appendFile(“MACD_NT_Avg”, MACD(12, 26, 9).Avg[0]);  // MACD(12, 26, 9).Avg[0] is how the Avg value of MACD is computed

appendFile(“MACD_NT_Macd”, MACD(12, 26, 9)[0]); // every indicator has its own code

}

همه کار همین است ، اکنون ما می توانیم این شاخص را کامپایل کنیم.

هنگامی که شاخص با موفقیت کامپایل شد، می توانیم آن را به نمودار اضافه کنیم (نمودار باید همانی باشد که ما برای صدور داده ها برای استفاده در استراتژی کوانت استفاده می کنیم).

این یک پارامتر دارد – Path- ما باید در این پارامتر مسیری را که می خواهیم فایل های داده صادر شده را ذخیره کنیم، قرار دهیم.

حالا روی OK کلیک کنید، SQIndyExport به نمودار اضافه خواهد شد و شروع به محاسبه و صدور داده های شاخص می کند. ممکن است بسته به اندازه داده ها و سرعت کامپیوتر شما چند ثانیه یا چند دقیقه طول بکشد.

مرحله 4: فراخوانی دادههای شاخص سفارشی

هنگامی که ما با موفقیت داده های شاخص را از NinjaTrader صادر کردیم، می توانیم آنها را به استراتژی کوانت وارد کنیم. به استراتژی کوانت تغییر وضعیت دهید، به Data -> Custom Indicators بروید

اولین رکورد جدید  MACD(12,26, 9) -> Avg را انتخاب کنید و روی  Data Import -> Manual  کلیک کنید.

این کار پنجره محاوره ورود را باز می کند. فایل صادر شده خود را پیدا کنید و فراخوانی کنید.

حالا ما باید قالب تاریخ مناسب (dd / MM / yyyy در این مورد) و مقادیر ستون درست را تنظیم کنیم. فایل صادر شده از NinjaTrader دارای 4 ستون است: تاریخ، زمان، قیمت بسته شدن و مقدار شاخص. ما می توانیم روی Start import کلیک کنیم تا داده های شاخص را به استراتژی کوانت وارد کنیم.

حالا ما باید این کار را برای 9) -> Macd MACD (12،26,، تکرار کنیم و ما با موفقیت مقدار شاخص جدید را به استراتژی کوانت وارد کرده ایم. خواهید دید که شاخص ها در حال حاضر دارای مقادیر وارد شده هستند:

مرحله 5: استفاده از شاخص های سفارشی جدید تان

مراحل 1 تا 3 باید فقط یک بار برای هر شاخص جدید و نماد + دوره زمانی + خروجی + پارامترهایی که می خواهید به استراتژی کوانت اضافه کنید، انجام دهید. هنگامی که داده های شاخص با موفقیت وارد می شوند، می توانید از آنها در بلوک های ساخت استفاده کنید.

برای استفاده از شاخص های سفارشی جدید خود در استراتژی های تان، باید آنها را در
Building Blocks -> Custom indicators table انتخاب کنید.

توجه کنید

پس از وارد کردن شاخص های جدید سفارشی، ممکن است لازم باشد برنامه را مجددا راه اندازی کنید تا آنها در بلوک های ساخت ظاهر شوند.

شاخص های سفارشی فقط برای نماد / دوره زمانی محاسبه شده، معتبر هستند در مثال ما TF_10_12_15Min فقط برای M15 معتبر است. اگر می خواهید آنها را برای نماد یا دوره زمانی دیگر استفاده کنید، باید مراحل 1 تا 3 را تکرار کنید.

9-7. وارد کردن شاخص سفارشی جدید از Tradestation

شاخص های سفارشی شاخص هایی هستند که تحت پلت فرم Tradestation اجرا می شوند و با این حال در استراتژی کوانت اجرا نمی شوند.

استراتژی کوانت قادر به اجرای کد شاخص سفارشی نیست، بنابراین تنها روش  چگونگی استفاده از  شاخص های سفارشی در استراتژی کوانت وارد نمودن داده های شاخص می باشد.

توجه کنید

شاخص های سفارشی در Tradestation، و نه در استراتژی کوانت محاسبه می شوند. برای دریافت نتایج صحیح، شما باید از داده های مشابه در هر دو نرم افزار استراتژی کوانت و Tradestation استفاده کنید.

اگر برای محاسبه شاخص های سفارشی تان در Tradestation از اطلاعات کارگزار تان استفاده کنید و سپس در استراتژی کوانت از دادههای منبع دیگر استفاده کنید، شاخص کار نخواهد کرد. شما باید شاخص سفارشی خود را دقیقا با همان داده های ، محدوده داده ها و جلسه معاملاتی یکسانی که به استراتژی کوانت وارد می کنید، محاسبه کنید.

مرحله 1: تعریف شاخص سفارشی جدید در استراتژی کوانت

به عنوان مثال ما شاخص MACD سفارشی جدید را ایجاد خواهیم کرد. این فقط یک مثال است، زیرا قبلا MACD در استراتژی کوانت، درست مثل تمام شاخص های فنی استاندارد، اجرا شد.

ابتدا شاخص MACD را در نمودار Tradestation اضافه کنید و مشخصات آن را باز کنید تا بتوانید ببینید که چه پارامتر و مقادیر خروجی (Plots) قابل استفاده است.

ما می توانیم ببینیم که MACD دارای سه مقدار – MACD، MACDAvg و MACDDiff می باشد.

حالا استراتژی کوانت را باز کنید، به Data manager -> Custom indicators  بروید و بر روی Add new در جدول تعاریف شاخص های سفارشی کلیک کنید.

این عمل پنجره محاوره تعریف شاخص جدید را باز می کند. برای Tradestation شما شاخص خود را به صورت دستی تعریف می کنید، بنابراین نامی برای شاخص سفارشی جدید خود (MACD) ایجاد کنید و پارامترها و خروجی های آن را  تعریف کنید.

برای MACD، نوع مقدار بازگشتی را عددی (Number)  تعیین می کنیم، زیرا مقدار عددی معمولی را بر می گرداند. ما همچنین انتخاب می کنیم که این شاخص یک نوسانگر است و در حدود و نزدیکی  0 نوسان می کند.

Return type

یک نوع مقدار بازگشتی تولید شده توسط شاخص است، که توسط استراتژی کوانت برای درستی تطبیق این شاخص سفارشی با سایر بلوک های ساخت در برنامه مورد استفاده قرار می گیرد، به طوری که قیمت را با قیمت مقایسه می کند و نه به عنوان مثال قیمت را  با ارزش CCI.

و می تواند این مقادیر باشد:

  • Number – اگر شاخصی مانند CCI، RSI، MACD و غیره باشد
  • Price– اگر مقدار شاخص قیمت باشد، مثل میانگین متحرک یا باندهای بولینگر.
  • Price range – اگر مقدار شاخص محدوده قیمت (تفاوت بین دو قیمت)، مانند ATR یا Bollinger Bands Range باشد.
  • Boolean – اگر شاخص مقدار true/false را نشان دهد (صفر / غیر صفر در مورد حالت ما). برای مثال شما می توانید شاخص منطقی برای شناسایی الگوهای شمعدانی یا اجرای قوانین معاملات ساده خود داشته باشید.

نحوه تصمیم گیری نوع مقدار بازگشتی مناسب

به طور کلی، اگر شاخص خطوط خود را در همان نمودار به عنوان قیمت ترسیم کند، نوع بازگشتی آن قیمت است. اگر خطوط خود را در یک پنجره جداگانه در زیر نمودار اصلی ترسیم کند، آنگاه مقدار بازگشتی عدد است، به استثنای شاخص های خاص نظیر ATR که برخی از انواع تفاوت قیمت یا محدوده را محاسبه می کنند.

Is oscillator

بعضی از شاخصها مانند CCI یا RSI نوسانگر هستند، بدین معنی که مقدار آن در اطراف برخی از عددها نوسان می کنند مانند نوسانات CCI در اطراف 0 و یا نوسانات RSI در اطراف 50 است). اگر شاخصی نوسانگر است، این گزینه را انتخاب کنید.

Oscillator middle value

برای نوسانگرها مقدار میانی شان را (مقداری را که در اطراف آن نوسان می کنند) قرار می دهد.

Parameters

پارامترها یک لیست کامل از پارامترها با انواع آنها و مقادیر پیش فرض برای شاخص می باشند. اگر شاخص سفارشی را به طور دستی تعریف کنید می توانید پارامترهای آن را در Tradestation بررسی کنید.

Output values

این مقادیرخروجی های شاخص هستند. اگر ما تصویر زیر را از شاخص MACD بررسی کنیم، می توانیم ببینیم که سه مقدار در پنجره Data نمایش داده می شود، و آنها به خط MACD, MACDAvg  و MACDDiff در نمودار مربوط می شوند.

در پنجره روی OK کلیک کنید شاخص جدید سفارشی شما تعریف شده است.

مرحله 2: تعریف داده های شاخص سفارشی

حالا که ما تعریف جدیدی از شاخص را ایجاد کردیم، ما باید دادههای شاخص سفارشی را فراخوانی کنیم. تعریف ما در مرحله اول فقط یک «توصیف» شاخص است. برای اینکه بتوانیم از این شاخص در استراتژی های خوداستفاده کنید، شما باید پیکربندی کنید که کدام پارامتر و مقادیر خروجی شاخص باید استفاده شوند و داده ها را برای این شاخص در NinjaTrader محاسبه کنید.

روی دکمه Add new در جدول داده های سفارشی شاخص کلیک کنید.

در اینجا ما باید شاخص خود را که قبلا تعریف شده (MACD) را انتخاب کرده و انتخاب کنیم که کدام یک از مقادیر خروجی را ما می خواهیم استفاده کنیم. ما تصمیم داریم از اولین خط (MACD) استفاده کنیم. اگر می خواهید از خطوط Avg و Diff نیز استفاده کنید، باید این مرحله را برای هر خروجی که می خواهید استفاده کنید دنبال کنید.

سپس شما باید نماد و  دوره زمانی را انتخاب کنید که برای داده های این شاخص معتبر خواهد بود. داده ها در Tradestation برای یک نماد و دوره زمانی معین محاسبه می شوند، بنابراین برای هر نماد / دوره زمانی دیگر معتبر نخواهند بود. برای استفاده از این شاخص سفارشی در نماد دیگر، مرحله 2 را با استفاده از یک نماد دیگر تکرار کنید.

ورود خودکار برای Tradestation در دسترس نیست و ما باید به جای آن کد شاخص را تعیین کنیم. این کدی است که در Tradestation برای محاسبه مقدار شاخص استفاده می شود (مراجعه کنید به مرحله بعدی).

آخرین موضوع تنظیم  پارامترهای شاخص است.

دوباره، داده های شاخص محاسبه شده فقط برای ترکیبی از نماد / دوره زمانی / خروجی / پارامترها  معتبر خواهد بود. اگر می خواهید از شاخص سفارشی با مجموعه ای دیگر از پارامترها استفاده کنید، باید چندین بار آن را تعریف کنید.

وقتی همه این کارها انجام شد، برای ذخیره اطلاعات جدید شاخص سفارشی، OK را کلیک کنید.

ما می توانیم همین مرحله را برای شاخص و نماد یکسان تکرار کنیم، اما این بار ما مقدار خروجی MACDAvg را انتخاب خواهیم کرد.

به این ترتیب ما بلوک های ساخت شاخص های سفارشی جدیدی برای مقادیر MACD و MACDAvg از شاخص MACD را داریم.

کد شاخص که در اینجا استفاده کردیم کدی است که  Tradestation برای محاسبه مقدار MACD Avg برای این شاخص استفاده می کند. این برای هر شاخص متفاوت است و شما به مقداری از دانش اصول برنامه نویسی نیاز دارید تا پیدا کنید که کد چه چیزی است.

مرحله 3: صدور داده های شاخص از Tradeestation

حالا ما دو شاخص جدید سفارشی تعریف کرده ایم، اما هنوز هیچ اطلاعاتی ندارند. ما باید مقادیر شان را از Tradestation وارد کنیم.

صدور داده های شاخص از Tradestation ساده است، ما می توانیم دوباره از پنجره داده استفاده کنیم. روی Save کلیک کنید و نامی برای فایل صادر شده داده انتخاب کنید. Tradestation سپس داده های کامل را از جمله مقادیر شاخص ما را صادر می کند.

مرحله 4: فراخوانی داده های شاخص سفارشی

هنگامی که ما با موفقیت داده های شاخص را از Tradeestation صادر کردیم، می توانیم آنها را به استراتژی کوانت وارد کنیم. به  استراتژی کوانت تغییر وضعیت دهید، به Data -> Custom Indicators بروید

رکورد جدید MACD(12,26, 9) -> MACD  را انتخاب کنید و روی Import Data -> Manual کلیک کنید.

این عمل پنجره محاوره ورود را باز می کند. فایل صادر شده خود را پیدا کرده و فراخوانی کنید.

حالا ما باید قالب تاریخ مناسب (mm / dd / yyy HH: mm برای Tradestation) و مقادیر درست ستون را تنظیم کنیم. به یاد داشته باشید که فایل داده شامل تمام ستونها و مقادیر شاخص است.

ما فقط باید این ستون ها را شناسایی کنیم: تاریخ، ساعت، قیمت بسته شدن، مقدار شاخص. تمام ستون های دیگر باید به «Unused» تنظیم شود.

از آنجایی که ما مقادیر MACD را وارد می کنیم، ستون اول  MACD را به عنوان مقدار شاخص انتخاب می کنیم.

ما می توانیم روی “Start import” کلیک کنیم تا داده های شاخص را به  استراتژی کوانت وارد کنیم.

حالا ما باید این را برای MACD(12,26, 9) -> MACDAvg تکرار کنیم.

توجه داشته باشید که هنگام وارد کردن داده ها برای MACDAvg ما باید ستون مربوط به MACDAvg را به عنوان ستون مقدار شاخص انتخاب کنیم.

ما با موفقیت مقدار شاخص های جدید را به  استراتژی کوانت وارد کردیم. خواهید دید که شاخصها در حال حاضر دارای مقادیر وارد شده هستند:

مرحله 5: استفاده از شاخص های سفارشی جدید تان

مراحل 1 تا 3 باید فقط یک بار برای هر شاخص جدید و نماد + دوره زمانی + خروجی + پارامترهایی که می خواهید به استراتژی کوانت اضافه کنید، انجام دهید. هنگامی که داده های شاخص با موفقیت وارد می شوند، می توانید از آنها در بلوک های ساخت استفاده کنید.

برای استفاده از شاخص های سفارشی جدید خود در استراتژی های تان، باید آنها را در
Building Blocks -> Custom indicators table انتخاب کنید.

توجه کنید

پس از وارد کردن شاخص های جدید سفارشی، ممکن است لازم باشد برنامه را مجددا راه اندازی کنید تا آنها در بلوک های ساخت ظاهر شوند.

شاخص های سفارشی فقط برای نماد / دوره زمانی محاسبه شده، معتبر هستند در مثال ما TF_10_12_15Min فقط برای M15 معتبر است. اگر می خواهید آنها را برای نماد یا دوره زمانی دیگر استفاده کنید، باید مراحل 1 تا 3 را تکرار کنید.

 

 

10-7. صدور استراتژی از StrategyQuant و تست یا معامله با آن در MetaTrader

هنگامی که شما برخی از استراتژی ها را ایجاد می کنید و آنهایی را که می توانند به طور بالقوه در معامله واقعی استفاده شوند را پیدا می کنید، وقت آن است که آنها را در MetaTrader تست کنید.

استراتژی کوانت به طور معمول استراتژی ها را با فرمت فایل اختصاصی str .خود ذخیره می کند که MetaTrader قادر به خواندن آن نیست. برای تست استراتژی در MT4 شما باید کد منبع خود را در قالب MQL صادر کنید.

این کار ساده است، به بانک اطلاعاتی بروید و استراتژی را که می خواهید استفاده کنید را پیدا کنید. بر روی آن دوبار کلیک کنید،  در پنجره جزئیات نتایج در بالای بانک اطلاعاتی باز می شود.

در آنجا، به برگه کد منبع بروید و کد منبع را به  MetaTrader4 Expert Advisor تغییر وضعیت دهید. این گزینه کد MT4 از استراتژی را فراخوانی می کند.

روی دکمه Save To File کلیک کنید و در پنجره محاوره فایل، پوشه ای را که MetaTrader شما نصب شده را پیدا کنید (به عنوان مثال C: \ Program Files \ Alpari MT).

در این پوشه شما باید داخل پوشه اکسپرت ها “experts”  بروید و کد منبع استراتژی را آنجا ذخیره کنید.

بنابراین مسیر کامل فایل به عنوان مثال به شکل زیر خواهد بود.

C:\Program Files\Alpari MT\Expert\ERUUSD_H1_Strategy 1.1456.mq4

در حال حاضر استراتژی در MetaTrader کپی می شود. شما می توانید MetaTrader را باز کنید.

در Metatrader به منوی Tools -> MetaQuotes Language Editor بروید یا F4 را فشار دهید. این گزینه ویرایشگر زبان را باز می کند.

در سمت راست ویرایشگر شما لیستی از استراتژی هایی را که در پوشه اکسپرت ها “experts”   قرار دارند را خواهید داشت. روی استراتژی ما دوبار کلیک کنید تا آن را در پنجره ویرایشگر باز کنید و سپس بر روی Compile در بالای نوار ابزار کلیک کنید.

استراتژی کامپایل خواهد شد و حالا  برای تست و  یا اجرا آماده است .

توجه کنید –  هشدارهای هنگام کامپایل طبیعی هستند

لطفا توجه داشته باشید که تعدادی هشدارهای زمان کامپایل در پایین وجود دارد. این هشدارها عادی هستند و بر کار استراتژی تاثیر نمی گذارند. در واقع برخی از توابع وجود دارند که در استراتژی استفاده نمی شود و MetaTrader به شما در مورد آن اطلاع می دهد.

اکنون که استراتژی کامپایل شده است، آماده است تا بک تست شود. شما می توانید MetaEditor را ببندید، به صفحه اصلی MetaTrader بروید و Strategy Tester  را باز کنید.

این کار پنجره محاوره استراتژی تستر را در پایین باز می کند و شما می توانید بک تست را اجرا کنید.

اطمینان حاصل کنید که Expert Advisor ، Symbol، Timeframe و Date From و To را درست انتخاب می کنید و سپس روی دکمه Start کلیک کنید. تست شروع خواهد شد و بعد از مدتی شما نتایج را خواهید گرفت:

توضیح تفاوت های کوچک در بک تست

اگر شما نتایج تست را در استراتژی کوانت  و  متاتریدر مقایسه کنید، خواهید دید که در بعضی موارد نتایج بدست آمده یکسان نیست. نتایج ممکن است بسته به نوع استراتژی کمی یا به طور قابل توجهی متفاوت باشد .

الگوریتم بک تست استفاده شده در استراتژی کوانت  بسیار دقیق است، اما الگوریتم دقیقا همان الگوریتمی نیست که در MetaTrader استفاده می شود، بنابراین نتایج تا کمی متفاوت تولید می کند. در اینجا مسئله مهم این است که درک کنیم که هر دو الگوریتم تست فقط تقریبی هستند، و یکی از آنها بر دیگری برتری ندارد.

11-7. صدور  استراتژی از StrategyQuant و تست یا معامله با آن در NinjaTrader

هنگامی که شما برخی از استراتژی ها را ایجاد می کنید و آنهایی را که می توانند به طور بالقوه در معامله واقعی استفاده شوند را پیدا می کنید، زمان آن است که آنها را در NinjaTrader تست کنید.

استراتژی کوانت استراتژی ها در فرمت فایل خاص str . ذخیره می کند که توسط NinjaTrader قابل خواندن نیست. برای تست استراتژی ها در NinjaTrader شما باید کد منبع خود را در قالب  NinjaScript صادر کنید

این کار ساده است، به بانک اطلاعاتی بروید و استراتژی را که می خواهید استفاده کنید را پیدا کنید. بر روی آن دوبار کلیک کنید، تا در پنجره جزئیات نتایج بالای بانک اطلاعاتی باز شود.

در اینجا، به جدول کد منبع بروید و کد منبع را به NinjaTrader code تغییر وضعیت دهید. این گزینه کد NinjaScript از استراتژی را فراخوانی خواهد کرد.

حالا بر روی منطقه متن راست کلیک کرده  و گزینه “Copy to clipboard” را انتخاب کنید.

پس از این NinjaTrader خود را باز کرده و به مسیر  Tools -> New NinjaScript -> Strategy بروید.

این عمل دستیار استراتژی جدید را باز خواهد کرد:

بر روی Unlock code کلیک کنید و پنجره محاوره  را با کلیک بر روی Yes تایید کنید. این عمل ویرایشگر استراتژی جدید را با کد استراتژی اصلی را باز خواهد کرد.

در داخل ویرایشگر  راست کلیک کنید و از منوی محلی گزینه Select all را انتخاب کنید:

این عمل تمام متن در استراتژی را انتخاب می کند. ما این کار را انجام می دهیم زیرا می خواهیم کل کد استراتژی تولید شده توسط دستیار  NinjaTrader را با کد مان توسط استراتژی کوانت جایگزین کنیم.

حالا که کد انتخاب شد کلید  Ctrl + V را برای چسباندن کد از کلیپ بورد فشار دهید (به یاد داشته باشید که در استراتژی کوانت ابتدا کد استراتژی را به کلیپ بورد کپی کردید).

این عمل کل کد را با کد SQ جایگزین می کند. حالا برای تکمیل کد استراتژی، دکمه Compile را فشار دهید.

در حالت ایده آل استراتژی باید کامپایل شود و نباید هشدارها یا خطاهای نمایش داده شود.

از حالا به بعد می توانید استراتژی جدید خود را در NinjaTrader StrategyAnalyzer تست کنید یا در برگه  Strategies با آن معامله کنید.

توجه کنید

اگر شما برخی از خطاهای کامپایل را مشاهده می کنید مطمئن شوید کدهای کمکی استراتژی کوانت را برای NinjaTrader ، همانطور که در مراحل بعد از نصب توضیح داده شده است، وارد کرده اید

به روز رسانی استراتژی در NinjaTrader

اگر تغییراتی در استراتژی در  استراتژی کوانت ایجاد کنید و می خواهید استراتژی خود را در NinjaTrader به روز کنید، به Tools -> Edit NinjaScript -> Strategy بروید، استراتژی تان را بر اساس نام پیدا کنید و آن را در ویرایشگر باز کنید. سپس کد را از استراتژی کوانت به ویرایشگر NinjaTrader کپی کنید و دوباره آن را کامپایل کنید.

تست استراتژی در NinjaTrader

تست استراتژی ها در کتابچه راهنمای کاربر NinjaTrader شرح داده شده است، بنابراین ما فقط خیلی مختصر از آن عبور خواهیم کرد.

NinjaTrader  با استفاده از تحلیلگر استراتژی می تواند استراتژی را بک تست کند. به File -> New -> StrategyAnalyzer بروید و پانل بک تست را در سمت راست باز کنید و استراتژی خود را پیدا کنید.

شما همچنین باید داده های مناسب را انتخاب کنید، پارامترهای صحیح، دوره سری های داده، زمان از – تا ، قالب جلسه، و غیره را انتخاب کنید.

بعد از این فقط روی Run Backtest کلیک کنید و بک تست انجام خواهد شد.

توضیح تفاوت ها در بک تست ها

اگر شما نتایج آزمون در استراتژی کوانت و در NinjaTrader مقایسه کنید، خواهید دید که در بعضی موارد نتایج بک تست یکسان نیست. نتایج ممکن است بسته به نوع استراتژی کمی یا به طور قابل توجهی متفاوت باشد.

اگر نتایج بسیار متفاوت باشد، معمولا مشکل در تنظیمات متفاوت است. استراتژی کوانت و استراتژی های ایجاد شده توسط SQ به شما طیف گسترده ای از تنظیمات را ارائه می دهند، مطمئن شوید که از تنظیمات مشابه در NinjaTrader و استراتژی کوانت استفاده می کنید. اطمینان حاصل کنید که آن را بر روی داده های مشابه، از جمله قالب جلسه، تست می کنید.

الگوریتم بک تست استفاده شده در استراتژی کوانت بدرستی با منطق الگوریتم بک تست  NinjaTrader مطابقت دارد، اما ممکن است تفاوت های جزئی در گرد کردن و مقایسه اعداد اعشاری، شاخص های محاسباتی و غیره وجود داشته باشد.

بسته به نوع استراتژی، این تفاوت های کوچک ممکن نیست باعث رخ دادن هر گونه تفاوتی در تمام نتیجه بک تست شوند، یا آنها بتوانند جزئی باشند و تفاوت ها بتوانند بزرگتر باشند. نکته مهم در اینجا این است که بدانیم که بک تست تنها یک تقریب است، یک الگوریتم برتر از الگوریتم  دیگر نیست.

12-7. صدور استراتژی از StrategyQuant و تست یا معامله با آن در Tradestation

هنگامی که شما برخی از استراتژی ها را ایجاد می کنید و آنهایی را که می توانند به طور بالقوه در معامله واقعی استفاده شوند را پیدا می کنید، زمان آن است که آنها را در Tradestation تست کنید.

استراتژی کوانت استراتژی ها را در فرمت خاص خود با قالب فایل .str ذخیره می کند برای  Tradestation قابل خواندن نیست. برای تست استراتژی در Tradestation شما باید کد منبع خود را در فرمت  EasyLanguage صادر کنید

این کار ساده است، به بانک اطلاعاتی بروید و استراتژی را که می خواهید استفاده کنید را پیدا کنید. بر روی آن دوبار کلیک کنید، در پنجره جزئیات نتایج در بالای بانک اطلاعاتی باز می شود.

در آنجا، به برگه کد منبع منبع بروید و کد منبع را به Tradestation (EasyLanguage) code تغییر وضعیت دهید. این عمل کد EasyLanguage از استراتژی را فراخوانی خواهد کرد.

حالا بر روی منطقه متن راست کلیک کرده  و Copy to clipboard را انتخاب کنید.

پس از آن  ویرایشگر EasyLanguage در Tradestation را باز کرده و به مسیر  File -> New -> Strategy بروید.

نام معین استراتژی خود را داده و استراتژی جدید را در ویرایشگر باز کنید.

اکنون ساده ترین کار این است که به Edit -> Select all  و سپس Edit -> Clear برای پاک کردن کد استراتژی الگو بروید.

حالا کلید  Ctrl + V را فشار داده یا بر روی Edit-> Paste کلیک کنید تا کد را از کلیپ بورد وارد کنید (به یاد داشته باشید، در ابتدا در استراتژی کوانت کد استراتژی را به کلیپ بورد کپی کردید).

این عمل کد استراتژی را به ویرایشگر EasyLanguage وارد می کند. اکنون دکمه تأیید را فشار دهید تا کد استراتژی را کامپایل و تأیید کنید.

در حالت ایده آل استراتژی باید کامپایل شود و نباید هشدارها یا خطاهایی نمایش داده شود.

از حالا به بعد می توانید استراتژی خود را به یک نمودار اضافه کنید و یا آن را بک تست کرده و یا با آن معامله کنید.

توجه کنید

اگر شما برخی از خطاهای کامپایل را مشاهده می کنید مطمئن شوید که توابع سفارشی استراتژی کوانت را برای Tradestation ، همانطور که در مراحل پس از نصب توضیح داده شده است، وارد کرده اید.

 

 

به روز رسانی استراتژی در Tradestation

اگر تغییراتی در استراتژی در استراتژی کوانت ایجاد کنید و بخواهید استراتژی خود را در Tradestation به روز کنید، فقط ویرایشگر EasyLangaue بازکرده و کدهای استراتژی جدید را در آن جای داده  تا جایگزین استراتژی قدیمی شود. سپس روی تأیید دوباره کلیک کنید و استراتژی شما به روز می شود.

تست و یا اجرای استراتژی در Tradestation

تست و یا اجرای استراتژی در Tradestation در کتابچه راهنمای معاملاتی شرح داده شده است، بنابراین ما فقط خیلی مختصر از آن عبور خواهیم کرد.

شما می توانید چندین استراتژی را به نمودار خود اضافه کنید، به …Insert -> Strategy رفته و استراتژی خود را در لیست پیدا کنید و آن را به نمودار وارد کنید.

هنگامی که شما در حال قرار دادن اولین استراتژی برای یک نمودار هستید، اگر شما بخواهید می توانید خواص آن را در…  Properties for All تنظیم کنید

یکی از تنظیمات مهم این است که Maximum number of bars study will reference می  باشد، این تنظیم همان اندازه حداکثر دوره برای شاخص ها  “Max periods for indicators” در گزینه های استراتژی  نرم افزار استراتژی کوانت است – به Tradestation می گوید که استراتژی از حداکثر این تعداد میله ها در تاریخچه برای هر شاخص استفاده می کند. شما باید آن را به مقدار مشابه یا کمی بالاتر از SQ تنظیم کنید.

توضیح تفاوت ها در بک تست ها

اگر شما نتایج آزمون در استراتژی کوانت و در Tradestationمقایسه کنید، خواهید دید که در بعضی موارد نتایج بک تست یکسان نیست. نتایج ممکن است بسته به نوع استراتژی کمی یا به طور قابل توجهی متفاوت باشد.

اگر نتایج بسیار متفاوت باشد، معمولا مشکل در تنظیمات متفاوت است. استراتژی کوانت و استراتژی های ایجاد شده توسط SQ به شما طیف گسترده ای از تنظیمات را ارائه می دهند، مطمئن شوید که از تنظیمات مشابه در Tradestation و استراتژی کوانت استفاده می کنید. اطمینان حاصل کنید که آن را بر روی داده های مشابه، از جمله قالب جلسه، تست می کنید.

الگوریتم بک تست استفاده شده در استراتژی کوانت بدرستی با منطق الگوریتم بک تست  Tradestation مطابقت دارد، اما ممکن است تفاوت های جزئی در گرد کردن و مقایسه اعداد اعشاری، شاخص های محاسباتی و غیره وجود داشته باشد.

بسته به نوع استراتژی، این تفاوت های کوچک ممکن نیست باعث رخ دادن هر گونه تفاوتی در تمام نتیجه بک تست شوند، یا آنها بتوانند جزئی باشند و تفاوت ها بتوانند بزرگتر باشند. نکته مهم در اینجا این است که بدانیم که بک تست تنها یک تقریب است، یک الگوریتم برتر از الگوریتم  دیگر نیست.

13-7. ترجمه برنامه به زبان دیگر

این برنامه به طور پیش فرض به زبان انگلیسی است، اما از ترجمه به زبان دیگر پشتیبانی می کند. همه کاری که شما باید انجام دهید این است که یک فایل زبان جدید برای زبان خود در پوشه  {StrategyQuant}/lang ایجاد کنید.

یک فایل English.lng وجود دارد که حاوی تمام رشته های زبان مورد استفاده در برنامه است.

تمام کاری که شما باید انجام دهید این است که یک کپی از این فایل ایجاد کنید، آن را به عنوان مثال به Deutsch.lng تغییر نام دهید (برای آلمانی)

و سپس آن را در ویرایشگر متن ساده مانند Notepad باز کنید و ترجمه را برای هر رشته اضافه کنید.

فرمت فایل ساده است – نام رشته زبان را به زبان انگلیسی نشان می دهد ، و سپس علامت برابر (=) و پس از آن باید رشته در زبان دیگری باشد.

مثلا:

versionرشته ترجمه شده شما =

Homepage   رشته ترجمه شده شما =

Get Supportرشته ترجمه شده شما =

و غیره.

هنگام ایجاد پرونده زبان جدید فقط برنامه را دوباره راه اندازی کنید و باید زبان جدید خود را در منوی
View -> Language ببینید

یادداشت برای ترجمه!

  • اگر از هر نوع کاراکتر خاص استفاده کنید، فایل باید در فرمت UTF-8 ذخیره شود
  • برای رشته هایی که حاوی علائم خاص مانند٪ d،٪ s هستند، این علامت ها با مقدار مناسب توسط برنامه جایگزین می شوند. شما باید از آنها در مکان های صحیح نیز در متن ترجمه شده خود استفاده کنید
  • طول رشته زبان نباید طولانی تر از طول رشته اصلی باشد. در صورت لزوم از اختصار استفاده کنید دلیل آن اینست که در رابط کاربر برای متون فقط یک مکان محدود وجود دارد. اگر از متن بلند مدت استفاده کنید، ممکن است با اندازه برچسب متناسب نباشد.
  • هنگامی که شما فایل زبان را برای یک زبان جدید ایجاد می کنید، آن را با دیگران به اشتراک بگذارید! آن را برای ما ارسال کنید و ما آن را در بروز رسانی بعدی برنامه اضافه خواهیم کرد.

1-8. معیارهای رتبه بندی

Net Profit

سود خالص مجموع سود و ضرر است که استراتژی تولید کرده است.

 

Drawdown، ٪Max DD 

افت سرمایه (Drawdown) بزرگترین اندازه کاهش سرمایه از یک اوج تاریخی سود در حال اجرای استراتژی است. حداکثر درصد افت سرمایه (٪Max DD) حداکثر درصد کاهش سرمایه استراتژی است.

 

Stagnation, % Stagnation

رکود (Stagnation) حداکثر تعداد روزهایی است که در آن استراتژی در حالت رکود می ماند – به این معنی که هیج افزایشی بر روی درآمد ایجاد نمی شود. بدیهی است که شما تا جای ممکن استراتژی را با رکود کمی می خواهید.

 

  of  Wins%

درصد معاملات برنده و سودده.

 

Annual % Return

میانگین درصد بازگشت سالانه استراتژی. اگر 30٪ باشد، به این معنی استراتژی هر ساله به طور متوسط 30٪ سود آور است.

 

Annual % Return / Max DD%

نسبت مهم بین درصد سالانه و درصدحداکثر کاهش سرمایه . شما باید تا حد امکان این نسبت عددی را بالا ببرید.

 

Avg Daily, Monthly, Yearly profit

میانگین سود برای دوره های داده شده به دلار

 

Return / DD Ratio

یک معیار بسیار خوب از کیفیت استراتژی، عدد بالاتر، به معنای آن است که سودها در رابطه با حداکثر کاهش سرمایه بزرگتر هستند.

 

Expectancy

معیارهای عملکرد توسط توسط ون تارپ تعیین شده و آن را به صورت  فرمول زیر حساب می کنند:

(percentage wins * average win) – (percentage losses * average loss)

 

R-Expectancy

معیارهای عملکرد R-Expectancy که توسط Van Tharp تهیه شده است، را به شما ارائه می دهد که مقدار متوسط ​​سود مربوط به ریسک متوسط ​​(R)  است که شما می توانید از یک سیستم در بسیاری از معاملات انتظار داشته باشید، را نمایش می دهد.

شما می توانید اطلاعات بیشتر را  در آدرس زیر مطالعه کنید:

 http://www.vantharp.com/tharp-concepts/expectancy.asp

 

 

R-Expectancy Score

استاندارد R-Expectancy طول دوره تست و تعداد معاملات انجام شده را در نظر نمی گیرد. اگر شما  برای مثال 2000 دلار در سال با 10 معامله یا 100 معامله انجام دهید، تفاوتی وجود دارد.امتیاز  R-Expected  یک امتیاز برای فرکانس معاملات اضافه می کند. این محاسبه به شرح زیر است:

R-Expectancy * averageTradesPerYear

 

SQN (System Quality Number)

معیار عملکرد تعریف شده توسط Van Tharp می باشد که کیفیت سیستم معاملاتی را اندازه گیری می نماید.

شما می توانید بیشتر در: http://www.vantharp.com/tharp-concepts/sqn.asp پیدا کنید.

تفسیر استاندارد از SQN به شرح زیر است:

امتیاز: 1.9 – 1.6 زیر متوسط، اما قابل معامله کردن

امتیاز: 4/2 – 0/2  متوسط

امتیاز: 2.9 – 2.5 خوب

امتیاز: 5.0 – 3.0 عالی

امتیاز: 6.9 – 5.1 فوق العاده

امتیاز: 7.0 –  این یکی را نگه دارید، شما ممکن است جام مقدس  را داشته باشید!!.

 

SQN Score (System Quality Number Score)

همانند مورد R-Expectancy، SQN مدت زمان آزمون و تعداد معاملات انجام شده را در نظر نمی گیرد. در حقیقت برای سیستم هایی که معاملات بیشتری را انجام می دهند، بدون در نظر گرفتن طول دوره تست، مطلوب تر است. این محاسبه به صورت زیر است:

( SQN * (averageTradesPerYear / 100

 

Number of trades

به سادگی تعداد معاملات استراتژی را در بک تست نمایش می دهد. شما می توانید این معیار را برای تقریبی از مقادیر از پیش تعیین شده که می خواهید به دست آورید استفاده کنید (مثلا مجموع 100 معامله). مقدار این معیار برای استراتژی های نزدیک تر به تعداد مورد نظر معامله بزرگتر خواهد بود.

 

Stability

یک مقدار خاص در محدوده 0 (بدترین) تا 1 (بهترین) است و میزان پایداری رشد نمودار درآمد را اندازه گیری می نماید .

شما می توانید سه استراتژی نمونه را در تصویر بالا مشاهده کنید. همه آنها با سود مشابه به پایان رسیدند، اما استراتژی 1 تقریبا به صورت خطی (بسیار پایدار) رو به رشد بود، استراتژی 2 با افزایش گاه به گاه بزرگ (کمتر پایدار) و استراتژی 3 به سمت بالا و پایین در حرکت بوده است (ثبات بسیار کمی در رشد).

ثبات یک مقدار است که بیانگر “کیفیت” استراتژی معاملاتی بسیار خوب است و می تواند به عنوان تنها یک یا معیار اصلی برای محاسبه پایداری کل  استراتژی استفاده شود.

 

Symmetry

معیار تقارن برای به حداکثر رساندن تقارن استراتژی می باشد. مقدار تقارن به درصد است و اندازه گیری سود و زیان در جهت خرید شبیه به جهت فروش است.

برای مثال، اگر استراتژی 600 دلار در معاملات خرید و 400 دلار در معاملات فروش داشته باشد، تقارن در این مورد 66 درصد باشد. (400 دلار 66٪ از 600 دلار است).

اگر استراتژی در هر دو جهت سود مشابهی داشته باشد، تقارن 100٪ خواهد بود. اگر یکی از جهات تولید زیان یا سود 0 باشد، تقارن 0٪ خواهد بود.

 

Win/Loss Ratio

معیاری برای به حداکثر رساندن معاملات برنده در مقابل معاملات بازنده.

 

Average Win, Average Loss

معیاری برای به حداکثر رساندن  میانگین معاملات برنده یا به حداقل رساندن میانگین معاملات بازنده در هر معامله.

 

Average Bars in Trade

معیاری برای به حداقل رساندن  میانگین تعداد میله ها معامله باز شده.

 

Average Bars Win, Average Bars Loss

معیاری برای به حداقل رساندن میانگین میله های معامله برنده یا بازنده.

 

Degrees of Freedom

درجه آزادی در یک سیستم معاملاتی مربوط به تعداد معیارهایی است که برای فیلتر کردن عملکرد قیمت و / یا حجم و تعیین نقاط ورودی استفاده می شود.

معیارهای و متغیرهای بیشتر استفاده شده برای تعیین نقاط زمانی ورود، به معنای آن است که سیستم درجه آزادی کمتری خواهد داشت و برعکس.

درجه آزادی از پیچیدگی استراتژی و تعدادی از معاملات محاسبه می شود.

استراتژی ساده تر آن است که درجه آزادی بیشتری داشته باشد. برای این مشخصه، مقدار بزرگتر بهتر است.

 

Complexity

پیچیدگی استراتژی را اندازه گیری می کند. این به سادگی تعداد زیادی از شاخص ها، قیمت ها، عملگرها و سایر بلوک های ساخت که در استراتژی استفاده شده را شمارش می کند. عدد بالاتر این متغییر به معنای استراتژی “پیچیده تر” است. برای این مشخصه، مقدار کوچکتر بهتر است.

هر دو مشخصه می توانند همچنین در رتبه بندی اعتبار و صلاحیت عملکرد استفاده شوند.

 

 

2-8. انواع ورود و خروج

 

Profit Target (PT)

مخالف حد ضرر است، می تواند به عنوان برداشت و حد سود پس از آنکه قیمت به نفع شما حرکت کند، استفاده شود. همانند مثال بالا، می توانید یک هدف سود را برای بستن معامله، زمانی که معامله برای مثال به 100 پیپ می رسد، تنظیم کنید.

 

Exit After X Bars

این گزینه شرط خروج بسیار ساده ای است. اگر مورد استفاده قرار گیرد، استراتژی معاملات را پس از تعدادی از میله ها (دوره های زمانی در یک دوره زمانی معین) خواهد بست.

این گزینه خیلی وقت ها یک راه ساده اما موثر برای بستن معامله هنگامی که بازار در سمت نوسانی حرکت می کند یا زمانی که ما می خواهیم سود را قفل کنیم، می باشد.

 

Move Stop Loss to Break-Even

یکی دیگر از شرایط ساده اما کاملا قدرتمند است. این گزینه به  استراتژی می گوید هنگامی مقدار سود معامله به مقدار سود داده شده از قبل رسید،  حد ضرر را برای حفاظت از سود به قیمت ورود (سربسر کردن = break-even) معامله حرکت دهد. این عمل معامله را نخواهد بست، بنابراین استراتژی هنوز در معامله است، اما بعد از این عمل و حرکت حد ضرر، ریسک صفر است. از آنجا که SL در قیمت ورودی قرار گرفته ما هیچ چیزی را از دست نخواهیم داد، حتی اگر معامله به عقب برگردد و علیه ما باشد.

این شرط تنها در باز شدن میله (و نه در هر تیک) ارزیابی می شود.

 

 

 

Profit Trailing

یک جابجایی حد ضرر ساده که میزان فاصله حد ضرر مشخص شده از حداکثر سود حاصل شده را جابجا و حفظ می کند. این شرط در باز شدن میله ( و نه در هر تیک) مورد بررسی قرار می گیرد.

 

Stop Trailing

جابجایی توقف پیشرفته تر که می تواند از مقدار شاخص یا قیمت (Open، High، Low، Close) استفاده کند،  تا Stop Loss را دنبال کند. به عنوان مثال، قانون می تواند SL را در کمترین (20) + 20 پیپ دنبال کند. این شرط در باز شدن میله ( و نه در هر تیک) مورد بررسی قرار می گیرد.

 

Exit Rule (Price + Operators + Indicators …)

این نوع خاصی از خروج است که جایی که نه تنها استراتژی قوانینی برای ورود به معامله (قوانین ورود) دارد بلکه قوانینی برای خروج از آن (قوانین خروج) دارد. قوانین خروج به همان اندازه قوانین ورود به نظر می رسند – و ترکیبی از تمام بلوک های ساخت انتخاب شده (شاخص ها، اپراتورها، قیمت ها) می باشد.

مثالی از جفت قاعده ورود و خروج:

قانون ورود – اگر CCI> 0 در بازار وارد شود.

قانون خروج –  اگر RSI از مرز 100 عبور کند و ما در موقعیت خرید باشیم پس معامله را ببندد.

 

توجه در حد ضرر / هدف سود / حرکت حد ضرر به BE

هر دو Stop Loss و Profit Target می توانند مقدار ثابت به واحد پیپ (مانند 30، 50 یا 100 پیپ) داشته باشند یا می توانند براساس ATR (میانگین دامنه واقعی)، به عنوان مثال 2 * ATR باشند. این بدان معنی است که مقدار واقعی SL / PT برابر دو برابر مقدار میانگین دامنه واقعی در زمان معامله خواهد بود.

SL/PT  مبتنی بر ATR مزیتی دارد که آنها “سازگار” با تغییرات بازار و تغییرات نوسانات هستند. برخی از استراتژی ها (اما نه همه آنها) می توانند سودمند باشند، در صورتی که از SL / PT مبتنی بر ATR به جای ثابت استفاده  شود.

برای فعال / غیرفعال کردن ATR برای SL/PT ، می توانید شاخص میانگین دامنه واقعی  را در بلوک های ساخت ورود “Entry Building Blocks”  فعال / غیرفعال کنید.

 

  1. 9. کلام آخر

تبریک بابت اتمام راهنمای استراتژی کوانت. امیدوارم شما برنامه را دوست داشته باشید و از آن به عنوان بخش مهمی از معاملات خود استفاده کنید.

استراتژی کوانت برنامه بسیار جدیدی است و توسعه غیر فعالی دارد. این بدان معنی است که شما می توانید به دنبال ویژگی های جدید هیجان انگیز که عملکرد برنامه را حتی ارتقا  می دهد، باشید.

من پذیرای ایده ها یا پیشنهادات جدید هستم، بنابراین اگر چیزی در استراتژی کوانت فراموش شده و یا اگر فکر می کنید برخی چیزها می تواند به شیوه ای متفاوت کار کنند، بدون تردید به من اطلاع دهید.

من برای شما  داشتن معاملات موفق بسیاری را آرزو می کنم.

مارک فریک

من دوست دارم داستان های موفقیت شما را بشنوم، پس لطفا از طریق این ایمیل با من در ارتباط باشید:

support@strategyquant.ir