این اکسپرت یک سیستم اسکالپینگ مارتینگل است که بر اساس شکست سطوح کلیدی قیمتی و تأیید اندیکاتورها، پوزیشنهای متوالی در جهت روند باز میکند. هسته اصلی استراتژی بر مبنای شناسایی محدوده نوسان از کندلهای گذشته (به تعداد `Glubina`) بنا شده است: هر بار که قیمت به اندازه فاصله بین سقف و کف این محدوده (حداقل `InpDefaultPips`) از آخرین پوزیشن باز فاصله میگیرد، یک معامله جدید در همان جهت باز میشود. این فاصله به صورت داینامیک بر اساس نوسانات اخیر محاسبه میشود و به همین دلیل، گام شبکه متناسب با شرایط بازار تغییر میکند. هر پوزیشن جدید با حجم تصاعدی طبق ضریب `LotExponent` باز میشود تا با میانگینگیری در قیمتهای بهتر، زیانهای شناور را سریعتر جبران کند.
فیلتر ورود به اولین معامله و تعیین جهت اولیه، بر اساس مقایسه دو کندل اخیر و تأیید اندیکاتور RSI (در تایمفریم یک ساعته) انجام میشود. اگر کندل قبلی بزرگتر از کندل فعلی باشد (فشار فروش)، در صورت بالاتر بودن RSI از `RSI_min`، یک پوزیشن Sell باز میکند. در غیر این صورت اگر RSI پایینتر از `RSI_max` باشد، پوزیشن Buy باز میشود. این مکانیزم تضمین میکند که ربات در جهت مومنتوم حرکت کرده و در نواحی اشباع خلاف جهت معامله نکند. پس از باز شدن اولین پوزیشن، جهت معاملات بعدی قفل میشود و تمام سفارشات بعدی همراستا با آن (فروش یا خرید متوالی) ثبت میگردند.
مدیریت سبد معاملات باز کاملاً متمرکز و بر اساس قیمت میانگین موزون همه پوزیشنها انجام میشود. تابع `CalculationAveragePrice` قیمت میانگین کل سبد را محاسبه کرده و سپس این قیمت به عنوان مرجع برای تنظیم حد سود و حد ضرر مشترک تمام پوزیشنها قرار میگیرد. حد سود (`InpTakeProfit`) به صورت یکپارچه و به فاصله ثابت از این میانگین برای کل سبد تنظیم میشود و حد ضرر (`InpStoploss`) نیز دقیقاً در فاصله معکوس آن قرار میگیرد. با این روش، ربات به محض اینکه مجموع سود سبد به حد مطلوب برسد، تمام پوزیشنها را یکجا میبندد. همچنین یک قابلیت تریلینگ استاپ اختیاری (`UseTrailingStop`) وجود دارد که حد ضرر کل سبد را بر اساس گام `InpTrailStep` به دنبال قیمت میانگین حرکت میدهد.
لایههای حفاظتی متعددی برای کنترل ریسک در این اکسپرت تعبیه شده است. مهمترین آنها محدودیت تعداد معاملات (`MaxTrades`) است که از رشد بیرویه شبکه مارتینگل جلوگیری میکند. یک فیلتر CCI (در تایمفریم ۱۵ دقیقه) نیز وجود دارد که اگر مقدار آن از `CCI_Drop` فراتر رود، تمام پوزیشنهای خلاف جهت جدید را فوراً میبندد. علاوه بر این، دو مکانیزم اضطراری دیگر نیز تعبیه شده: یکی حد زیان شناور بر اساس درصدی از اکوئیتی (`TotalEquityRisk`) که در صورت فعال بودن `UseEquityStop`، تمام معاملات را در زیانهای سنگین میبندد، و دیگری یک تایماوت (`MaxTradeOpenHours`) که اگر معاملهای بیش از حد مجاز باز بماند، به صورت خودکار بسته خواهد شد.

بررسی نتایج بک تست ربات Angry Bird Scalper
خلاصه عملکرد کلی (Overall Performance)
این اکسپرت در طول دوره تست با سرمایه اولیه ۱۰۰,۰۰۰ دلار و اهرم ۱:۱۰۰، موفق به کسب سود خالص ۲۲,۵۱۲.۴۴ دلار (معادل ۲۲.۵۱٪ بازدهی) شده است. فاکتور سود (Profit Factor) بسیار خوب ۴.۴۰ نشان میدهد که سود ناخالص تقریباً ۴.۴ برابر زیان ناخالص بوده است. نسبت شارپ (Sharpe Ratio) معادل ۱.۸۸ نیز بیانگر بازدهی مناسب در برابر ریسک است. رشد منحنی سرمایه روندی صعودی و نسبتاً هموار داشته که ضریب همبستگی خطی رگرسیون ۰.۹۳ آن را تأیید میکند. با این حال، حداکثر افت سرمایه (Equity Drawdown Maximal) به ۱۲.۸۴٪ رسیده که با وجود قابل بازیابی بودن، رقمی نسبتاً بالا محسوب میشود.

