Amirali Yaghoutiمهندس ارشد نرم‌افزار

مطالعه موردی مهندسی

موتور استراتژی MT5

بیشتر کدهای استراتژی به «کی وارد شویم» جواب می‌دهند و اندازه‌ی پوزیشن و خروج را تنظیمات در نظر می‌گیرند. این وارونه است: روی یک ابزار اهرمی، اندازه و خروج خیلی بیشتر از ورود نتیجه را تعیین می‌کنند.

مسئله تجاری

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

آنچه تحویل دادم

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

رویکرد فنی

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

نتیجه و شواهد

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

اهمیت برای کارفرما

روی ابزارهای اهرمی، بقا خودِ استراتژی است. سیستمی که نتواند ضرر بیش‌ازاندازه بگیرد از سیستمی با قانون ورود بهتر ارزشمندتر است.

خلاصه-اجرایی-پروژه

خلاصه اجرایی خوانا

خلاصه_اجرایی {
  پروژه: "MT5 Strategy Engine"
  پلتفرم: "متاتریدر"
  واحد_تصمیم: "ورود + اندازه + خروج با هم، هرگز جدا"
  خروج‌ها: "مقیاس‌شده با ATR؛ فاصله‌ی حد ضرر تابع نوسان"
  اندازه‌گیری: "ریسک کسری ثابت، مشتق از فاصله‌ی حد ضرر"
  فیلتر: "توافق تایم‌فریم بالاتر برای اجرا لازم است"
  گرایش: "حذف معامله بر افزودن سیگنال ترجیح دارد"
}

ارزش حرفه‌ای این پروژه

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

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