منطق اصلی ورود به معامله
این اکسپرت صرفاً بر اساس اندیکاتور استوکاستیک (Stochastic) و تقاطع آن با سطوح آستانه اشباع خرید و فروش تصمیمگیری میکند. سیگنال خرید زمانی صادر میشود که خط اصلی استوکاستیک (با تنظیمات K=5، D=3 و Slowing=3) از پایین سطح ۲۰ (اشباع فروش) به بالای آن عبور کند، که نشاندهنده خروج قیمت از شرایط oversold و احتمال آغاز یک حرکت صعودی است. برعکس، سیگنال فروش هنگامی فعال میشود که استوکاستیک از بالای سطح ۸۰ (اشباع خرید) به پایین آن سقوط کند، یعنی قیمت از ناحیه overbought خارج شده و آماده نزول است. ورود تنها در صورتی انجام میشود که هیچ معامله بازی روی سیمبول جاری وجود نداشته باشد و گزینه TradeEnabled روی true تنظیم شده باشد. این محدودیت «فقط یک معامله در هر زمان» ریسک را به شدت کنترل میکند.
سیستم خروج از معامله
اکسپرت از سه مکانیزم خروج به صورت همزمان استفاده میکند. مکانیزم اول، حد ضرر و حد سود ثابت است که در هر معامله بلافاصله پس از ورود تنظیم میشوند (پیشفرض ۱۰۰ پیپ برای هر دو). مکانیزم دوم که وجه تمایز این ربات است، خروج بر اساس خود استوکاستیک میباشد: اگر یک معامله خرید باز باشد و استوکاستیک به بالای سطح ۸۰ برسد (ورود به اشباع خرید)، معامله خرید بلافاصله بسته میشود. همین منطق برای فروش نیز برقرار است؛ اگر استوکاستیک به زیر سطح ۲۰ سقوط کند (اشباع فروش)، معامله فروش بسته میشود. این ویژگی هوشمندانه باعث میشود معامله پیش از برخورد به حد ضرر یا حد سود، در صورت تغییر شرایط بازار بسته شود. مکانیزم سوم، بسته شدن خودکار با رسیدن قیمت به StopLoss یا TakeProfit تنظیمشده است.

مدیریت سفارشات و کنترل خطا
ربات از یک سیستم تلاش مجدد (Retry) برای ارسال و بستن سفارشات استفاده میکند. هنگام باز کردن معامله جدید یا بستن آن، تا ۱۰ بار تلاش میکند و بین هر تلاش ۳ ثانیه توقف دارد که برای مدیریت خطاهای موقتی مانند OFF_QUOTES یا REQUOTE مفید است. همچنین یک سیستم اعتبارسنجی حجم (CheckVolumeValue) پیش از باز کردن معامله اجرا میشود که تطابق لات درخواستی با حداقل، حداکثر و گام مجاز بروکر را بررسی میکند و در صورت عدم انطباق، معامله را متوقف میسازد. متغیر ePoint نیز برای نرمالسازی پیپ در بروکرهای ۳ و ۵ رقمی طراحی شده و مقادیر SL/TP و Slippage را متناسب با Digits تنظیم میکند. همچنین یک شرط MinBars=60 وجود دارد که تا زمانی که نمودار حداقل ۶۰ کندل نداشته باشد، معاملهای باز نمیشود.
فیلترهای حفاظتی و ویژگیهای جانبی
اکسپرت چندین لایه محافظتی دارد: فیلتر حداقل کندل (MinBars) از معامله در نمودارهای بسیار جدید جلوگیری میکند. پرچمهای CanOpenBuy و CanOpenSell که با هر تیک از طریق تابع OrdersOpen بروزرسانی میشوند، تضمین میکنند که بیش از یک معامله در هر جهت باز نشود. گزینه TradeEnabled امکان توقف کامل معاملات بدون حذف اکسپرت را فراهم میکند. از نظر ظاهری، یک لیبل امضا (Signature Label) با متن “created by tradesmartfxtools.in” در گوشه پایین-چپ نمودار نمایش داده میشود که قابلیت شخصیسازی کامل شامل موقعیت، رنگ، فونت و حتی اضافه کردن باکس پسزمینه را دارد و میتوان آن را غیرفعال کرد. تمام عملیاتهای مهم (باز شدن، بسته شدن و خطاها) در تب Experts متاتریدر ثبت میشوند که برای عیبیابی و بررسی تاریخچه عملکرد ربات بسیار مفید است.

