ایجاد یک ربات معامله گر ساده: طراحی سیستم معاملات الگوریتمی (قسمت سوم)

طراحی سیستم معاملات الگوریتمی

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

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

طراحی سیستم معاملات الگوریتمی

گام ۱ : قوانین سیستم معاملاتی خود را بسازید.

اولین گام برای طراحی سیستم معاملات الگوریتمی ، ارائه دستورات و قوانینی است که سیستم شما بر مبنای آنها کار کند. ۴ دستور اصلی برای هر سیستم معاملاتی باید وجود داشته باشد:

۱-  خرید (Buy): مشخص کنید که چه زمانی می خواهید در یک موقعیت معاملاتی خرید قرار بگیرید.

۲-  فروش (Sell): مشخص کنید که چه زمانی می خواهید در یک موقعیت معاملاتی فروش قرار بگیرید.

۳-  حد ضرر (Stop): مشخص کنید که چه زمانی می خواهید زیانهای خود را متوقف کنید.

۴-  حد سود (Target): مشخص کنید که چه زمانی و با چه میزان سودی می خواهید از معامله خارج شوید.

برای مثال:

۱- خرید : زمانی که میانگین متحرک ۳۰ روزه بیشتر از میانگین متحرک ۶۰ روزه شود (کراس صعودی).

۲- فروش : زمانی که میانگین متحرک ۳۰ روزه کمتر از میانگین متحرک ۶۰ روزه شود (کراس نزولی).

۳- حد ضرر : ماکزیمم زیان، برابر با ۱۰ واحد.

۴- حد سود : حد سود، برابر با ۱۰ واحد.

این سیستم مثالی، بر اساس میانگین متحرک های ۳۰ و ۶۰ روزه، سفارش خرید و فروش می‌دهد و به طور خودکار بعد از کسب ۱۰ واحد سود، سهم را می‌فروشد و یا بعد از ۱۰ واحد حرکت قیمت سهم در خلاف جهت، سهم را با زیان می‌فروشد.

گام ۲ : مولفه های هر قانون را مشخص کنید.

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

۱- اندیکاتور یا تکنیک علمی مورد استفاده

۲- تنظیمات مربوط به اندیکاتور یا تکنیک

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

بیایید نگاهی به چند مثال بیندازیم:

۱- MA(25) : میانگین متحرک ۲۵ روزه

۲- RSI(25) : شاخص قدرت نسبی ۲۵ روزه

۳- MACD(Close(0),5,5) : MACD که بر مبنای قیمت پایانی امروز و با دوره تناوب میانگین متحرک تند و کند ۵ روزه تنظیم شده.

اگر از تعداد پارامترهای مورد نیاز یک مولفه مطمئن نیستید، می‌توانید به مستندات نرم افزار معاملاتی­تان مراجعه کنید که در آن‌ها، همه مولفه‌ها به همراه مقادیر مورد نیاز ورودی، لیست شده است. برای مثال، در نرم افزار متاتریدر می‌توانیم مشاهده کنیم که سه پارامتر برای MACD مورد نیاز است. این پارامترها، هم در help برنامه تعریف شده است :

و هم در زمان insert اندیکاتور نشان داده می شوند :

پس مولفه‌های مثال مطرح شده در گام اول برابرند با:

۱- MA(30) : میانگین متحرک ۳۰ روزه

۲- MA(60) : میانگین متحرک ۶۰ روزه

 

گام ۳: افزودن عملیات منطقی

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

IF Condition [WHILE Condition] THEN Action

اگر شرط (درحالیکه شرط) آنگاه اقدام!

معمولا، condition یا شرط، شامل مولفه‌ها و پارامترهایی خواهد بود که در گام دوم ساخته اید و action یا عملیات، شامل buy و sell است. همچنین اگر هیچ مولفه­ای وجود نداشته باشد، ممکن است شرط‌ها، متنی باشند. دقت کنید که مولفه while اختیاری است.

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

  • اگر MA(30) بیش تر از MA(60) شد، آنگاه خرید انجام شود.
  • اگر MA(30) کمتر از MA(60) شد، در حالیکه حجم معاملات بیش از ۲۰۰۰ باشد، آنگاه فروش انجام شود.
  • اگر EMA(25) بیشتر از MA(5) شد، آنگاه فروش انجام شود.
  • اگر RSI(20) مساوی با ۵۰ شد، آنگاه خرید انجام شود.

حال اگر بخواهیم مثال اول را بازنویسی کنیم می‌توانیم بنویسیم:

  • اگر MA(30) بیشتر از MA(60) شد، آنگاه خرید انجام شود.
  • اگر MA(30) کمتر از MA(60) شد، آنگاه فروش انجام شود.
  • اگر معامله به ۱۰% سود وارد شد، فروش انجام شود.
  • اگر معامله به ۴% ضرر وارد شد، فروش انجام شود.

مرحله بعدی چیست؟

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

دیدگاهتان را بنویسید

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