این اکسپرت یک ربات معاملاتی چندمنظوره و انعطافپذیر است که میتواند با ترکیبی از چهار استراتژی تحلیلی مختلف کار کند: مومنتوم مبتنی بر تیکهای سریع (HFT)، الگوی کندلاستیک انگالفینگ، برگشت RSI از نواحی اشباع خرید/فروش، و تقاطع قیمت با میانگین متحرک EMA. کاربر میتواند از میان این استراتژیها یکی را انتخاب کرده و همچنین نحوه ورود به معامله را از بین سفارش بازار (Market)، سفارش محدود (Limit) یا سفارش توقف (Stop) تعیین کند. این ربات به گونهای طراحی شده که در صورت دریافت سیگنال مخالف با موقعیت فعلی، ابتدا معامله باز را بسته و سپس در جهت جدید وارد شود (منطق برگشت یا Reversal).
یکی از ویژگیهای برجسته این اکسپرت، سیستم مارتینگل پیشرفته آن است که از سه حالت مختلف پشتیبانی میکند: ضرب ساده در یک ضریب (Classic)، ضرب در ضریب بهاضافه لات اولیه، و جمع شدن لات اولیه با حجم معامله قبلی. پس از هر معامله بازنده، حجم معامله بعدی طبق فرمول مارتینگل افزایش مییابد و پس از یک معامله برنده یا رسیدن به سقف تعداد معاملات مجاز در هر دور، چرخه از نو شروع میشود. همچنین یک سیستم تریلینگ استاپ نیز تعبیه شده که هم بر اساس پوینت و هم بر اساس میزان سود دلاری میتواند حد ضرر را پشت قیمت جابهجا کند. اندازه لات اولیه نیز بهصورت پویا و بر اساس درصد ریسک از بالانس حساب یا بهصورت ثابت قابل تنظیم است.
بخش مدیریت ریسک روزانه این ربات بسیار قدرتمند عمل میکند و دو لایه محافظتی دارد: محدودیت سود روزانه (Daily Profit Limit) و محدودیت ضرر روزانه (Drawdown Protection) که هر دو بر اساس بالانس شروع روز محاسبه میشوند. بهمحض رسیدن سود یا ضرر شناور به سقف تعیینشده، ربات تمام معاملات باز را بسته، سفارشهای معلق را حذف کرده و برای باقی روز معاملاتی کاملاً غیرفعال میشود. زمان محاسبه و ریست شدن این محدودیتها میتواند بر اساس ساعت سرور بروکر یا یک بازه زمانی UTC دلخواه تنظیم شود. همچنین فیلتر سشنهای معاملاتی بهصورت روزانه و ساعتی با قابلیت تعریف چندین بازه در هر روز وجود دارد که میتواند در پایان هر سشن تمام معاملات را ببندد. یک دوره خنکسازی (Cooldown) پس از بسته شدن هر معامله نیز قابل تنظیم است تا از ورودهای هیجانی و پشتسرهم جلوگیری شود. در مجموع، این اکسپرت یک ابزار کامل با تمرکز بر مدیریت سرمایه، انعطافپذیری استراتژی و محافظت از حساب در برابر ضررهای سنگین است.

بررسی بک تست ربات Martingale Pulse EA
خلاصه عملکرد و سوددهی
ربات معاملاتی بر روی یک نماد (Symbols: 1) و در بازهای با کیفیت تاریخچه ۱۰۰ درصد اجرا شده است. در طی این تست، بیش از ۱۲,۷۰۰ معامله انجام داده که نشاندهنده فرکانس معاملاتی بسیار بالایی است. با این حال، نتیجه نهایی خالص، یک زیان ۱,۰۹۱.۵۲- واحدی بوده است. سود ناخالص قابل توجه ۴۶۸,۲۰۶.۷۳ واحدی تقریباً به طور کامل توسط زیان ناخالص ۴۶۹,۲۹۸.۲۵- واحدی خنثی شده است. ضریب سود (Profit Factor) دقیقاً ۱.۰۰ است که مرز بیتفاوتی میان سود و زیان را نشان میدهد و تأیید میکند که استراتژی پس از کسر هزینهها (احتمالاً اسپرد یا کمیسیون) در نهایت زیانده بوده است. بازده مورد انتظار (Expected Payoff) نیز اندک و منفی (۰.۰۹-) است که به ازای هر معامله، یک زیان کوچک را پیشبینی میکند. نسبت شارپ (Sharpe Ratio) منفی ۰.۵۱- نیز عملکرد ضعیف استراتژی در قبال ریسک را نشان میدهد.

