چگونه در آسان بورس حد ضرر و حد سود هوشمند تعریف کنیم؟
سلام روز همگی خوش، رضا فکری هستم از تیم آسان بورس. امروز میخواهیم در خصوص تعیین حد ضرر و حد سود در طراحی استراتژی معاملاتی به کمک این پلتفرم صحبت کنیم. هدف ما این است که ببینیم چطور میتوانیم این پارامترها را به صورت دقیق تعریف کنیم و در بکتست (Backtest) از آنها استفاده کنیم تا عملکرد استراتژی خود را بهینهسازی کنیم.
تعریف حد ضرر و سود در بلوک سفارش
وقتی در بلوک سفارش استراتژی خود را تنظیم میکنید، ویژگیهایی مثل قیمت، حجم، حد ضرر و حد سود وجود دارد که بسیار به شما کمک میکنند. بهویژه در بکتست، اگر این اعداد تعیین نشوند، سیستم به صورت پیشفرض عمل میکند: حجم را حداکثر در نظر میگیرد، قیمت را بر اساس Close (قیمت بسته شدن) و برای حد ضرر و حد سود هیچ شرطی اعمال نمیکند. در این حالت، تا زمانی که به شرایط خروج (Exit) نرسید، معامله باز میماند.

اما نکته مهم اینجاست که حد ضرر و حد سود جنسشان از نوع «قیمت» است. شما باید قیمت خروج را در صورت زیان و سود محاسبه کنید. از آنجا که هر سهم قیمت خاص خود را دارد، نمیتوانید یک عدد ثابت (مثلاً ۱۰۰۰ تومان) را به عنوان حد ضرر بگذارید؛ بلکه باید این اعداد بر اساس محاسبات ریاضی و داینامیک باشند.
روش اول: حد ضرر و سود درصدی ثابت (Static)
برای سادگی، در قدم اول فرض میکنیم که میخواهیم حد ضرر و حد سود را به صورت درصدی تعریف کنیم. مثلاً میگوییم اگر قیمت ۱۰٪ پایینتر آمد، بفروشیم (حد ضرر) و اگر ۵۰٪ بالاتر رفت، خارج شویم (حد سود).

در این روش، فرمول ساده ریاضی است: قیمت ورود × (۱ - ۰.۱۰) برای حد ضرر و قیمت ورود × (۱ + ۰.۵۰) برای حد سود. این اعداد به بلوک سفارش متصل میشوند.
نکته کلیدی: این نوع حد ضرر و حد سود «استاتیک» هستند. یعنی در لحظهای که سیگنال ورود صادر میشود، قیمتها محاسبه شده و در سفارش ثبت میشوند و دیگر تغییر نمیکنند. اگر بازار رنج باشد یا سهمی که سیگنال گرفتهاید پتانسیل رشد ۱۰۰ درصدی داشته باشد، شما با یک حد سود ۵۰ درصدی، سودهای بزرگ را از دست میدهید. در بازارهای رنج، این روش میتواند با تیکپروفیت (Take Profit) و حد ضرر، از زیان جلوگیری کند، اما برای سودهای بزرگ محدودیت ایجاد میکند.

روش دوم: حد ضرر داینامیک بر اساس اندیکاتور Min/Max
برای اینکه حد ضرر هوشمندتری داشته باشیم، میتوانیم آن را بر اساس پایینترین قیمت روزهای گذشته تعریف کنیم. فرض کنید میخواهیم اگر قیمت از پایینترین قیمت ۴ روز قبل پایینتر آمد، معامله را ببندیم.
برای این کار در آسان بورس از اندیکاتور CommonMath استفاده میکنیم. این اندیکاتور به ما اجازه میدهد تابعی مثل Min (کمینه) را روی قیمتهای گذشته اعمال کنیم. فرمول به این صورت است که Min قیمتهای ۴ روز گذشته محاسبه میشود و این عدد حکم حد ضرر ما را دارد.

این روش بسیار کارآمد است زیرا بر اساس تحلیل تکنیکال و پیدا کردن پیوتهای قبلی عمل میکند. اگر قیمت به این خط برسد، یعنی ساختار کفهای قبلی شکسته شده و شما با حد ضرر خارج میشوید. این خط در نمودار به صورت متحرک حرکت میکند و هر لحظه که میخواهید خرید کنید، حد ضرر شما در کفِ ۴ روز قبلِ آن لحظه قرار میگیرد.
روش سوم: حد ضرر هوشمند با اندیکاتور ZigZag و شرطهای If/Else
روش پیشرفتهتر و دقیقتر برای تعیین حد ضرر، استفاده از اندیکاتور ZigZag است. این اندیکاتور نقاط ماکزیمم و مینیمم قبلی (پیوتها) را نشان میدهد. اما برای استفاده از آن به عنوان حد ضرر، باید چند نکته فنی را رعایت کنیم:

- استفاده از تابع قدر مطلق (Abs): خروجی ZigZag میتواند مثبت (برای ماکزیمم) یا منفی (برای مینیمم) باشد. چون ما به عنوان حد ضرر به دنبال یک عدد قیمت هستیم، باید از تابع Abs استفاده کنیم تا نتیجه همیشه مثبت باشد.
- تشخیص مینیمم با شرطهای شرطی (If/Else): ما فقط به نقطه مینیمم قبلی نیاز داریم. اگر ZigZag یک نقطه ماکزیمم نشان داد، آن برای ما کاربردی ندارد. بنابراین باید دو خروجی از ZigZag بگیریم: یکی آخرین پیوت و دیگری پیوتِ قبل از آن.
- منطق انتخاب: با استفاده از یک بلاک شرطی (If/Else)، بررسی میکنیم که آیا آخرین پیوت یک مینیمم است (عدد منفی) یا خیر.
- اگر مینیمم بود: همان را به عنوان حد ضرر انتخاب میکنیم.
- اگر ماکزیمم بود: باید به پیوتِ قبل (یک دونه عقبتر) برویم و آن را به عنوان حد ضرر در نظر بگیریم.
با این روش، حد ضرر شما دقیقاً روی آخرین کفی که قیمت تشکیل داده قرار میگیرد. اگر قیمت به این سطح برسد، یعنی روند نزولی شروع شده و شما با حد ضرر خارج میشوید. این روش در بازارهای رنج و نوسانی بسیار عالی عمل میکند و میتواند هم حد ضرر و هم حد سود (با استفاده از ماکزیممها) را مدیریت کند.
نتیجهگیری
در این آموزش یاد گرفتیم که در پلتفرم آسان بورس میتوانیم حد ضرر و حد سود را به سه روش تعریف کنیم:

- درصدی ثابت: ساده اما غیرهوشمند و محدودکننده سود.
- بر اساس Min/Max: استفاده از کفهای چند روز گذشته برای مدیریت ریسک.
- بر اساس ZigZag: دقیقترین روش برای شناسایی نقاط مینیمم و ماکزیمم قبلی با استفاده از توابع ریاضی و شرطهای شرطی.
با استفاده از این ابزارها، میتوانید استراتژیهای خود را در بکتست بهتر تست کنید و در بازارهای واقعی، با مدیریت ریسک دقیقتر، سودهای خود را به حداکثر برسانید و از زیانهای سنگین جلوگیری کنید.