آمار معاملات و نرخ موفقیت (Trade Statistics)
در مجموع ۵۹۹ معامله انجام شده که از این تعداد ۴۲۸ معامله (۷۱.۴۵٪) با سود بسته شدهاند. میانگین سود هر معامله (Expected Payoff) برابر ۳۷.۵۸ دلار است. جالب اینجاست که نسبت معاملات خرید بسیار کمتر از فروش است (۱۰۶ خرید در مقابل ۴۹۳ فروش) اما نرخ موفقیت معاملات خرید (۸۱.۱۳٪) به طور قابل توجهی بالاتر از فروش (۶۹.۳۷٪) میباشد. این امر نشاندهنده تمایل ذاتی استراتژی به جهت فروش اما دقت بالاتر در تشخیص نقاط بازگشت برای خرید است.
- تعداد کل معاملات: ۵۹۹
- معاملات سودده: ۴۲۸ (۷۱.۴۵٪)
- معاملات زیانده: ۱۷۱ (۲۸.۵۵٪)
- میانگین مدت زمان معاملات: ۱۳ ساعت و ۱۹ دقیقه
- بزرگترین سود متوالی (تعداد): ۲۹ معامله (۱۱۳.۹۵ دلار)
- بزرگترین زیان متوالی (تعداد): ۱۳ معامله (۲,۶۳۱.۸۶- دلار)
- بیشترین سود تجمعی متوالی: ۹,۸۰۹.۶۰ دلار در ۳ معامله
- بیشترین زیان تجمعی متوالی: ۲,۶۳۱.۸۶- دلار در ۱۳ معامله


تحلیل استراتژی مارتینگل و مدیریت ریسک (Martingale & Risk Analysis)
بررسی لیست سفارشات به وضوح ماهیت مارتینگل اکسپرت را با ضریب ۱.۶۲ نشان میدهد. در چندین نوبت، حجم معاملات از ۰.۰۱ لات شروع شده و به سرعت به سطوح بسیار بالایی رسیده است. نمونه بارز آن در تاریخ ۲۰ ژانویه ۲۰۲۶ است که یک سری معاملات فروش (Sell) با حجم ۰.۰۱ شروع و پس از ۱۲ مرحله به ۲.۰۲ لات رسید. این روند مارتینگل باعث شد که حساب بیش از ۱۰۰٬۰۰۰ دلار ضرر شناور را تجربه کند (از بالانس ۱۰۱٬۱۴۳ به ۹۸٬۷۵۶ دلار) اما در نهایت با بازگشت قیمت، با سود قابل توجهی بسته شد. این اتفاق مشابهی در تاریخهای ۲۶ ژانویه (با رسیدن حجم به ۱۳.۸۹ لات) و ۸ آوریل (با رسیدن حجم به ۸.۵۷ لات) نیز تکرار شده است. این رفتار اگرچه در نهایت سودآور بوده، اما ریسک فراخوان مارجین (Margin Call) را به وضوح نشان میدهد، زیرا در این مقاطع نسبت مارجین (Margin Level) به ۲۰۵٪ کاهش یافته است.
تحلیل ضرایب همبستگی و زمانبندی معاملات (Correlation & Timing)
ضرایب همبستگی اطلاعات جالبی ارائه میدهند. همبستگی بالای ۰.۹۸ بین سود نهایی و حداکثر سود شناور مطلوب (MFE) نشاندهنده کارایی بالای سیستم در رسیدن به اهداف سود است. با این حال، همبستگی منفی ۰.۴۱- بین سود و حداکثر زیان شناور نامطلوب (MAE) نشان میدهد که معاملات با زیان شناور بالاتر، در نهایت با سود کمتری بسته شدهاند یا حتی زیانده بودهاند. همچنین، میانگین زمان نگهداری معاملات ۱۳ ساعت و ۱۹ دقیقه است اما پراکندگی بسیار بالاست؛ برخی معاملات تنها ۲ دقیقه و ۳۱ ثانیه طول کشیدهاند در حالی که طولانیترین آنها بیش از ۸۸ ساعت باز بودهاند. این موضوع نشان میدهد که استراتژی هم از نوسانات کوتاهمدت و هم از موقعیتهای میانمدت برای بستن سبد معاملات با سود استفاده میکند.

