اندیکاتور ATR Position Sizer در متاتریدر ۵
مقدمه و هدف اندیکاتور ATR Position Sizer
یکی از بزرگترین چالشهای معاملهگران، انتخاب حجم (Lot Size) مناسب برای ورود به معامله است.
بسیاری از تریدرها یا بهصورت ثابت (مثلاً همیشه ۰.۱ لات) معامله میکنند یا حجم را بر اساس حس و تجربه تغییر میدهند. نتیجه؟ مدیریت ریسک ناپایدار و احتمال ضررهای بزرگ.
ابزار ATR Position Sizer با هدف حل همین مشکل طراحی شده است: این اندیکاتور حجم بهینه معامله را بر اساس میزان ریسک دلخواه شما و نوسان واقعی بازار (اندازهگیریشده با ATR) پیشنهاد میدهد.
به زبان ساده:
- شما تعیین میکنید که در هر معامله نهایتاً چه درصدی از سرمایهتان در معرض ریسک قرار بگیرد (مثلاً ۱%).
- اندیکاتور، مقدار ATR را محاسبه میکند و با در نظر گرفتن ضریب انتخابی شما (Multiplier)، فاصلهی حد ضرر (SL) را مشخص میکند.
- در نهایت حجم مناسب معامله (Lot) به شما نمایش داده میشود.
منطق و فرمول محاسبه اندیکاتور ATR Position Sizer
حد ضرر بر اساس ATR
StopLoss = ATR × Multiplier
مثال: اگر ATR = 20 پیپ باشد و شما ضریب ۱.۵ انتخاب کنید، حد ضرر پیشنهادی = 30 پیپ خواهد بود.
مقدار ریسک دلخواه
RiskAmount = AccountBalance × (Risk% / 100)
مثال: اگر حساب شما ۱۰,۰۰۰ دلار باشد و ریسک ۱% را انتخاب کنید → RiskAmount = 100 دلار.
محاسبه حجم
LossPerLot = SL (in ticks) × TickValue
LotSize = RiskAmount / LossPerLot
این حجم سپس با قوانین بروکر (حداقل/حداکثر لات و Step) نرمالایز میشود.
جدول ورودیهای اندیکاتور ATR Position Sizer
نام پارامتر |
توضیح |
InpUseEquity |
اگر true باشد، محاسبات بر اساس Equity حساب انجام میشود. اگر false باشد، بر اساس Balance حساب محاسبه میشود. |
InpATRTimeframe |
تایمفریم مورد استفاده برای محاسبه ATR (پیشفرض: H1). مثلاً میتوانید ATR تایمفریم H4 یا D1 را هم انتخاب کنید. |
InpATRPeriod |
تعداد کندلهایی که در محاسبه ATR استفاده میشود (پیشفرض: ۱۴). |
InpDefaultRiskPct |
درصد ریسک پیشفرض برای هر معامله. مثلاً ۱.۰ بهمعنای ریسک ۱ درصد از موجودی انتخابی است. |
InpDefaultSLMult |
ضریب ATR برای محاسبه حد ضرر. مثال: اگر ATR = 20 پیپ و Multiplier = 1.5 باشد، حد ضرر پیشنهادی = 30 پیپ خواهد بود. |
InpPipSizeOverride |
اگر مقدار آن ۰.۰ باشد، pip size بهصورت خودکار تشخیص داده میشود. اگر مقداری غیر از صفر وارد کنید (مثلاً ۰.۰۱ یا ۰.۱)، آن مقدار بهصورت دستی برای محاسبه pip size استفاده میشود. |
InpTextColor |
رنگ متون پنل نمایش داده شده روی نمودار. پیشفرض: سفید. |
InpAccentColor |
رنگی که برای نمایش Lot پیشنهادی استفاده میشود (برای جلب توجه). پیشفرض: سبز لایم. |
InpShowPanelBG |
اگر true باشد، پسزمینه پنل روی چارت نمایش داده میشود. اگر false باشد، پنل بدون پسزمینه است. |
InpPanelBgColor |
رنگ پسزمینه پنل (در صورتی که فعال باشد). پیشفرض: مشکی. |
InpPanelBgAlpha |
شفافیت (Transparency) پسزمینه پنل بین ۰ تا ۲۵۵. عدد پایینتر = شفافتر. |
InpEditBgColor |
رنگ پسزمینه جعبههای ویرایش (Edit Box) که کاربر میتواند درصد ریسک و Multiplier را تغییر دهد. |
InpCorner |
محل قرارگیری پنل روی چارت: ۰ = بالا چپ (LT)، ۱ = بالا راست (RT)، ۲ = پایین چپ (LB)، ۳ = پایین راست (RB). |
InpPanelX |
فاصله افقی پنل از لبه نمودار (بر حسب پیکسل). |
InpPanelY |
فاصله عمودی پنل از لبه نمودار (بر حسب پیکسل). |
نکته مهم در مورد محل قرارگیری پنل روی چارت
سه ورودی آخر اندیکاتور (InpCorner, InpPanelX, InpPanelY) دقیقاً برای کنترل محل نمایش پنل طراحی شدهاند:
- InpCorner تعیین میکند پنل در کدام گوشه نمودار نمایش داده شود:
- ۰ = بالا-چپ (Left Top)
- ۱ = بالا-راست (Right Top)
- ۲ = پایین-چپ (Left Bottom)
- ۳ = پایین-راست (Right Bottom) ← حالت پیشفرض
- InpPanelX فاصلهٔ افقی پنل از لبهٔ نمودار (بر حسب پیکسل) را مشخص میکند. هرچه مقدار بزرگتر باشد، پنل بیشتر به سمت داخل نمودار جابهجا میشود.
- InpPanelY فاصلهٔ عمودی پنل از لبهٔ نمودار (بر حسب پیکسل) را مشخص میکند. هرچه مقدار بزرگتر باشد، پنل بیشتر به سمت پایین نمودار منتقل میشود (اگر گوشه بالا باشد) یا از پایین فاصله میگیرد (اگر گوشه پایین باشد).
📌 نکته کلیدی:
با تغییر ترکیب این سه ورودی میتوانید پنل را دقیقاً در محل دلخواه خود روی نمودار قرار دهید.
مثالها:
- اگر مانیتور کوچک دارید و پنل روی قیمتها افتاده، میتوانید InpPanelX = 400 یا InpPanelY = 80 تنظیم کنید تا به سمت داخل یا پایین منتقل شود.
- اگر میخواهید پنل همیشه در بالای نمودار سمت راست باشد، مقدار InpCorner = 1 بگذارید و سپس با تغییر X/Y موقعیت دقیق آن را تنظیم کنید.
- در مانیتورهای بزرگ (FullHD یا 4K)، برای اینکه پنل خیلی به لبه نچسبد، کافی است InpPanelX و InpPanelY را بزرگتر کنید (مثلاً ۲۰۰–۳۰۰ پیکسل).

