این اندیکاتور اختصاصی برای متاتریدر 5، با نام “Daily Loss Statistics”، یک پنل اطلاعاتی مدرن و شفاف را روی نمودار قیمت ترسیم میکند که عملکرد معاملاتی حساب را به صورت روزانه و تجمیعی نمایش میدهد. این ابزار با بررسی تاریخچه تمام معاملات بسته شده (Deals خروجی) و با احتساب سود، کمیسیون و بهره شبانه، آمار دقیقی از مجموع حجم معاملاتی (Lots)، تعداد معاملات (Orders) و سود/زیان خالص (P/L) برای ۷ روز معاملاتی اخیر ارائه میکند. در انتهای جدول نیز یک ردیف “TOTAL” مجموع کل این مقادیر را از ابتدای فعالیت حساب به نمایش گذاشته و با کدگذاری رنگی (سبز برای سود و قرمز برای زیان) امکان ارزیابی سریع عملکرد روزانه و کلی را برای معاملهگر فراهم میسازد.
.
این اندیکاتور در تابع OnCalculate و با هر تیک جدید، ابتدا کل تاریخچه معاملات حساب را با فراخوانی HistorySelect واکشی کرده و در تابع CollectStatistics پردازش میکند. در این فرآیند، تمام معاملات بستهشده (Deals از نوع DEAL_ENTRY_OUT) شناسایی شده و پس از استخراج زمان انجام معامله، تاریخ آن به ابتدای روز (ساعت ۰۰:۰۰) نرمالسازی میشود. سپس مجموع حجم معاملات (DEAL_VOLUME) و سود خالص (حاصل جمع فیلدهای DEAL_PROFIT، DEAL_SWAP و DEAL_COMMISSION) برای هر روز محاسبه و در آرایهای از ساختار DayStats ذخیره میشود. در نهایت دادهها بهصورت نزولی مرتب شده و به تعداد روزهای تعیینشده توسط کاربر (پارامتر InpDaysToShow) محدود میگردند.
پس از تکمیل فرآیند جمعآوری دادهها، تابع DrawStatistics اجرا شده و یک پنل گرافیکی شناور در گوشه چپ بالای نمودار ترسیم میکند. این پنل از اشیاء گرافیکی OBJ_RECTANGLE_LABEL برای پسزمینهها و OBJ_LABEL برای نمایش متون استفاده میکند و ساختاری لایهای شامل هدر رنگی، سرفصل ستونها، ردیفهای داده و ردیف مجموع کل دارد. نکته مهم در طراحی این اندیکاتور، نمایش ردیف “TOTAL” است که نه فقط مجموع ۷ روز نمایش دادهشده، بلکه مجموع کل تمام معاملات تاریخچه حساب (g_allTimeLots، g_allTimeOrders و g_allTimeProfit) را نشان میدهد و بهکمک قالببندی اعداد با جداکننده هزارگان و کدگذاری رنگی سود و زیان، خوانایی بالایی را برای تحلیل سریع عملکرد معاملاتی فراهم میکند.
ویدیو راهنمای اندیکاتور آمار سود و ضرر روزانه Daily Loss Statistics
تنظیمات اندیکاتور Daily Loss Statistics
در ادامه تنظیمات این اندیکاتور به صورت آیتمبندی شده و با توضیحات مجزا برای هر پارامتر ارائه شده است:
تنظیمات تعداد روزهای نمایش
InpDaysToShow (پیشفرض: 7) : تعداد روزهای معاملاتی که در جدول نمایش داده میشود را تعیین میکند. اگر تعداد روزهای دارای معامله در تاریخچه حساب بیشتر از این مقدار باشد، فقط همین تعداد از آخرین روزها (به ترتیب نزولی) نشان داده میشود. برای مثال با مقدار ۱۴، آمار دو هفته اخیر را مشاهده خواهید کرد.
تنظیمات موقعیت و اندازه پنل
InpCornerX (پیشفرض: 20): فاصله افقی پنل از لبه سمت چپ نمودار را بر حسب پیکسل مشخص میکند. افزایش این مقدار پنل را به سمت راست منتقل میکند.
InpCornerY (پیشفرض: 50) : فاصله عمودی پنل از لبه بالایی نمودار را بر حسب پیکسل تعیین میکند. با افزایش این عدد، پنل به سمت پایین حرکت میکند. این پارامتر برای جلوگیری از همپوشانی پنل با سایر ابزارهای نمودار یا هدرهای دیگر مفید است.

