معاملات الگوریتمی چه کمکی برای کاهش خطای معامله‌گر می‌کند

معاملات الگوریتمی

در مقاله  “علل شکست معامله‌گران مبتدی و نیمه‌حرفه‌ای بازارهای مالی” علت‌های شکست معامله‌گران مبتدی  را بیان کردم .   با معاملات الگوریتمی می‌توان اکثر مشکلات تحلیل‌گران تکنیکال را حل کرد.

۴ عامل عبارت بودند از:

  1. مهارت نداشتن به‌اندازه کافی در تحلیل تکنیکال.
  2. استفاده از یک روش برای تمام بازارها
  3. ناتوانی در کنترل احساسات و مدیریت سرمایه و مدیریت ریسک ضعیف.
  4. استفاده نکردن از کامپیوتر به‌منظور کاهش خطاهای انسانی و خطاهای ورودی‌ها.

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

۱٫       مهارت نداشتن کافی در تحلیل تکنیکال.

راه‌حل این موضوع ساده است، باید با مطالعه روش‌های گوناگون و تحلیل آن‌ها و تمرین به مهارت برسید.

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

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

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

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

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

بگذارید با خاطره‌ای این موضوع را برای شما مشخص کنم.

در زمان تألیف این کتاب یکی از دوستانم با من تماس گرفت و از من خواست یک استراتژی معاملاتی را برایش به اکسپرت تبدیل کنم تا بتواند از آن استفاده کند. او این‌طور بیان می‌کرد که ۶ ماه روی این روش کارکرده و مطمئن است که استراتژی بسیار خوبی است. من مدت‌ها است پروژه برای دیگران انجام نمی‌دهم گفت ولی با اصرار زیاد از طرف دوستم پذیرفتم که این کار را برای او انجام دهم.

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

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

فکر کنم توانسته باشم قدرتی که یادگیری معاملات الگوریتمی به شما می‌دهد را با این مثال بازگو کنم. دوست من ۶ ماه وقت گذاشته بود و تازه فکر می‌کرد استراتژی بسیار خوب است…من ۳ روز وقت گذاشتم و بسیار دقیق‌تر ثابت کردم که استراتژی بسیار بد است!

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

۲٫      استفاده از یک روش برای تمام بازارها

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

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

برای درک بهتر مطلب، دو بازار “بورس اوراق بهادار تهران” و بازار “مبادلات ارز بین‌المللی” (Forex) را باهم مقایسه می‌کنم:

  • بازار سهام ایران، یک بازار یک‌طرفه است و به این معنی است که تنها در صورت افزایش قیمت است که می‌توان از معامله خود سود کسب کنیم؛ و درصورتی‌که بعد خرید سهمی، آن سهم ارزان شود، شما متضرر خواهید شد. بازار فارکس، یک بازار دوطرفه است یعنی می‌توانید در لحظه، یک محصول را بخرید یا بفروشید. در مورد خرید مسئله ساده است، محصول را می‌خرید، اگر گران شد، سود کسب می‌کنید و اگر ارزان شد، متضرر می‌شوید. نکته‌ای که در بازار دوطرفه هست، این است که می‌توانید اگر به این نتیجه رسیدید که محصولی گران است، می‌توانید آن را بفروشید و اگر در آینده محصول شما ارزان شد، سود کسب می‌کنید. در حقیقت گران فروخته و ارزان خرید کرده‌اید. در بازارهای دو طرفه امکان ایجاد موقعیت‌های معاملاتی بیشتری وجود دارد.
  • در بازار اوراق بهادار تهران، برای اکثر سهم‌های موجود، محدودیت نوسان وجود دارد و اکثر نمادهای بازار، محدودیت نوسان +۵ و -۵ دارند. به این مفهوم که هر سهم در روز می‌تواند حداکثر ۵ درصد رشد و یا ۵ درصد افت، نسبت به قیمت بسته شدن روز گذشته خود داشته باشد. در بازار Forex محدودیت نوسان برای محصولات وجود ندارد.
  • در بازار بورس ایران امکان استفاده از اکسپرت‌های معاملاتی وجود ندارد ولی در بازارهای جهانی مبادلات ارزی، شما می‌توانید از برنامه‌های خودکار برای معاملات استفاده کنید.
  • در بورس ایران امکان استفاده از حد سود و حد ضرر به‌صورت سیستمی وجود ندارد و معامله‌گر باید به‌صورت دستی آن‌ها را رعایت کند اما در بازارهای جهانی این امکان وجود دارد.
  • در بازار بورس ایران سهم‌ها ازنظر نقد شوندگی، باهم متفاوت هستند و باید در خرید سهم‌های با نقد شوندگی پایین، بسیار دقت کرد اما در Forex، به دلیل حجم بالای پول در گردش، مسئله نقد شوندگی وجود ندارد و شما هرلحظه قادر به خرید یا فروش محصول موردنظر هستید.

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

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

۳٫     ناتوانی در کنترل احساسات و مدیریت سرمایه ضعیف.

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

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

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

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

همچنین وقتی معاملاتش با برد خوبی همراه می‌شود، طمع نمی‌کند و با همان روشی که قبلاً کار می‌کرد، با خونسردی به کار خود ادامه می‌دهد.

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

