ساخت ربات معاملهگر (MT5)
۲۷ روز پیش
کارفرمای جدید
تهران

ثبت پیشنهاد روی پروژه
ثبت پروژه مشابه هدف: اجرای خودکار استراتژی معاملاتی مبتنی بر EMA 50 با تأییدیه کندل، بر اساس تجربه موفق کاربر در بلندمدت، برای نمادهای XAUUSD و XAGUSD.
1. پلتفرم:
- MetaTrader 5 (MT5)
2. زبان برنامهنویسی:
- MQL5
3. نمادهای معاملاتی:
- XAUUSD (Gold)
- XAGUSD (Silver)
- نکته: ربات باید قابلیت مدیریت هر دو نماد را به صورت جداگانه داشته باشد.
4. تایمفریم:
- قابل تنظیم (Input Parameter): کاربری که از ربات استفاده میکند بتواند تایمفریم مورد نظر خود را انتخاب کند (مثلاً M1, M5, M15, H1, H4, D1).
5. اندیکاتور:
- EMA (Exponential Moving Average):
- دوره: 50 (قابل تنظیم توسط کاربر - Input Parameter: EMAPeriod).
- متد: Close (قابل تنظیم توسط کاربر - Input Parameter: EMAMethod - پیشفرض: MODE_EMA).
6. منطق ورود به معامله:
- شرط ورود BUY:
1. قیمت بسته شدن کندل قبلی (Candle[-1]) بالاتر از EMA 50 باشد.
2. قیمت بسته شدن کندل فعلی (Candle[0]) بالاتر از EMA 50 باشد.
3. کندل فعلی (Candle[0]) صعودی (Close > Open) باشد.
4. ورود در شروع کندل بعدی (Candle[1]) و فقط در صورت برقراری شرایط بالا انجام شود.
- شرط ورود SELL:
1. قیمت بسته شدن کندل قبلی (Candle[-1]) پایینتر از EMA 50 باشد.
2. قیمت بسته شدن کندل فعلی (Candle[0]) پایینتر از EMA 50 باشد.
3. کندل فعلی (Candle[0]) نزولی (Close < Open) باشد.
4. ورود در شروع کندل بعدی (Candle[1]) و فقط در صورت برقراری شرایط بالا انجام شود.
- قانون عدم ورود تکراری (Crucial Rule):
- ربات فقط پس از بسته شدن یک معامله (چه با سود، چه با ضرر) و صرفاً با مشاهده شرط کراس جدید (یعنی قیمت از EMA عبور کرده باشد و کندل تأیید داده باشد) مجاز به ورود معامله جدید برای همان جهت (BUY یا SELL) است. از ورودهای متعدد پشت سر هم در یک جهت بدون کراس جدید باید اکیداً جلوگیری شود. این قانون برای جلوگیری از ورود در بازارهای رنج و تکرار معاملات ضروری است.
7. مدیریت معاملات همزمان:
- حداکثر تعداد معاملات باز برای هر نماد: 2 (قابل تنظیم توسط کاربر - Input Parameter: MaxTradesPerSymbol). این محدودیت شامل مجموع BUY و SELL برای هر نماد میشود.
8. مدیریت حجم معامله (Lot Size):
قابل تنظیم توسط کاربر
9. مدیریت حد ضرر (Stop Loss - SL):
- موقعیت: پشت کندل تأیید (Candle[0]).
- برای BUY: Low کندل تأیید (Candle[0].low).
- برای SELL: High کندل تأیید (Candle[0].high).
- مقدار: قابل تنظیم بر اساس پیپ (Input Parameter: StopLossPips).
10. مدیریت حد سود (Take Profit - TP):
- روش: نسبت ثابت به حد ضرر (Risk-Reward Ratio).
- نسبت: 1:2 (حد سود دو برابر حد ضرر).
- محاسبه: مقدار TP به صورت خودکار بر اساس StopLossPips محاسبه شود. (Input Parameter: TakeProfitPips - این مقدار باید همیشه 2 برابر StopLossPips باشد یا ربات خودش این را تنظیم کند. بهتر است فقط StopLossPips را کاربر بدهد و TakeProfitPips بر اساس آن محاسبه شود).
11. تریلینگ استاپ (Trailing Stop):
- فعال/غیرفعال: با یک پارامتر Boolean (Input Parameter: UseTrailingStop).
- مقدار: اگر فعال باشد، قابل تنظیم بر اساس پیپ (Input Parameter: TrailingStopPips). تریلینگ استاپ باید به صورت هوشمند عمل کند و SL را فقط در صورت سودده شدن معامله و با رعایت فاصله TrailingStopPips جابجا کند.
12. انتقال به نقطه سر به سر (Break-Even - BE):
- فعال/غیرفعال: با یک پارامتر Boolean (Input Parameter: UseBreakEven).
- شرط فعالسازی: زمانی که معامله به سود مشخصی رسید (مثلاً 1 برابر حد ضرر). (Input Parameter: BreakEvenLevelPips - این مقدار بر اساس پیپ تعیین شود و SL معامله را به نقطه ورود منتقل کند).
13. پارامترهای ورودی (Inputs) عمومی:
- MagicNumber: عدد منحصر به فرد برای شناسایی معاملات این ربات.
- Slippage: حداکثر انحراف قیمت مجاز (در Point).
- ShowInfoPanel (Boolean): نمایش یک پنل اطلاعاتی روی چارت (شامل: وضعیت فعال/غیرفعال بودن ربات، نماد، تایمفریم، تعداد معاملات باز، بالانس، اکوییتی، سود/ضرر فعلی).
- AlertOnTrade (Boolean): فعال/غیرفعال بودن هشدارهای صوتی و پیام (Pop-up) هنگام ورود یا خروج از معامله.
کیفیت حرفهای
مشاهده جزئیات پیشنهادهای این پروژه
گزارش تخلف
ثبت پیشنهاد روی پروژه
ثبت پروژه مشابه پروژه را با دوستان خود به اشتراک بگذارید