InpPanelWidth (پیشفرض: 500) : عرض کلی پنل اطلاعاتی را بر حسب پیکسل مشخص میکند. تمام بخشهای پنل (هدر، ستونها، ردیفها و ردیف مجموع) با این عرض یکسان رسم میشوند. در صورت استفاده از فونتهای بزرگتر یا دادههای طولانی، میتوان این مقدار را افزایش داد.
تنظیمات رنگ هدر اصلی
InpHeaderBgColor (پیشفرض: C’0,120,215′ – آبی) : رنگ پسزمینه هدر بالایی پنل که عنوان “DAILY LOT TRADING STATISTICS” را نمایش میدهد. این نوار رنگی در بالاترین بخش پنل قرار دارد و توجه را به عنوان اندیکاتور جلب میکند.
InpHeaderTextColor (پیشفرض: clrWhite – سفید) : رنگ متن عنوان اصلی در هدر پنل. ترکیب پیشفرض متن سفید روی پسزمینه آبی کنتراست بالایی ایجاد میکند و خوانایی را در حالتهای مختلف نمودار (پسزمینه روشن یا تیره) تضمین مینماید.
تنظیمات رنگ سرفصل ستونها
InpColumnBgColor (پیشفرض: C’50,50,60′ – خاکستری تیره) : رنگ پسزمینه ردیف سرفصل ستونها که عناوین “Date”، “Lots”، “Orders” و “P/L ($)” را در خود جای داده است. این رنگ باید با رنگ هدر و پنل اصلی هماهنگ باشد تا سلسله مراتب بصری مناسبی ایجاد شود.
InpColumnTextColor (پیشفرض: clrLightGray – خاکستری روشن) : رنگ متن عناوین ستونها در ردیف سرفصل. این رنگ معمولاً کمی ملایمتر از رنگ دادهها انتخاب میشود تا تمایز بین سرفصل و مقادیر دادهها مشخص باشد.
تنظیمات رنگ دادهها
InpTextColor (پیشفرض: clrWhiteSmoke – سفید دودی) : رنگ پیشفرض برای نمایش تاریخ و تعداد معاملات در ردیفهای داده. توجه داشته باشید که رنگ سود و زیان توسط پارامترهای جداگانه کنترل میشود و این رنگ فقط برای ستونهای غیر عددی (تاریخ) یا خنثی کاربرد دارد. در عمل، رنگ ستون P/L توسط InpProfitColor و InpLossColor بازنویسی میشود.
InpProfitColor (پیشفرض: clrLime – سبز) : رنگ نمایش اعداد سود (مقادیر مثبت) در ستون P/L. این رنگ برای تمام ردیفهایی که مجموع سود آنها بزرگتر یا مساوی صفر است استفاده میشود و بازخورد بصری فوری از روزهای سودده ارائه میدهد.
InpLossColor (پیشفرض: clrRed – قرمز) : رنگ نمایش اعداد زیان (مقادیر منفی) در ستون P/L. ردیفهایی که مجموع سود آنها منفی است با این رنگ نمایش داده میشوند تا روزهای زیانده بلافاصله قابل تشخیص باشند.
تنظیمات رنگ ردیف مجموع
InpTotalBgColor (پیشفرض: C’60,60,70′ – خاکستری متوسط) : رنگ پسزمینه ردیف “TOTAL” که در پایین جدول قرار دارد و مجموع کل تمام معاملات تاریخچه حساب را نشان میدهد. این رنگ متمایز به جدا شدن بصری ردیف مجموع از ردیفهای دادههای روزانه کمک میکند.
InpTotalColor (پیشفرض: clrYellow – زرد) : رنگ متن ردیف مجموع در صورت سودده بودن. اگر مجموع کل سود منفی باشد، رنگ متن به طور خودکار به InpLossColor (قرمز) تغییر میکند. این رنگ زرد پیشفرض، توجه را به مهمترین ردیف جدول جلب میکند.
تنظیمات رنگ پسزمینه پنل
InpPanelBgColor (پیشفرض: C’20,25,30′ – سرمهای بسیار تیره) : رنگ پسزمینه اصلی کل پنل که پشت تمام ردیفهای داده قرار میگیرد. این رنگ تیره به عنوان بوم اصلی عمل میکند و کنتراست مناسبی با رنگهای روشن متن و ردیفهای رنگی ایجاد مینماید. برای نمودارهای با تم روشن، میتوان این رنگ را روشنتر انتخاب کرد.
تنظیمات اندازه فونت
InpHeaderFontSize (پیشفرض: 11) : اندازه قلم عنوان اصلی در هدر پنل. این فونت با استایل “Arial Bold” نمایش داده میشود و بزرگتر از فونت دادهها است تا برجستگی عنوان حفظ شود. افزایش این مقدار میتواند برای نمایشگرهای با وضوح بالا مفید باشد.
InpDataFontSize (پیشفرض: 10) : اندازه قلم برای سرفصل ستونها، ردیفهای داده و ردیف مجموع. فونت “Consolas” به دلیل عرض ثابت کاراکترها انتخاب شده تا اعداد در ستونها بهصورت منظم و تراز شده نمایش داده شوند. این ویژگی برای مقایسه چشمی سریع اعداد بسیار مهم است.