دو نتیجه مهم که در استفاده تحلیل فاندامنتال برای ما عینی خواهد شد!

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

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

یادتان هست در مقاله علل شکست تحلیل گران تکنیکال از شکست در کسب‌وکار ارائه کردم؟

در آن‌جا گفتم از دید من یک شغل باید بتواند ۳ عامل زیر را فراهم کند:

  1. بتوانید با درآمدی که به دست می‌آورید، هزینه‌های ثابت زندگی خود را پرداخت کنید.
  2. بتوانید پس‌انداز کنید.
  3. بتوانید به آرزوهای خودتان فکر کنید.

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

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

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

مثلاً می‌گویند با چنگال غذا بخورید دکتری را می‌شناسم که به مراجعین خود توصیه می‌کند با دست غیرتخصصی خود غذا بخوری. مثلاً اگر راست‌دست هستید با دست چپ غذا بخورید.

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

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

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

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

۴٫     استفاده نکردن از کامپیوتر به‌منظور کاهش خطاهای انسانی و خطاهای ورودی‌ها.

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

خطای دوم استفاده از یک روش موفق برای بازارهای مختلف بود. این مشکل را هم می‌توان با بررسی روش بر روی بازارهای محدود (مثلاً فقط برای بازار بورس ایران) و درک پارامترهای آن بازار خاص تا حدودی برطرف کرد. البته روش باید دائماً به‌روزرسانی شود تا با تغییر بازارها متضرر نشویم.

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

موارد ۱ تا ۳ را شاید بتوان بدون استفاده از معاملات الگوریتمی حل کرد که البته با معاملات الگوریتمی بسیار سریع‌تر و دقیق‌تر این کار انجام می‌شود ولی مورد چهارم از دید من غیرممکن است بدون استفاده از معاملات الگوریتمی حل کنیم.

در مقاله “مزایا و معایب معاملات خودکار” توضیح دادم که حالات مختلفی که ورودی‌های مسئله به وجود می‌آورند به میلیون‌ها حالت مختلف می‌رسد و ما باید بهترین آن‌ها را انتخاب کنیم. در کل، شغل معامله‌گری ریسک دارد و ما باید تمام تلاش خود را برای کاهش ریسک و رسیدن به سود، انجام دهیم. ولی نمی‌توانیم (مثلاً) ۱ میلیون بار ورودی‌ها را تغییر دهیم و در گذشته بازار آن را تست کنیم تا حالت بهینه را بیابیم. چون بازار این فرصت را به ما نمی‌دهد و به فرض اگر این کار را هم با صرف وقت بسیار زیاد انجام دادیم، وقتی به جواب بهینه می‌رسیم، شرایط بازار تغییر کرده و باید مجدد بهینه‌سازی کنیم!

پس راه‌حل چیست؟

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

پس جواب همین است. کار را به کامپیوتر بسپار!

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

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

چگونه می‌توانیم به کامپیوتر این‌چنین دستورهایی را بدهیم؟

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

شرکت metaqoutes در پلت فرم معاملاتی متاتریدر، زبان برنامه‌نویسی را طراحی کرده به نام MQL که با استفاده از آن می‌توان روبات‌های خودکار معامله‌گر بر طبق استراتژی‌های معاملاتی خود بسازیم. این قابلیت هم در متاتریدر ۴ هست و هم در متاتریدر ۵٫ قابلیت‌ها و امکانات برنامه‌نویسی در متاتریدر ۵ و همچنین امکانات و دقت تست در گذشته (back test) بسیار بالاتر از متاتریدر ۴ است. توصیه من برای کسانی که می‌خواهند برنامه‌نویسی MQL را یاد بگیرند، آموزش برای پلت فرم نسخه ۵ است؛ اما مواردی هم هستند که کارگزارها محصول موردنظر شمارا فقط در متاتریدر ۴ ارائه می‌دهند، یا اینکه هزینه‌های معامله (اسپرد و کمیسیون) در متی ۵ بالاتر است و برای کسانی که تعداد بالای معاملات دارند به‌صرفه‌تر است که از ۴ استفاده کنند.

زبان برنامه‌نویسی برای متاتریدر ۴ و متاتریدر ۵ شبیه به هم است و وقتی متاتریدر ۵ را یاد می‌گیرید، خیلی سریع‌تر می‌توانید به متاتریدر ۴ هم مسلط شوید.

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

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

وقتی تصمیم می‌گیرید که از کامپیوتر به‌منظور کاهش خطاهای معاملاتی و کسب سود استفاده کنید، ۲ روش کلی برای شما وجود دارد:

  1. معاملات الگوریتمی یاد بگیرید و کلیه نیازهای خود را برطرف کنید.
  2. از روش نیمه اتوماتیک استفاده کنید؛ یعنی پارامترهای موردنیاز خود را برای تصمیم‌گیری مشخص کنید و از برنامه‌نویسی بخواهید که آن‌ها را به‌صورت برنامه‌ای که من نام آن را “برنامه دستیار معامله‌گر” می‌نامم، درآورد. دقت کنید با توجه به ماهیت بسیار متغیر بازار، سیستم شما هم باید دائماً به‌روز شود.

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

1 دیدگاه برای “معاملات الگوریتمی چه کمکی برای کاهش خطای معامله‌گر می‌کند

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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