اکسپرت Angry Bird یک استراتژی اسکالپینگ-مارتینگل با نرخ موفقیت بالا و توانایی خروج موفق از موقعیتهای زیانده از طریق میانگینگیری است. فاکتور سود ۴.۴۰ و نسبت شارپ ۱.۸۸ نشاندهنده عملکرد تاریخی بسیار قوی است. با این حال، این سیستم به شدت به مدیریت سرمایه دقیق و سرمایه اولیه کافی وابسته است، زیرا در چند نوبت با افزایش تصاعدی حجم تا ۱۳.۸۹ لات، حساب را با افت شناور قابل توجه (Drawdown 12.84٪) مواجه کرده است. حیاتیترین پارامترهای ریسک، MaxTrades (که در این تست روی ۵۰۰ تنظیم شده و عملاً محدودیتی ایجاد نکرده) و LotExponent (۱.۶۲) هستند که با مقادیر انتخابشده، مرز باریکی بین سودآوری و کال مارجن ایجاد میکنند. کاهش LotExponent یا محدود کردن MaxTrades به زیر ۱۰ میتواند ریسک را به طور قابل ملاحظهای کاهش دهد اما به همان نسبت سودآوری را نیز کم میکند. این اکسپرت صرفاً برای معاملهگرانی با تحمل ریسک بالا و سرمایه کلان مناسب است.
تنظیمات ربات معامله گر Angry Bird Scalper
حد ضرر و تریلینگ استاپ
این بخش مدیریت خروج از معاملات سبد را بر عهده دارد. حد ضرر ثابت (InpStoploss) در فاصله مشخصی از قیمت میانگین وزنی همه پوزیشنهای باز قرار میگیرد تا در صورت برگشت شدید بازار، کل سبد یکجا بسته شود. مکانیزم تریلینگ استاپ نیز پس از رسیدن سود کل به InpMinProfitPoint فعال شده و با گامهای InpTrailStep حد ضرر را به دنبال قیمت حرکت میدهد تا سود کسبشده قفل شود.
مدیریت حجم و شبکه مارتینگل
هسته اصلی استراتژی افزایش حجم تصاعدی در این بخش تنظیم میشود. هر پوزیشن جدید با حجمی معادل حجم قبلی ضربدر LotExponent باز میشود تا میانگینگیری در قیمتهای بهتر با قدرت بیشتری انجام گیرد. فاصله بین این پوزیشنها به صورت داینامیک از نوسانات Glubina کندل اخیر محاسبه میشود، اما همواره بین حداقل InpDefaultPips و حداکثر InpDefaultPips * DEL محدود میماند. MaxTrades نیز سقف تعداد معاملات را تعیین کرده و از رشد بیرویه شبکه جلوگیری میکند.
اهداف سود و تأیید اندیکاتورها
این گروه پارامترهای خروج سودآور و فیلترهای ورود را مشخص میکند. InpTakeProfit حد سود یکپارچه کل سبد را تعیین میکند و با رسیدن قیمت به این فاصله از میانگین، تمام پوزیشنها بسته میشوند. CCI_Drop نیز یک فیلتر اضطراری قدرتمند است: اگر CCI از این آستانه عبور کند و معاملات در جهت مخالف آن باشند، کل سبد فوراً بسته میشود. همچنین اندیکاتور RSI با مرزهای RSI_min و RSI_max جهت اولین معامله را تأیید میکند و از ورود در نواحی اشباع جلوگیری مینماید.
مدیریت ریسک و حفاظت سرمایه
لایههای حفاظتی نهایی در این بخش قرار دارند. با فعالسازی UseEquityStop، اگر مجموع زیان شناور سبد از TotalEquityRisk درصد اکوئیتی حساب فراتر رود، تمام معاملات بلافاصله بسته میشوند تا از کال مارجن جلوگیری شود. MaxTradeOpenHours نیز یک تایماوت اضطراری است که معاملات باز مانده بیش از این زمان را به صورت خودکار میبندد و از قفل شدن سرمایه در بازارهای رنج جلوگیری میکند. UseTrailingStop هم قابلیت تریلینگ کل سبد را فعال یا غیرفعال میسازد.
شناسایی و تنظیمات عمومی
تنها پارامتر این بخش، m_magic یا شماره جادویی است. این عدد یک شناسه منحصربهفرد برای اکسپرت ایجاد میکند تا تمام سفارشات و پوزیشنهای باز شده توسط آن از سایر معاملات دستی یا رباتهای دیگر متمایز شوند و در محاسبات سود، زیان و مدیریت سبد تداخلی پیش نیاید.