ریسک و افت سرمایه
سطح ریسک این استراتژی به شدت بالا و نگرانکننده است. حداکثر افت سرمایه هم در تراز (Balance) و هم در حقوق صاحبان سهام (Equity) به ترتیب به ارقام بسیار بالای ۳۷,۱۰۸.۶۰ و ۳۷,۱۸۷.۸۰ واحد رسیده است. این اعداد معادل حدود ۸۲ درصد کاهش نسبت به اوج سرمایه هستند. چنین افت سرمایه عظیمی عملاً حساب معاملاتی را نابود میکند و هیچ سیستم مدیریت سرمایه منطقی آن را تحمل نخواهد کرد. مقدار فاکتور بازیابی (Recovery Factor) برابر با ۰.۰۳- است که نشان میدهد استراتژی نهتنها نتوانسته از افت سرمایه قبلی خود بازیابی کند، بلکه در ضرر بیشتری فرو رفته است. سطح مارجین (Margin Level) حدود ۱۱۰ درصد نیز اگرچه هنوز به سطح کال مارجین نرسیده، اما بسیار پایین و در محدوده خطرناکی قرار دارد.


تحلیل آماری معاملات
تعداد کل معاملات (۱۲,۷۰۷) تقریباً به طور مساوی بین پوزیشنهای خرید (Long) و فروش (Short) تقسیم شده است و نرخ برد در هر دو سمت پایین و حدود ۴۵-۴۶ درصد است. این نرخ برد پایینتر از ۵۰ درصد، یکی از دلایل اصلی زیاندهی کلی است. نکته قابل توجه این است که میانگین سود در معاملات برنده (۸۰.۳۲) بیشتر از میانگین ضرر در معاملات بازنده (۶۶.۹۹-) است، که نسبت میانگین سود به زیان مطلوبی (حدود ۱.۲) ایجاد کرده است. با این حال، ترکیب این نسبت با نرخ برد پایین ۴۵.۸۷ درصدی، یک سیستم با “احتمال برد پایین و نسبت ریسک به ریوارد بالا” را نشان میدهد که در نهایت به سوددهی منجر نشده است. بزرگترین سود و ضرر منفرد تقریباً هماندازه و در حدود ۳,۳۰۰ واحد هستند.