نتایج تست اکسپرت StochasticThresholdEA روی جفتارز GBPUSD در تایمفریم ۱ ساعته، از ۵ ژوئن تا ۳۱ دسامبر ۲۰۲۵ (حدود ۷ ماه) با سرمایه اولیه ۱۰,۰۰۰ دلار بررسی شده که به شرح زیر می باشد :
عملکرد کلی و سودآوری
این استراتژی در پایان دوره تست به سود خالص ۳۰.۸۳- دلار (ضرر ۰.۳۱٪) رسیده است که عملاً عملکردی خنثی و در مرز سربهسر را نشان میدهد. سود ناخالص کل ۲,۷۱۱.۱۵ دلار و ضرر ناخالص کل ۲,۷۴۱.۹۸ دلار بوده که نسبت سود به ضرر (Profit Factor) عدد ۰.۹۹ است. این عدد زیر ۱ بوده و نشاندهنده این است که در مجموع، اندکی بیشتر از سود، ضرر تولید شده است. میانگین سود هر معامله (Expected Payoff) معادل ۰.۱۲- دلار است. حداکثر افت سرمایه (Maximal Drawdown) معادل ۶.۶۰٪ (۶۷۶.۸۱ دلار) بوده که برای یک استراتژی ساده و تکپوزیشنه نسبتاً قابل قبول است و نشان میدهد اکسپرت از نوسانات شدید حساب جلوگیری میکند، هرچند نتوانسته سود پایداری ایجاد کند.

آمار معاملات و نرخ موفقیت
در مجموع ۲۵۸ معامله در این دوره انجام شده که ۱۳۱ معامله فروش (حدود ۵۱٪) و ۱۲۷ معامله خرید (حدود ۴۹٪) بوده که توزیع تقریباً متوازنی را نشان میدهد. نرخ موفقیت کلی (Win Rate) معادل ۶۵.۸۹٪ (۱۷۰ معامله برنده) است که عدد بسیار خوبی محسوب میشود و نشاندهنده دقت بالای سیگنالهای استوکاستیک در تشخیص نقاط بازگشتی است. میانگین سود معاملات برنده ۱۵.۹۵ دلار و میانگین ضرر معاملات بازنده ۳۱.۱۶ دلار بوده که نسبت میانگین ضرر به میانگین سود تقریباً ۱.۹۵ است. این نسبت نامطلوب توضیح میدهد که چرا با وجود نرخ موفقیت بالا، سیستم در نهایت سودآور نبوده است. به بیان ساده، معاملات برنده به طور متوسط نصف معاملات بازنده سود میدهند، بنابراین ضررهای کمتر، تأثیر بیشتری بر حساب دارند. بزرگترین سود منفرد ۹۹.۵۰ دلار و بزرگترین ضرر منفرد ۱۰۱.۷۹ دلار ثبت شده است (هر دو نزدیک به اندازه کامل حد سود و حد ضرر ۱۰۰ پیپ). حداکثر تعداد پیروزی متوالی ۱۰ معامله با سود ۲۲۴.۹۵ دلار و حداکثر شکست متوالی ۴ معامله با ضرر ۱۶۹.۱۲ دلار بوده که الگوی ثبات نسبی را نشان میدهد.