نحوه استفاده اندیکاتور ATR Position Sizer
- فایل اندیکاتور را در پوشه MQL5/Indicators کپی کنید و ترمینال را ریاستارت کنید.
- اندیکاتور را روی نمودار جفتارز یا طلا اجرا کنید.
- یک پنل اطلاعات روی چارت ظاهر میشود که شامل موارد زیر است:
- Balance/Equity
- مقدار ATR (براساس تایمفریم انتخابی)
- Pip Size نماد
- فاصله حد ضرر پیشنهادی (هم به پیپ، هم به قیمت)
- حجم پیشنهادی (Lot Size)
- اگر دکمهی Copy Lot (GV) را بزنید، مقدار حجم پیشنهادی در یک Global Variable ذخیره میشود و میتواند توسط اکسپرتها یا اسکریپتها استفاده شود.
نکات کارایی و Multi-Timeframe
- برای جفتارزهایی مثل EURUSD، ATR روی تایمفریم H1 یا H4 معمولاً مناسب است.
- برای طلا (XAUUSD) یا شاخصها بهتر است Pip Size را بهصورت دستی (Override) تنظیم کنید تا محاسبات دقیقتر باشد.
- اگر بازار در شرایط پرنوسان است (مثلاً بعد از خبر NFP)، ضریب ATR را بیشتر بگیرید (مثلاً ۲ یا ۳) تا حد ضرر بزرگتر و حجم کوچکتر شود.
- اگر بازار کمنوسان است، ضریب ATR کمتر هم قابل استفاده است.
اندیکاتور ATR Position Sizer
لطفا قبل از استفاده از اندیکاتور ATR Position Sizer راهنمای مربوط به آن را که در همان پوشه قرار گرفته را به دقت مطالعه نمایید.
سلب مسئولیت
این ابزار صرفاً با هدف آموزشی و کمک به مدیریت ریسک طراحی شده است. هیچگونه توصیهی خرید/فروش محسوب نمیشود. مسئولیت استفاده از آن به عهدهی خود کاربر است.