مصاحبه با والری مازورنکف


در مقاله پیشین از سری مقالات مرتبط با برنامهنویسی در بازارهای مالی به شرح و بررسی «بکتست و تست پیشرو ؛ اهمیت همبستگی» پرداختیم. در این مقاله به بررسی «مصاحبه با والری مازورنکف» میپردازیم.
– – –
«
قصد داشتم دو چیز را با شرکت در مسابقات اخیر نشان دهم:
1. توسعه یک استراتژی سودآور آسان است.
2. چگونه برخی استراتژیها را میتوان با هم ترکیب کرد در حالی که برخی از آنها تا مدتها زیانده باشند.»

مصاحبه با والری مازورنکف
طراحی و پیادهسازی یک اکسپرت برای جفت ارزهای گوناگون، چه از نظر یافتن استراتژیهای مناسب و چه از جهت فناوری کار پیچیدهای است. به همین دلیل است که در بسیاری موارد این کار به شکل تیمی انجام میشود به این ترتیب که تیمی مسئولیت تعیین سیستم معاملاتی میشود تیمی روی موراد مربوط به بهینهیابی کار میکند تیمی روی مباحث مدیریت سرمایه کار میکند و در نهایت تیمی بر روی اجرا و برنامهنویسی کار میکند.
کد کردن یک استراتژی خواه از طریق سفارش کد پایتون(python) خواه از طریق سفارش کد mql و یا هر زبان دیگری و انجام بکتست روی کد باعث میشود بر مبنای نتیجهی بکتست خیلی راحتتر بتوانیم درباره بازدهای یک استراتژی نظر بدهیم.
به هر روی اگر هدف به درستی مشخص شود، هیچ چیز ناممکن نیست. این چهارمین بار بود که والری مازورنکف، اکسپرت چند ارزی خود را ارائه داد. به نظر میرسد این بار موفق به یافتن راه درست شده است. زمانی که اکسپرت او جزو ده تای اول بود، موفق به مصاحبه با او نشدیم. والری نحوه معامله اکسپرت خود را برای ما توضیح داد.
این نخستین بار نیست که شما در مسابقات قهرمانی شرکت میکنید. آیا نسبت به سالیان گذشته تغییری مشاهده کردهاید؟
بعید میدانم که تغییرات عمدهای رخ داده باشد. تنها متوجه شدم تعداد کمتری از شرکت کنندگان رد صلاحیت شدهاند. سالانه تعداد زیادی از اکسپرتها به شیوۀ پر ریسکی کار میکنند و روی بخت و اقبال حساب میکنند. از نظر من اولویتهای معاملهگری به سمت روشهای سادهتری گرایش یافته است.
در مورد روشهای ساده چطور؟ آیا آنها حق دارند وجود داشته باشند؟
روشهای ساده برای همه مناسب است؛ زیرا برای مثال همۀ برنامهنویسان قادر به مطالعه یا ایجاد شبکههای عصبی نیستند. و همۀ معاملهگران نمیتوانند بیان کنند دقیقا در یک شبکه به چه چیزی نیاز دارند. اما یک جفت میانگین متحرک و حدضرر یا حدسود حساب شده از نظر آماری تقریبا توسط تمام معاملهگران و برنامهنویسان به خوبی قابل درک و تسلط کامل است.
چنین چیزی برای مسابقات قهرمانی نیز کارآمد است. اگر اکسپرت ساده باشد، توجه معاملهگران باتجربه و همچنین تازهواردها را به خود جلب می کند. شخصا فکر میکنم که هستۀ یک ایده باید ساده باشد.؛ هر چند این هسته ممکن است با ویژگیهای پیچیدهتری پوشش یابد.
آیا تا به حال به این فکر کردید که پس از کسب تجربۀ کافی، موفق به کسب چنین نتیجهای شدهاید؟ تا جایی که اطلاع دارم یک پس زمینۀ ریاضی دارید.
من همواره چنین نقطۀ نظری داشتهام و طی سالها درستی آن برایم مسجل شده است. مسابقات قهرمانی جایی بود که در آن میتوانستم از آموختههای ریاضی خود به خوبی استفاده کنم.
شما برای ATC سال 2006 یک اکسپرت ساده برای مسابقات اکسپرت چندارزی ارائه کردید. آیا میتوانید آنها را ساده بنامید؟
من از تجربه نوشتن اکسپرت چندارزی را در MQL4 برخوردار بودم، هر چند کار آسانی نبود. زبان MQL5 این کار را بسیار ساده کرده است. به نظرم هیچ کار دشواری در استفاده از روش چندارزی وجود ندارد.
اکسپرت شما امسال نتایج خوبی را نشان میدهد. آیا این همان چیزی است که شما اخیرا آن را “استفادۀ مناسب از آموزش ریاضی” نامیدهاید؟
در مصاحبه سال گذشته گفته بودم که توسعه یک اکسپرت نسبتا بیضرر کار چندان دشواری نیست(البته در زمان معقول). همچنین، متذکر شدم که مشکل اصلی اکثر معامله گران، مدیریت سرمایه است که میتواند یک اکسپرت خوب را به ورطه نابودی بکشاند.(استفاده از یک آموزش مدیریت سرمایه گذاری و ریسک معتبر میتواند به معاملهگر دید روشنی در مورد روشهای مختلف مدیریت سرمایه بدهد.) “حجم خوب” احتمالا یک عبارت قدرتمند است.
در حقیقت، هیچ چیز دشواری در آن وجود ندارد. بهینهسازی اکسپرت با استفاده از شبکۀ ابری MQL5 حدود یک ماه به طول انجامید. بهینهسازی در چند مرحله انجام شد.(برای آشنایی بیشتر با مفاهیم مربوط به بهینهیابی میتوانید به این لینک مراجعه کنید.) همان طور که قبلا اشاره کردم، F بهینه به عنوان روش مدیریت سرمایه انتخاب شد؛ در حالی که “معادله معامله گری بنیادین” ، همان گونه که رالف وینس نام گذاری کرد، به عنوان تابع بهینهسازی هدف مورد استفاده قرار می گیرد.
همچنین مسائلی در مورد ترکیب استراتژیها وجود داشت. در واقع، همۀ اینها به خاطر ریاضی بود. در مورد “حجم خوب”، یافتن کسی که حتی در چنین حجمی عمدتا از ریاضی استفاده میکند، کار دشواری بود.
بنابراین، آیا منظورتان این است که یک اکسپرت ترکیبی از روش های سادۀ معاملهگری و رفتار نتایج از دیدگاه ریاضی است؟
بهتر از این نمیشد بیان کرد. بله، دقیقا. روشهای ساده معاملهگری به آسانی برای همه قابل فهم است؛ در حالی که اکثر توسعهدهندگان اکسپرت تنبل تر از آن هستند که دانش ریاضی را برای نتایج به کار گیرند و یا دانش کافی برای چنین کاری ندارند.
در مورد Wizard MQL5 توضیحی دارید؟
صادقانه، چیزی نمیتوانم بگویم؛ زیرا که به دلایل شخصی هیچ گاه از آن استفاده نکردهام. من به کتابخانه استاندارد اعتماد ندارم زیرا میتوانم تمام آن چیزی که مورد نیازم است را خودم بنویسم و اکسپرت من 100 % سریعتر باشد.؛ این یعنی باید مبلغ کمتری برای شبکۀ ابری MQL5 بپردازم. البته برنامهنویسان تازهکار و معاملهگران میتوانند از این قابلیت برای بررسی نتایج برخی ایدههایشان استفاده کنند.
شرکت در مسابقات برای شما معنایی دارد؟
قصد داشتم دو چیز را با شرکت در مسابقات اخیر نشان دهم:
1. توسعه یک استراتژی سودآور آسان است.
2. چگونه برخی استراتژیها را میتوان با هم ترکیب کرد در حالی که برخی از آنها تا مدتها زیانده باشند.
اکسپرت کنونی شامل 7 یا 8 استراتژی دارای حدسود یا حدضرر مشترک است (که امکان محاسبه راحت تر F بهینه را فراهم می کند)، در حالی که جهت ورود به بازار متفاوت است. با این حال، این الگو این جا نیز مورد استفاده قرار میگیرد.بیایید فرض کنیم که a و b و c متغیرهای منطقی هستند و برخی از شرایط را نشان میدهند. برای مثال:
a: متوسط کوتاه مدت رو به رشد
b: اندیکاتور RSI با Period کمتر از 30
C: قیمت بالاتر از متوسط بلندمدت.
به طور کلی، ما یک مجموعۀ خاص از شرایط داریم.
در این حالت، تصمیم خرید توسط معادلۀ زیر توصیف میشود:
buy = f1(f2(a, f3(b, c)))
که f1 و f2 و f3 مقادیر بولی را برمیگردانند و شکل زیر را به دست میآورند:
- f1(a) = a یا !a (پیش از بهینهسازی تعریف شده)
- f2(a, b) = a^b یا a&b یا a | b
f3 مثل f2 به نظر می رسد؛ البته با علامت منطقی خودش.
بنابراین، من تنها میبایست موفقترین ترکیب عملگرهای منطقی را انتخاب کنم تا اکسپرتم را به فرجام برسانم. و این عملیات را میتوان به صورت خودکار و نه دستی انتخاب کرد. همچنین نوع دیگری از تابع خرید ممکن است انتخاب شود.
تصور میکنم در حال حاضر بیشتر خوانندگان ما روشهای یادشده را ساده بنامند. هر ایده سادهای را به سرعت میتوان در ویزارد MQL5 امتحان کرد. به نظر شما چنین ایدهای چه ویژگیهایی را باید داشته باشد؟
روشهای بیان شده از نظر برنامهنویسی بسیار ساده هستند. البته استفاده از یای انحصاری چندان معمول نیست، اما “&&” و “||” عملگرهای منطقی بسیار رایجی هستند که تقریبا هر فردی از آنها استفاده میکند. ویزارد MQL5 باید در راستای بهینهسازی کد توسعه داده شود تا هر ایدهای نه تنها در تستر بررسی شود، بلکه با شبکه ابری MQL5 بهینه شود. همچنین برای بهینهسازی باید زمانی قابل مقایسه با زمان لازم برای تولید اکسپرت معادل صرف شود. برای مثال:
buy = ! (a & (b ^ c)) //
buy = ! (a & (b ^ c)) //
واقعا بسیار ساده است!
چطور توانستید این 7 – 8 استراتژی را یافته و در یک اکسپرت ترکیب کنید؟ آیا شما به دنبال روشی مناسب برای هر جفت ارز، بهینهسازی و سپس ترکیب همه چیز برای تولید یک سیستم هستید یا به گونه ای دیگر عمل کرده اید؟
من به دنبال یک ترکیب منطقی مناسب برای هر جفت ارز بودم و سپس یک “معادله معاملاتی بنیادی” را با یک lot معمولی به بیشترین حالت بهینه کردم. در حالتی که PF در کل قسمت مورد آزمایش بزرگتر از 1.5 بود، استراتژی پذیرفته میشد.
اگر PF < 1.5 بود، برای پذیرش آن استراتژی نیازمند افزایش سپرده به میزان حداقل 10 برابر بر اساس F بهینه بودیم. هر جا که کمتر از 30 معامله بود، به سادگی آن را نادیده می گرفتیم. و “معادله بنیادی معامله” با یک درجه مورد استفاده واقع شد، هر چند به طور کلی نیازی به آن نیست.
کار بعدی، ترکیب استراتژیهای منتخب با نسبت مناسب بود. وظیفه بعدی باید برای آن پاسخی می یافت که: من نیاز داشتم که وزن هر استراتژی را با شماره عبور پیدا کنم. از آنجا که ما برای مسابقه 12 جفت داریم، نیاز داشتیم یک استراتژی “بدون معامله” را طبق نظر وینس اضافه کنیم، بنابراین لازم بود راهکاری برای تعیین وزن های درست بیابیم تا معادلۀ x1 + x2 +… + x11 + x13 = 1 برآورده شود.
من موفق شدم راه آن را پیدا کنم، اما 13 چرخۀ تعبیه شده را فراهم می کند. این بدان معنی است که این روش در چنین ابعادی بینتیجه است. بنابراین، ابعاد را به 4 کاهش دادم. برای نمونه، جفتها را به طور تصادفی به شکل 3 تایی مرتب، و وزن هر جفت را در هر سهگانه انتخاب کردهام. بنابراین من 4 استراتژی سهتایی دارم. در آخرین مرحله، من وزن هر سه گانه را در یک کار همزمان برای هر چهار تا سهگانه انتخاب کردم.
در این مرحله یک اشتباه حاصل شد، زیرا این استراتژیها باید به طور تصادفی و نه توسط سه گانه یا چهارگانه ترکیب میشدند. من باید جدول همبستگی و استراتژیهای ترکیبی را با همبستگی کمتر ایجاد میکردم. در آن صورت به جای دو استراتژی قدیمی، یک استراتژی جدید داشتم و همبستگی باید مجددا محاسبه می شد. متاسفانه این ایده کمی دیر به ذهنم خطور کرد اما مطمئنم که ترکیب بر پایۀ همبستگی موثرتر از ترکیب تصادفی است.
این بیشتر به کیمیاگری میماند. آماده سازی چنین اکسپرتی با توجه به آن دستورالعمل چقدر به طول میانجامد؟ و تا چه مدت برای استفاده مناسب است؟ (برای کار آنلاین)
آمادهسازی من با استفاده از شبکه ابری MQL5 در حدود یک ماه طول کشید. به همین ترتیب زمان زیادی را صرفه جویی کردم. همچنان که اکسپرت در یک روز آماده شد، بقیه همه حرکات مکانیکی بودند که از چیزهای دیگر منحرف نمی شدند.
در مورد رابطه، گمان میکنم برای چند ماه مرتبط باقی بمانند اما به طور قطع نمیدانم. حتی میتوانم زمان کمتری صرف کنم چون این آزمایش با استفاده از همۀ تیکها برگزار شد. اگر چه در هنگام انتخاب استراتژیها میتوانستم از OHLC استفاده کنم. در این حالت آماده سازی 2 تا 3 هفته به طول میانجامید.
بنابراین آیا شما توانستهاید راهکاری برای وظیفۀ اصلی هر معاملهگر پیدا کنید؟ آیا در حال حاضر دارای تکنولوژی ایجاد سیستم معاملاتی خودکار هستید که برای حسابهای واقعی قابل استفاده است؟
خوب، اکسپرت امسال یک معیار است، تنها میخواستم نشان دهم که نیازی به درگیر کردن مغز با 15 میانگین متحرک، 12 مکدی و 4 پارابولیک نیست. البته این برای هر معاملۀ واقعی مناسب نیست. اگر بخواهیم آن را بر روی یک حساب واقعی به کار گیریم،
لازم است که:
1- از معادلۀ معاملهگری بنیادی طی انتخاب استراتژیها استفاده کنیم.
2- افزودن معیارهای استاندارد: PF > 1 و drowdown < X و غیره.
3- به یاد داشته باشیم که این F بهینه است. بنابراین تنها باید حدضررها به حساب سپرده شود. برای مثال، بقیه سرمایه ممکن است برای خرید اوراق قرضه مورد استفاده قرار گیرد.
اما من قدرت تخیل قوی دارم و میتوانم از راههای متعددی برای ایجاد استراتژیها استفاده کنم. قصد دارم بعد از سال جدید یک مشاور خبره را اساس اصول زیر در یک حساب واقعی بیازمایم.
کدام یک بیشتر وقت شما را میگیرد؟ انتخاب استراتژیها یا پیادهسازی آنها در یک قطعه کد؟
فکر میکنم جستجو برای یافتن استراتژیها زمانگیرتر است. پیادهسازی کم اهمیتتر و به اندازۀ کافی آسان است. هر برنامهنویس باتجربه کلاسها، الگوها و توابعی را فراهم میکند که میتواند با آنها کار کند. ایجاد یک اکسپرت جدید در MQL5 زمان زیادی را از یک برنامهنویس باتجربه نمیگیرد؛ هر چند برای یک برنامهنویس مبتدی این طور نیست.
در مسابقات، شاهد استراتژیهای چندارزی دیگری هم بودیم. آیا آنها را بررسی کرده اید؟ نظری در موردشان دارید؟
میتوانم به اکسپرت ias در بین روباتهای معاملاتی چندارزی اشارهای داشته باشم، زیرا فکر میکنم دارای ایدههای معقولی در ارتباط با مدیریت سرمایه است. همچنین از MA و BANDS استفاده کردم و مقایسۀ بین موضعهای باز آنها با مشاور خودم برایم جالب بود. در میان رباتهای معاملاتی تک ارزی، مایلم یادی از Xupypr کنم ، نه به خاطر خود اکسپرت بلکه برای روش آن. در حقیقت، Xupypr به آسانی هر چه بیشتر استراتژیهای پیچیده را به ریشخند گرفته است.
گفته میشود قوانین مسابقات قهرمانی به گونهای است که یک معاملهگر برای برنده شدن، مجبور است مشاوران خبرۀ چندارزی بنویسد. اما تا کنون در بین چنین استراتژیهایی برندهای وجود نداشته است.
به نظرم قوانین عملا تا حدی نامتوازن هستند. بهتر است در این حالت آنها را اصلاح کنیم. اما دیر یا زود، یک اکسپرت چندارزی بالاخره موفق خواهد شد.
به عنوان مثال، من در حال حاضر من از دو یا سه نماد بین 12 تای موجود سود دارم. و اولین نماد سودآور را میتوان در استراتژی مشاهده کرد. اگر من یک ربات معاملاتی تک ارزی ارائه کرده بودم، به دشواری به استراتژی پنجم میرسیدم و اکنون اکسپرت من در بین دو تای آخر در اما شرکتکنندگان در مسابقه قرار میگرفت. اما با افزایش تعداد رباتهای معاملهگری تک ارزی، احتمال برنده شدن یکی از بین آنها بیشتر است. امیدوارم هر چه زودتر این امر تغییر یابد.
در مورد روش yyy999 از چین چه نظری دارید؟ آیا تابحال چنین چیزی را امتحان کردهاید؟
بله. اما همۀ اینها بیفایده بود. این روش ممکن است در زمان خاصی خوش اقبال باشد. تنها راه استفاده از روش مدخلها ، تقسیم سرمایه به چند بخش و استفادۀ بخش به بخش آنها است. اما این روش برای بلندمدت غیرقابل قبول است. من فکر میکنم فیلد Balance هیچ معنایی ندارد زیرا با واقعیت مرتبط نیست.
به نظر میرسد که مقادیر ثابت حدسود و حدضرر در شرایط مالی انتخاب شدهاند. آیا بدون آنها شدنی بود؟ و چه نتیجهای در پی داشت؟
خیر؛ حدضررها و حدسودها در نقاطی در محدودۀ 10 تا 100 پوینت از حدضرر و 10 تا 200 پوینت از حدسود انتخاب میشوند (همۀ پوینتها به سیستم چهار رقمی اشاره دارند). نمیتوانستم بدون SL یا TP کاری انجام دهم. تنها کاری که میتوانستم انجام دهم، انتخاب حدود سود و ضرر شناور بود. اما بک حدضرر ثابت برای F بهینه مناسب است و یک حدسود ثابت برای ساده سازی کار انتخاب شده است.
چه توصیهای برای شرکتکنندگان و تماشاگران دارید؟
به شرکتکنندگان توصیه میکنم بیشتر روی مدیریت سرمایه تمرکز داشته باشند. اگر در حین انجام مسابقات هم باشید، باید روی یک حساب واقعی به این کار توجه کافی کنید. برای تماشاگران، توصیهام این است که بهتر است تنها مشاوران خبرۀ پیشتاز را تحلیل نکنید. همچنین برخی از آنها نباید چندان پرریسک باشند.
آیا حاضرید دانش و روشهای مورد استفادهتان را با سایر معاملهگران به اشتراک بگذارید؟ به نظر میرسد نکاتی برای به اشتراک گذاشتن دارید.
بله، همیشه آمادهام تا تجربیاتم را به اشتراک بگذارم. مدتها پیش پروژۀ botforyou.biz را شروع کردم اما این پروژه پایۀ تجاری دارد. ما رباتهای معاملاتی متعددی را برای بسیاری از سیستمها و پلتفرمها نوشتیم. ممکن است برای افراد مسلط به MQL4 و MQL5 عجیب باشد که نوشتن ربات معاملهگری برای بازار سهام به مراتب دشوارتر از نوشتن معادل آن برای متاتریدر است.
بله واقعا تا حدی عجیب است. چطور میتوانید آن را توضیح دهید؟
شاید این یک امتیاز انحصاری تکنیکال در بازار بورس باشد. و عدم وجود گزینههای بنیادی جدید نرمافزاری. نمیخواهم به طور آشکار از توسعهدهندگان نرمافزار بازار سهام انتقاد کنم ام وقتی هر ترمینال شخص ثالث را راهاندازی میکنید، در مقایسه با متاتریدر5 کاری بسیار ناخوشایند به نظر میرسد. امکانات خودکارسازی معاملات در سطح قرن گذشته گیر کرده است.
ای کاش پلت فرم شرکت MetaQuotes وارد بخش بازار سهام شود.
از پاسخگویی شما ممنونیم والری. برای شما در تمام مراحل زندگی و معاملات آرزوی موفقیت داریم!
ترجمه: مهندس امانپور
– – –
در مقاله بعدی به بررسی مفاهیم دیگری در حوزه برنامهنویسی میپردازیم.
با بررسی و تست جملات تکراری در
مصاحبههای افراد موفق می توان
به یک موفقیت پایدار رسید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.