رفتار معاملاتی و الگوهای مشاهدهشده
بررسی دقیق تاریخچه ۲۵۸ معامله نشان میدهد که اکسپرت به طور مداوم بین معاملات خرید و فروش در نوسان است و از هر دو جهت بازار سیگنال دریافت میکند. نکته جالب توجه، فراوانی بالای معاملاتی است که با “close” (بسته شدن توسط سیگنال استوکاستیک) از بازار خارج شدهاند، نه با برخورد به حد سود (t/p) یا حد ضرر (s/l). برای مثال، در بسیاری از موارد معامله با سود یا ضرر کوچک (بین ۲۰- تا ۳۰+ دلار) و قبل از رسیدن به TP/SL بسته شده است. این نشان میدهد که مکانیزم خروج بر اساس استوکاستیک (رسیدن به سطوح ۲۰ و ۸۰) بسیار فعالانه عمل میکند و اجازه نمیدهد معاملات به انتهای مسیر خود برسند. در عین حال، ۸۸ معامله بازنده عمدتاً شامل دو دسته هستند: ضررهای کوچک ناشی از خروج زودهنگام استوکاستیک (بین ۱ تا ۴۰ دلار) و ضررهای بزرگ حدود ۱۰۰ دلار که ناشی از برخورد قیمت به حد ضرر کامل قبل از رسیدن استوکاستیک به سطوح مورد نظر است. الگوی جالبی که مشاهده میشود این است که معاملات b بزرگ (۹۹.۵۰ دلار) دقیقاً در زمانهایی رخ داده که قیمت روند قوی داشته و به TP رسیده، اما این موارد آنقدر تکرار نشدهاند که ضررهای ۱۰۰ دلاری را پوشش دهند.
نقاط قوت و ضعف نتایج تست
نقاط قوت: مهمترین دستاورد این تست، نرخ موفقیت بالای ۶۵.۸۹٪ است که از نظر روانشناسی برای معاملهگران بسیار مطلوب است. همچنین حداکثر Drawdown کنترلشده ۶.۶۰٪ نشاندهنده مدیریت ریسک مناسب است و حداکثر ۴ ضرر متوالی نیز عدد بسیار خوبی است که تحمل روانی استراتژی را آسان میکند. کیفیت مدلسازی ۴۸.۶۵٪ با ۷.۳ میلیون تیک مدلشده نیز برای تایمفریم H1 عدد بسیار خوبی است و میتوان به نتایج آن اعتماد نسبی داشت. وجود معاملات در هر دو جهت (خرید و فروش) نشاندهنده این است که اکسپرت به یک جهت خاص از بازار وابسته نیست.
نقاط ضعف: مشکل اصلی این استراتژی، نسبت ریسک به ریوارد نامطلوب آن است. میانگین ضرر تقریباً دو برابر میانگین سود است و این باعث شده با وجود نرخ موفقیت بالا، سیستم نتواند سودآور باشد. اسپرد ۱۵ پوینتی (۱.۵ پیپ) برای GBPUSD نسبتاً بالا است و با توجه به اینکه بسیاری از معاملات با سودهای کوچک ۵ تا ۲۰ دلاری بسته میشوند، این اسپرد فشار مضاعفی بر سودهای ناچیز وارد میکند. همچنین تنظیمات حد سود و حد ضرر برابر (۱۰۰ پیپ) در بازاری که نوسانات آن با اسپرد ۱۵ پوینتی همراه است، عملاً شانس رسیدن به TP را نسبت به SL کمتر میکند، زیرا قیمت باید ۱۰۰ پیپ کامل به نفع معامله حرکت کند در حالی که اسپرد در لحظه ورود علیه معامله است. برای بهبود عملکرد، میتوان نسبت TP/SL را به ۱.۵ یا ۲ افزایش داد یا از حد ضرر کوچکتری استفاده کرد.

تنظیمات ربات معامله گر Stochastic Eclipse EA
پارامترهای ورودی این اکسپرت در چند گروه قابل تفکیک هستند که در ادامه هر کدام را توضیح میدهیم:
پارامترهای معاملاتی (Trade Parameters)
-
LotSize = 0.1 — حجم ثابت هر معامله را مشخص میکند. در اینجا ۰.۱ لات (معادل ۱۰,۰۰۰ واحد از ارز پایه) تعیین شده که برای حسابهای استاندارد یا سنت مناسب است. این مقدار قبل از باز شدن معامله با حداقل، حداکثر و گام مجاز بروکر اعتبارسنجی میشود.
-
StopLoss = 100 — فاصله حد ضرر از قیمت ورود را بر حسب پیپ تعیین میکند. برای معاملات خرید، ۱۰۰ پیپ پایینتر از قیمت ورود و برای فروش، ۱۰۰ پیپ بالاتر از قیمت ورود قرار میگیرد. این مقدار با توجه به نوع بروکر (۳، ۴ یا ۵ رقمی) به طور خودکار نرمالسازی میشود.
-
TakeProfit = 100 — فاصله حد سود از قیمت ورود را بر حسب پیپ مشخص میکند. نسبت ۱:۱ بین TP و SL نشاندهنده یک استراتژی متوازن با ریسک به ریوارد برابر است. حد سود نیز مشابه حد ضرر نرمالسازی میشود.
-
Slippage = 10 — حداکثر لغزش مجاز هنگام باز و بسته کردن معاملات به پیپ است. در بروکرهای ۵ رقمی، این مقدار به صورت خودکار در ۱۰ ضرب میشود تا با دقت قیمت هماهنگ شود. اگر در لحظه ارسال سفارش، قیمت بیش از این مقدار تغییر کرده باشد، معامله انجام نمیشود.
-
TradeEnabled = true — سوئیچ اصلی فعال یا غیرفعال کردن کل معاملات اکسپرت است. با تنظیم روی
false، ربات دیگر هیچ معامله جدیدی باز نمیکند و معاملات موجود را هم مدیریت نمیکند، اما همچنان روی نمودار باقی میماند. این گزینه برای توقف موقت بدون حذف اکسپرت بسیار کاربردی است.

