مقدمه
هر اکسپرت یا ربات معامله گری را میتوان بر روی دادههای گذشته تست کرد. پس از انجام تست، نتایج خلاصهشده و برخی ویژگیهای کلیدی در بخش Report نمایش داده میشود. این گزارش تست ربات معاملاتی امکان مقایسه اکسپرتهای مختلف و همچنین نتایج یک اکسپرت با ورودیهای متفاوت را فراهم میکنند. هدف این مقاله توضیح نحوه خواندن گزارش تست ربات معاملاتی و تفسیر صحیح نتایج بهدستآمده است.این گزارشها معمولاً در پلتفرم MetaTrader 4 و MetaTrader 5 که توسط MetaQuotes توسعه داده شدهاند استفاده میشوند.
نمونهای از گزارش تست ربات معاملاتی
بیایید گزارش تست ربات معاملاتی زیر را بهعنوان نمونه بررسی کنیم.

توضیح فیلدها
Bars in test
این فیلد تعداد کندلهای گذشته را نشان میدهد که مدلسازی بر اساس آن انجام شده است.
Ticks modelled
این فیلد تعداد تیکهای مدلسازیشده را نشان میدهد. تعریف ساده تیک یعنی هر بار که قیمت تغییر میکند.
مثلاً:اگر قیمت EURUSD از 1.10000 به 1.10001 تغییر کند → یک Tick رخ داده است.
اگر بعداً به 1.10003 برسد → یک Tick دیگر ثبت میشود.
Modelling quality
کیفیت مدلسازی طبق فرمول زیر محاسبه میشود:
ModellingQuality = ((0.25*(StartGen-StartBar) + 0.5*(StartGenM1-StartGen) + 0.9*(HistoryTotal-StartGenM1)) / (HistoryTotal-StartBar))*100%
که در آن:
HistoryTotal: تعداد کل کندلها در تاریخچه.
StartBar:شماره کندلی که تست از آن شروع شده است.مدلسازی حداقل از کندل شماره ۱۰۱ یا کندلی که با تاریخ شروع تست هماهنگ است آغاز میشود.
StartGen:شماره کندلی که مدلسازی در تایمفریم نزدیکتر از آن شروع شده است.
StartGenM1:شماره کندلی که مدلسازی با دادههای دقیقه از آن آغاز شده است.وزندهی در این فرمول به صورت زیر است:
- فاصله بین شروع مدلسازی در دیتابیسهای تایمفریم بالاتر و شروع مدلسازی در تایمفریم نزدیکتر دارای ضریب 25 است.
- فاصله بین شروع مدلسازی در تایمفریم نزدیکتر و شروع مدلسازی در تایمفریم دقیقه دارای ضریب 5 است.
- فاصله بین شروع مدلسازی در تایمفریم دقیقه و انتهای تاریخچه دارای ضریب 9 است.
Gross profit:مجموع سود تمامی معاملات سودده.
Gross loss:مجموع زیان تمامی معاملات زیانده.
Total net profit:تفاوت بین سود کل و زیان کل:
TotalNetProfit = GrossProfit – GrossLoss
Profit factor:نسبت سود کل به زیان کل:
ProfitFactor = GrossProfit / GrossLoss
Expected payoff
امید ریاضی هر معامله و به صورت زیر محاسبه میشود:
Expected Payoff = (ProfitTrades / TotalTrades) * (GrossProfit / ProfitTrades) – (LossTrades / TotalTrades) *(GrossLoss / LossTrades)
که در آن:
TotalTrades: تعداد کل معاملات.
ProfitTrades:تعداد معاملات سودده.
LossTrades:تعداد معاملات زیانده.
GrossProfit: مجموع سود.
GrossLoss: مجموع زیان.
Absolute drawdown: اختلاف بین سرمایه اولیه و کمترین مقدار بالانس در طول تست:
AbsoluteDrawDown = InitialDeposit – MinimalBalance
Maximal drawdown: بیشترین اختلاف بین یکی از سقفهای محلی نمودار بالانس و کف بعدی آن:
MaximalDrawDown = Max of (Maximal Peak – next Minimal Peak)
مراحل اصلی تغییر مقدار Maximal drawdown در طول تست در نمودار نشان داده میشود.

Maximal drawdown percentage: درصد افت سرمایه نسبت به سقف قبلی:
MaxDrawDown % = MaxDrawDown / its MaxPeak * 100%
سایر نتایج در بخش Report بقیه نتایج با محاسبات ساده ریاضی بهدست میآیند.
Total trades: تعداد کل معاملات انجامشده توسط اکسپرت در تست.
Short positions (won %): تعداد معاملات فروش و درصد معاملات سودده از بین آنها:
(profitable short positions / total short positions) * 100%
Long positions (won %):تعداد معاملات خرید و درصد معاملات سودده:
(profitable long positions / total long positions) * 100%
Profit trades (% of total): تعداد معاملات سودده و درصد آنها از کل معاملات:
ProfitTrades / TotalTrades * 100%
Loss trades (% of total): تعداد معاملات زیانده و درصد آنها:
LossTrades / TotalTrades * 100%
Largest profit trade: بیشترین سود در یک معامله.
Largest loss trade: بیشترین زیان در یک معامله.
Average profit trade: میانگین سود معاملات:
GrossProfit / ProfitTrades
Average loss trade:میانگین زیان معاملات:
GrossLoss / LossTrades
Maximum consecutive wins (profit in money): بیشترین تعداد برد متوالی و مجموع سود آنها.
Maximum consecutive losses (loss in money):بیشترین تعداد باخت متوالی و مجموع زیان آنها.
Maximal consecutive profit (count of wins):بیشترین سود در یک سری برد متوالی و تعداد معاملات آن.
Maximal consecutive loss (count of losses):بیشترین زیان در یک سری باخت متوالی و تعداد معاملات آن.
Average consecutive wins:میانگین تعداد بردهای متوالی.
Average consecutive losses:میانگین تعداد باختهای متوالی.
رنگهای استفادهشده در نمودار کیفیت مدلسازی
Lime: مدلسازی بر اساس دادههای دقیقه (M1).
سبز تیره: مدلسازی در تایمفریمهای بزرگتر از M5 تا H4.
Pink: مدلسازی فراکتالی خالص بدون داده تایمفریم کوچکتر.
Gray: محدودیت مدلسازی بر اساس تاریخ.

مثال محاسبه کیفیت مدلسازی.در مثال ارائهشده:
Bars in test = 4190
StartBar = 2371
StartGen (H4) = 3042
Start H1 = 3355
Start M30 = 3841
Start M15 = 3891
Start M5 = 0
Start M1 = 3917
با جایگذاری در فرمول:
ModellingQuality = ((0.25*(StartGen-StartBar) + 0.5*(StartGenM1-StartGen) + 0.9*(HistoryTotal-StartGenM1)) / (HistoryTotal-StartBar))
46.78 % = ( (0.25 * (3042-2371) + 0.5 * ( 3917 – 2371 ) + 0.9 * ( 4190 – 3917 ) ) / ( 4190 – 3917 ))