الگوهای زمانی و رفتاری
بر اساس نمودارهای ارائه شده، به نظر میرسد ربات در تمام ساعات شبانهروز (Asia, Europe, USA) و تمام روزهای هفته فعال است و فعالیت آن تقریباً به صورت یکنواخت توزیع شده، اگرچه حجم معاملات در روزهای یکشنبه و شنبه اندکی کمتر است. بررسی بصری نمودار سود (Profit) روند نزولی پلکانی و فرسایشی سرمایه را نشان میدهد. یک Z-Score بسیار منفی (۸.۱۹-) با سطح اطمینان آماری بالای ۹۹.۷۴ درصد، وجود وابستگی و روند قوی در توالی معاملات برنده و بازنده را تأیید میکند. این بدان معناست که ضررها و سودها به صورت تصادفی رخ نمیدهند و احتمالاً پشت سر هم در خوشههایی ظاهر میشوند. حداکثر تعداد برد و باخت متوالی ۱۷ عدد بوده که نشاندهنده نوسانات ذاتی این استراتژی است.
توضیحات شیوه عملکرد و چگونگی تنظیمات ربات Martingale Pulse EA
استراتژی اصلی معاملاتی (Core Trading Strategy)
این بخش تعیین میکند که ربات بر اساس چه منطقی سیگنال خرید یا فروش صادر کند. InpPriceActionType نوع استراتژی تحلیل قیمت را مشخص میکند که میتواند یکی از چهار حالتِ مومنتوم مبتنی بر تیک (HFT)، الگوی کندلاستیک انگالفینگ، برگشت RSI از نواحی اشباع، یا تقاطع کندل با میانگین متحرک EMA باشد. InpEntryStrategy نحوه ورود به معامله را تعیین میکند: سفارش بازار (Market) که بلافاصله اجرا میشود، سفارش توقف (Stop) که بالاتر/پایینتر از قیمت فعلی قرار میگیرد، یا سفارش محدود (Limit) که پایینتر/بالاتر از قیمت فعلی منتظر میماند. InpPendingOrderDistancePoints فاصله سفارشهای معلق از قیمت لحظهای را بر حسب پوینت مشخص میکند. InpPendingUpdateInterval مشخص میکند که سفارشهای معلق هر چند ثانیه یکبار با قیمت جدید بهروزرسانی شوند. InpTradeCooldownSeconds یک دوره خنکسازی اجباری (بر حسب ثانیه) پس از بسته شدن هر معامله ایجاد میکند تا از ورودهای پشتسرهم و هیجانی جلوگیری شود.
تنظیمات اندیکاتورها (Indicator Settings)
در این گروه پارامترهای مربوط به چهار استراتژی تحلیلی تنظیم میشود. InpChartTimeframe تایمفریم محاسبه اندیکاتورها را مشخص میکند (پیشفرض: تایمفریم جاری نمودار). InpTickMomentumCount تعداد تیکهای متوالی همجهت را برای تأیید مومنتوم در استراتژی HFT تعیین میکند. InpEmaPeriod دوره میانگین متحرک برای استراتژی تقاطع EMA را مشخص میسازد. InpRsiPeriod، InpRsiOverbought و InpRsiOversold بهترتیب دوره RSI و سطوح اشباع خرید (مثلاً ۷۰) و اشباع فروش (مثلاً ۳۰) را برای استراتژی برگشت RSI تعریف میکنند.
اندازه لات و سیستم مارتینگل (Lot Sizing & Martingale)
این بخش مدیریت سرمایه و افزایش حجم را کنترل میکند. InpLotSizeMode مشخص میکند که حجم اولیه معاملات بهصورت ثابت (InpFixedInitialLot) باشد یا بر اساس درصد ریسک از بالانس حساب (InpRiskPercentage) بهصورت پویا محاسبه شود. InpMartingaleType نوع مارتینگل را در سه حالت تعریف میکند: ضرب ساده (Classic)، ضرب در ضریب بهاضافه لات اولیه، و جمع شدن با لات اولیه. InpMartingaleMultiplier ضریب افزایش حجم پس از هر ضرر را تعیین میکند (مثلاً ۲ یعنی حجم دو برابر شود). InpMaxOrdersPerRound حداکثر تعداد معاملات مجاز در یک چرخه مارتینگل را محدود میکند تا از رشد بیرویه حجم جلوگیری شود. InpMaxLotSize سقف مطلق حجم معاملات را بدون توجه به محاسبات مارتینگل مشخص میکند.
مدیریت معامله (Trade Management)
پارامترهای حد سود، حد ضرر و تریلینگ استاپ در این بخش قرار دارند. InpStopLossPoints فاصله حد ضرر از قیمت ورود را بر حسب پوینت تعیین میکند. InpRiskRewardRatio نسبت ریسک به ریوارد (سود به ضرر) را مشخص میسازد؛ مثلاً مقدار ۲ یعنی حد سود دو برابر حد ضرر خواهد بود. InpEnableTrailingStop تریلینگ استاپ را فعال یا غیرفعال میکند. InpTrailingStopType واحد محاسبه تریلینگ را بین «پوینت» و «ارز سپرده» (دلار) انتخاب میکند. InpTrailingStartPoints و InpTrailingStopPoints (یا معادل دلاری آنها: InpTrailingStartMoney و InpTrailingStopMoney) بهترتیب میزان سودی که با رسیدن به آن تریلینگ فعال میشود و فاصله حد ضرر متحرک از قیمت لحظهای را مشخص میکنند.
مدیریت زمان و سشنهای معاملاتی (Time & Session Management)
ربات میتواند فقط در ساعات مشخصی از هر روز معامله کند. InpEnableTradingSessions فعال یا غیرفعال بودن فیلتر سشن را کنترل میکند (اگر false باشد، ۲۴ ساعته معامله میکند). InpCloseAtSessionEnd تعیین میکند که آیا همه معاملات باز در پایان سشن بسته شوند یا خیر. برای هر روز هفته یک فیلد جداگانه وجود دارد (از InpMondayTimes تا InpSundayTimes) که میتوان یک یا چند بازه زمانی در قالب “HH:MM-HH:MM” و با جداکننده نقطهویرگول تعریف کرد. مقدار “00:00-00:00” به معنی غیرفعال بودن معاملات در آن روز است.
مدیریت ریسک روزانه (Daily Risk Management)
این گروه دو لایه محافظتی کلیدی دارد. InpEnableDailyProfitLimit و InpDailyProfitLimitAmount مشخص میکنند که اگر سود حساب از ابتدای روز به حد مشخصی (بر حسب ارز سپرده) برسد، تمام معاملات بسته شده و ربات تا روز بعد غیرفعال شود. InpEnableDrawdown حفاظت در برابر افت سرمایه را فعال میکند. InpDrawdownType تعیین میکند که این افت بهصورت مبلغ ثابت (InpDrawdownFixedAmount) محاسبه شود یا درصدی از بالانس شروع روز (InpDrawdownPercentage). InpDrawdownTimeMode زمان ریست شدن محدودیتهای روزانه را مشخص میکند: یا بر اساس ساعت سرور بروکر (ریست در نیمهشب) یا بر اساس یک بازه UTC دلخواه (InpDrawdownStartTimeUTC و InpDrawdownEndTimeUTC). اگر ضرر شناور حساب از ابتدای روز به حد مجاز برسد، ربات بلافاصله همه چیز را میبندد و متوقف میشود.
شناسایی ربات (EA Identification)
تنها یک پارامتر ساده در این بخش وجود دارد: InpMagicNumber که یک عدد یکتاست و به تمام سفارشهای بازشده توسط این ربات اختصاص مییابد. این عدد برای تمایز معاملات این اکسپرت از سایر رباتها یا معاملات دستی در حساب معاملاتی استفاده میشود و مقدار پیشفرض آن ۱۰۵۰۹۱ است.