حد ضرر و تریلینگ استاپ (Breakeven & Trailing)
- InpStoploss — حد ضرر ثابت مشترک برای کل سبد معاملات که بر حسب پوینت از قیمت میانگین وزنی پوزیشنها محاسبه و تنظیم میشود. این فاصله به صورت خودکار برای بروکرهای ۳ یا ۵ رقمی تنظیم میگردد.
- InpMinProfitPoint — حداقل سود بر حسب پوینت برای فعالسازی تریلینگ استاپ سبد معاملات. تا زمانی که سود کل سبد به این مقدار نرسد، حد ضرر متحرک عمل نخواهد کرد.
- InpTrailStep — گام حرکت حد ضرر متحرک بر حسب پوینت که پس از فعال شدن تریلینگ، حد ضرر سبد را به دنبال قیمت میانگین جابهجا میکند.
مدیریت حجم و شبکه مارتینگل (Martingale & Grid)
- LotExponent — ضریب تصاعدی حجم برای معاملات بعدی در شبکه مارتینگل. هر پوزیشن جدید با حجمی برابر با حجم قبلی ضربدر این عدد باز میشود تا میانگینگیری در قیمتهای بهتر با قدرت بیشتری انجام شود.
- Lots — حجم لات شروع برای اولین معامله که به عنوان پایه ضریب مارتینگل استفاده میشود و معاملات بعدی بر اساس آن و
LotExponentمحاسبه میگردند. - lotdecimal — تعداد ارقام اعشار برای گرد کردن حجم لات: ۰ برای استاندارد (۱.۰)، ۱ برای مینی (۰.۱) و ۲ برای میکرو (۰.۰۱).
- InpDefaultPips — حداقل فاصله بین معاملات متوالی شبکه بر حسب پوینت. اگر فاصله داینامیک محاسبهشده از نوسانات بازار کمتر از این مقدار باشد، این حداقل جایگزین میشود.
- Glubina — تعداد کندلهای گذشته برای اسکن و یافتن بالاترین سقف و پایینترین کف که مبنای محاسبه فاصله داینامیک بین معاملات قرار میگیرد.
- DEL — ضریب محدودکننده حداکثر فاصله مجاز بین معاملات. فاصله داینامیک محاسبهشده نمیتواند از
InpDefaultPips * DELبیشتر باشد. - MaxTrades — حداکثر تعداد معاملات باز همزمان که از گسترش بیرویه شبکه مارتینگل جلوگیری میکند و ریسک را کنترل مینماید.
اهداف سود و تأیید اندیکاتورها (Profit Target & Indicators)
- InpTakeProfit — حد سود مشترک برای کل سبد معاملات بر حسب پوینت که از قیمت میانگین وزنی تمام پوزیشنها محاسبه میشود و با رسیدن قیمت به این هدف، همه معاملات یکجا بسته میشوند.
- InpSlippage — حداکثر لغزش مجاز بر حسب پوینت برای اجرای سفارشات بازار که در شرایط پرنوسان از معامله با قیمتهای نامطلوب جلوگیری میکند.
- CCI_Drop — آستانه اندیکاتور CCI برای بستن اضطراری معاملات. اگر CCI از این مقدار فراتر رود و معاملات خلاف جهت آن باشند، تمام پوزیشنها فوراً بسته میشوند.
- RSI_min — مرز پایین اندیکاتور RSI برای تأیید ورود به معامله فروش. فقط زمانی پوزیشن Sell باز میشود که RSI بالاتر از این مقدار باشد.
- RSI_max — مرز بالای اندیکاتور RSI برای تأیید ورود به معامله خرید. فقط زمانی پوزیشن Buy باز میشود که RSI پایینتر از این مقدار باشد.
مدیریت ریسک و حفاظت سرمایه (Risk Management)
- UseEquityStop — فعالسازی حد ضرر اضطراری بر اساس اکوئیتی حساب. با فعال شدن این گزینه، اگر مجموع زیان شناور به درصد مشخصی از اکوئیتی برسد، تمام معاملات بسته میشوند.
- TotalEquityRisk — حداکثر درصد مجاز زیان شناور از کل اکوئیتی که در صورت فعال بودن
UseEquityStop، تمام پوزیشنها را میبندد. - UseTrailingStop — فعالسازی قابلیت تریلینگ استاپ برای کل سبد معاملات بر اساس قیمت میانگین وزنی.
- MaxTradeOpenHours — حداکثر زمان مجاز باز ماندن معاملات بر حسب ساعت. معاملاتی که بیش از این مدت باز بمانند، به صورت خودکار بسته میشوند.
شناسایی و تنظیمات عمومی (General Settings)
- m_magic — شماره جادویی (Magic Number) اختصاصی برای شناسایی تمام سفارشات و پوزیشنهای باز شده توسط این اکسپرت و تمایز آنها از سایر معاملات.





