چگونه یک استراتژی تجاری سودآور توسعه دهیم

  • 2021-08-29

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

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

این مقاله استفاده از یک شبکه عصبی تک لایه ساده را برای شناسایی حرکات قیمت آتی بر اساس قرائت‌های نوسانگر شتاب/کاهش (AC) تحلیل می‌کند.

شبکه عصبی

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

wi - ضریب وزنی با شاخص i،

ai - مقدار عددی یک علامت با شاخص جسم i،

d - مقدار آستانه که اغلب برابر با 0 است.

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

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

در واقع، یک صفحه از نظر هندسی به عنوان یک معادله خطی توصیف می شود. به عنوان مثال، در یک فضای سه بعدی، معادله صفحه مربوط به مختصات X، Y و Z به صورت زیر است:

مختصات تمام نقاطی که در یک طرف صفحه در این فضا قرار دارند، نابرابری را برآورده می کنند:

و مختصات تمام نقاطی که در طرف دیگر صفحه قرار گرفته اند، نابرابری را برآورده می کنند:

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

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

تعریف مشکل

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

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

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

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

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

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

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

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

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

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

برای این منظور حداقل به یک فرمول استراتژی معاملاتی نیاز داریم تا بتوانیم الگوریتم را پیاده سازی کنیم و آن را به کد Expert Advisor برای متاتریدر 4 تبدیل کنیم.

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

  1. قرار دادن دستورات سود و توقف ضرر؛
  2. چرخش در جهت مخالف با دریافت سیگنالی که نشان دهنده تغییر جهت در روند بازار است.
  • قیمت ها احتمالاً به سمت بالا حرکت می کنند.
  • قیمت ها احتمالا به سمت پایین حرکت می کند.

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

راه حل مشکل

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

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

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

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

ما پارامترهای ورودی انتخاب شده توسط یک الگوریتم ژنتیکی را انتخاب خواهیم کرد: X1 ، X2 ، X3 و X4 برای فاکتورهای وزنه برداری شبکه عصبی ، همچنین باید سطح از دست دادن مقدار SL - SL را انتخاب کنیم. تعداد تعداد زیادی به عنوان 1 گرفته می شود و یک شماره جادویی به طور پیش فرض باقی می ماند.

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

برای بستن برگه تنظیمات Expert Ok را کلیک کنید. اکنون می توانیم با فشار دادن دکمه شروع ، فرایند بهینه سازی را شروع کنیم. همچنین توصیه می شود خروجی را برای نتایج بی فایده غیرفعال کنید:

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

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

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

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

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

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

بیایید روند بهینه سازی را شروع کنیم. ما نتایج پارامترهای ورودی را بدست می آوریم: x1 = 146 ، x2 = 25 ، x3 = 154 ، x4 = 121 ، SL = 45.

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

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

نتیجه

چگونه می توانیم نتیجه گیری های مربوط به شبکه های عصبی ساخته D. Katz و D. McCormick را در کتاب خود "دائر ycl المعارف استراتژی های معاملاتی" انجام دهیم؟

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

  • نویسنده : پورتقي انوريان سميرا
  • منبع : sverigeobrott.online
  • بدون دیدگاه

ثبت دیدگاه

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