این ربات خبره سطوح حمایت و مقاومت را بر اساس کمترین کف و بیشترین سقف در ۶۰ کندل قابل مشاهده یک دقیقهای شناسایی میکند، آنها را بهصورت خطوط افقی رسم میکند و زمانی که قیمت بید یا اسک فعلی دقیقاً به این سطوح برسد، بهطور خودکار با حد ضرر ۵۰ پوینت، پوزیشن خرید یا فروش باز میکند.
این ربات با استفاده از تایمر هر ۶۰ ثانیه یکبار اجرا میشود و پیش از هر اقدامی، ابتدا یک سری بررسیهای کنترلی جامع انجام میدهد. این بررسیها شامل اطمینان از باز بودن بازار، فعال بودن مجوز معاملات خودکار در ترمینال و سرور، همگامسازی دادههای نماد، کافی بودن موجودی حساب و معتبر بودن حجم معاملاتی درخواستی است. تنها در صورتی که تمام این شرایط برقرار باشد، ربات اجازه ورود به مرحله تحلیل سیگنال را پیدا میکند.
در مرحله تحلیل، ربات دو خط کلیدی را بر اساس کندلهای یک دقیقهای ترسیم میکند. برای یافتن سطح حمایت، پایینترین قیمت کف (Low) در میان کندلهای قابل مشاهده نمودار (تا سقف ۶۰ کندل) را پیدا کرده و یک خط افقی سبز رنگ به نام “SupprtLine” در آن نقطه رسم میکند. به همین ترتیب، برای یافتن سطح مقاومت، بالاترین قیمت سقف (High) در همان بازه را شناسایی کرده و یک خط افقی نارنجی رنگ به نام “ResistanceLine” رسم میکند. این خطوط بهصورت پیوسته بهروزرسانی میشوند و بهعنوان سطوح کلیدی برای تصمیمگیری معاملاتی عمل میکنند.
ویدیو آموزش ربات معامله گر Simple Price EA
هنگامی که یکی از این سطوح ترسیم شد، ربات مقدار آن سطح را در متغیرهای استاتیک move_up (برای سطح حمایت) یا move_down (برای سطح مقاومت) ذخیره میکند. تابع OnTimer در هر فراخوانی، قیمت لحظهای بازار را با این مقادیر ذخیرهشده مقایسه میکند. اگر قیمت بید (Bid) دقیقاً با مقدار move_up برابر شود، سیگنال خرید فعال میشود و اگر قیمت اسک (Ask) دقیقاً با مقدار move_down برابر شود، سیگنال فروش صادر میگردد. نکته مهم این است که ربات تنها در صورتی پوزیشن جدید باز میکند که هیچ پوزیشن بازی روی آن نماد وجود نداشته باشد.
پس از تأیید سیگنال و عدم وجود پوزیشن باز، ربات با حجم ثابت ۰.۱ لات وارد معامله میشود. برای پوزیشن خرید، حد ضرر در فاصله ۵۰ پوینت بهعلاوه اسپرد جاری، پایینتر از قیمت ورود قرار میگیرد و برای پوزیشن فروش نیز حد ضرر به همان اندازه بالاتر از قیمت ورود تنظیم میشود. این ربات فاقد حد سود است و صرفاً بر اساس لمس دقیق سطوح حمایت و مقاومت استاتیک عمل میکند، به این معنا که پس از باز شدن یک پوزیشن، منتظر بستهشدن آن توسط حد ضرر یا مداخله دستی معاملهگر میماند و تا زمان بستهشدن پوزیشن، معامله جدیدی باز نخواهد کرد.

نتایج بک تست ربات معامله گر Simple Price EA
بکتست این گزارش در ظاهر بسیار سودده است و کل نتایج استخراجشده نشان میدهد که از 320 معامله، هر 320 معامله با سود بسته شدهاند. طبق نتایج بک تست Net Profit = 2,218.70، Gross Profit = 2,218.70 و Gross Loss = 0.00 است. میانگین سود هر معامله هم 6.93 ثبت شده و بزرگترین معامله سودده 87.90 بوده است. این اعداد نشان میدهند که استراتژی در این بازهی تست، بهصورت پیوسته و بدون ثبت هیچ معاملهی زیاندهی عمل کرده است
.
از نظر آماری، این نتیجه غیرعادی و بسیار ایدهآل به نظر میرسد. در گزارش، Profit Trades = 320 (100%) و Loss Trades = 0 (0%) ثبت شده، همچنین Short Trades = 77 و Long Trades = 243 هر دو با نرخ برد 100% هستند. وقتی هیچ ضرری وجود ندارد، بعضی شاخصها مثل Profit Factor ممکن است در گزارش بهشکل غیرمعمول یا حتی نامفهوم نمایش داده شوند؛ در همین فایل هم Profit Factor = 0.00 آمده که با نبودِ ضررها سازگاری عددیِ معمول ندارد و احتمالاً به نحوهی محاسبه/نمایش نرمافزار مربوط است.


از نظر ریسک، افت سرمایه بسیار پایین گزارش شده است. Balance Drawdown عملاً صفر است و Equity Drawdown Maximal = 737.25 (0.72%) ثبت شده که نشان میدهد حتی در نوسانات شناوری هم فشار زیادی به حساب وارد نشده است. Equity Drawdown Absolute = 83.70 هم عدد کوچکی است. بنابراین اگر این بکتست درست و بدون خطا باشد، منحنی سرمایه باید تقریباً صعودی و یکنواخت بوده باشد و فقط افتهای جزئی و کوتاهمدت داشته باشد.

تنظیمات ربات Simple Price EA
Check_Bars (پیشفرض: 60) : این پارامتر تعداد کندلهای یک دقیقهای (M1) را مشخص میکند که ربات برای تحلیل رفتار قیمت و یافتن سطوح حمایت و مقاومت بررسی میکند. مقدار ۶۰ به این معناست که ربات در هر بار اجرا، ۶۰ کندل آخر را اسکن میکند تا پایینترین کف و بالاترین سقف را در میان کندلهای قابل مشاهده روی نمودار پیدا کند. افزایش این عدد باعث میشود بازه تاریخی بزرگتری برای یافتن سطوح در نظر گرفته شود و سطوح قویتری ترسیم شوند، اما ممکن است سیگنالهای کمتری تولید کند. کاهش آن نیز بازه کوتاهتری را بررسی کرده و سطوح موضعیتر و سیگنالهای بیشتری ایجاد میکند.

علاوه بر این پارامتر ورودی، یک متغیر سراسری دیگر نیز در کد تعریف شده که البته بهعنوان پارامتر ورودی (input) اعلام نشده و تنها درون کد قابل تغییر است:
Lots (پیشفرض: 0.1) : این متغیر حجم ثابت هر معامله را مشخص میکند. مقدار ۰.۱ لات بهعنوان حجم پیشفرض برای تمام پوزیشنهای خرید و فروش استفاده میشود. برای تغییر این مقدار باید مستقیماً کد را ویرایش کرد، مگر اینکه آن را به یک پارامتر input تبدیل کنید.
ربات فاقد تنظیمات مربوط به حد سود، حد ضرر متغیر، مدیریت سرمایه پویا، یا فیلترهای زمانی است و با منطقی ساده و ثابت عمل میکند. حد ضرر آن بهصورت کدنویسیشده و برابر با ۵۰ پوینت بهعلاوه اسپرد جاری تنظیم شده که این مقدار نیز در کد ثابت است و از طریق پنجره تنظیمات قابل تغییر نیست.