پارامترهای اندیکاتور استوکاستیک (Stochastic Parameters)
-
StochK = 5 — دوره محاسبه خط اصلی %K در اندیکاتور استوکاستیک را تعیین میکند. مقدار ۵ (که مقدار پیشفرض متاتریدر است) نشاندهنده حساسیت بالای اندیکاتور به تغییرات قیمت بوده و برای اسکالپینگ و تشخیص سریع نقاط بازگشتی مناسب است. هرچه این عدد کوچکتر باشد، خط استوکاستیک نوسانات بیشتری خواهد داشت و سیگنالهای بیشتری صادر میکند.
-
StochD = 3 — دوره هموارسازی خط سیگنال %D را مشخص میکند که در واقع میانگین متحرک خط %K است. در این اکسپرت، سیگنالها بر اساس خط %K (و نه تقاطع %K با %D) صادر میشوند، اما مقدار %D همچنان بر شکل کلی استوکاستیک تأثیرگذار است. مقدار ۳ هموارسازی کمی ایجاد کرده و نویز را کاهش میدهد.
-
StochSlowing = 3 — فاکتور کندسازی (Slowing) که یک هموارسازی اضافی روی خط %K اعمال میکند. این پارامتر نوسانات تصادفی را فیلتر کرده و سیگنالهای مطمئنتری تولید میکند. مقدار ۳ به این معناست که خط %K قبل از نمایش، با یک میانگین متحرک ۳ دورهای هموار میشود.
-
UpperThreshold = 80 — سطح آستانه بالایی یا همان ناحیه اشباع خرید (Overbought) را تعریف میکند. هنگامی که استوکاستیک از بالای این سطح به پایین آن عبور کند، سیگنال فروش صادر میشود. همچنین اگر یک معامله خرید باز باشد و استوکاستیک به بالای این سطح برسد، معامله خرید بسته میشود. این سطح نشاندهنده منطقهای است که قیمت احتمالاً بیش از حد افزایش یافته و آماده بازگشت است.
-
LowerThreShold = 20 — سطح آستانه پایینی یا ناحیه اشباع فروش (Oversold) را تعیین میکند. عبور استوکاستیک از زیر این سطح به بالای آن، سیگنال خرید ایجاد میکند. همچنین اگر یک معامله فروش باز باشد و استوکاستیک به زیر این سطح برسد، معامله فروش بسته میشود. این سطح نشاندهنده منطقهای است که قیمت بیش از حد کاهش یافته و احتمال بازگشت صعودی وجود دارد.
پارامترهای نمایش امضا (Signature Label Settings)
-
ShowSignature = true — کنترل میکند که لیبل امضای طراح روی نمودار نمایش داده شود یا خیر. با تغییر به
false، هم متن و هم باکس پسزمینه (در صورت وجود) از نمودار حذف میشوند. این یک ویژگی غیرمعاملاتی و صرفاً برای اعتبار و شناسایی طراح اکسپرت است. -
SigCorner = CORNER_LEFT_LOWER — گوشه قرارگیری لیبل را مشخص میکند. چهار گزینه شامل گوشههای بالا-چپ، بالا-راست، پایین-چپ و پایین-راست نمودار در دسترس است. مقدار پیشفرض، لیبل را در گوشه پایین-چپ قرار میدهد.
-
SigX = 10 و SigY = 50 — مختصات افقی و عمودی لیبل نسبت به گوشه انتخابشده را بر حسب پیکسل تعیین میکنند. این مقادیر امکان جابجایی دقیق لیبل را برای جلوگیری از تداخل با سایر اشیای نمودار فراهم میکنند.
-
SigFontSize = 18 — اندازه قلم متن لیبل را مشخص میکند. عدد ۱۸ یک اندازه نسبتاً بزرگ و خوانا است که از فواصل دور نیز قابل مشاهده میباشد.
-
SigColor = clrYellow — رنگ متن لیبل را تعیین میکند. رنگ زرد روی پسزمینه تیره نمودار متاتریدر کنتراست خوبی ایجاد میکند.
-
SigBg = false — تعیین میکند که یک باکس مستطیلی به عنوان پسزمینه پشت متن نمایش داده شود یا نه. به صورت پیشفرض غیرفعال است و فقط متن نمایش داده میشود.
-
SigBgColor = clrBlack — رنگ پسزمینه باکس (در صورت فعال بودن
SigBg) را مشخص میکند. مشکی رایجترین انتخاب برای هماهنگی با تم نمودار است. -
SigBorderColor = clrYellow — رنگ حاشیه باکس پسزمینه را تعیین میکند که با رنگ متن هماهنگ شده است.
-
SigBgWidth = 310 و SigBgHeight = 28 — عرض و ارتفاع باکس پسزمینه را بر حسب پیکسل مشخص میکنند. این ابعاد برای جا دادن متن “created by tradesmartfxtools.in” با فونت ۱۸ مناسب است.
-
SigBgPaddingX = 8 و SigBgPaddingY = 4 — فاصله داخلی باکس از متن را در دو جهت افقی و عمودی کنترل میکنند. این padding باعث میشود متن به لبههای باکس نچسبد و ظاهر تمیزتری داشته باشد.






