An open API service indexing awesome lists of open source software.

https://github.com/ebrahimkhodadadi/signaltrader

Multi-provider automated trading bot. Parses trading signals from Telegram/Discord, executes orders on MetaTrader 5 with advanced risk management and position tracking. Extensible architecture supports future providers.
https://github.com/ebrahimkhodadadi/signaltrader

algorithmic-trading automated-trading discord forex metatrader5 python risk-management signal-parser telegram trading-bot

Last synced: 4 months ago
JSON representation

Multi-provider automated trading bot. Parses trading signals from Telegram/Discord, executes orders on MetaTrader 5 with advanced risk management and position tracking. Extensible architecture supports future providers.

Awesome Lists containing this project

README

          

# SignalTrader

SignalTrader یک ربات معاملاتی خودکار است که کانال‌ها و منابع پیام‌رسان را برای سیگنال‌های معاملاتی نظارت می‌کند، آنها را با استفاده از الگوهای پیشرفته regex تجزیه می‌کند و معاملات را روی ترمینال‌های MetaTrader 5 اجرا می‌کند. این ابزار از مدیریت ریسک، نظارت موقعیت و استراتژی‌های معاملاتی قابل تنظیم پشتیبانی می‌کند.

## 🚀 شروع سریع برای مبتدیان

اگر تازه با SignalTrader آشنا شده‌اید و می‌خواهید سریع شروع کنید:

### ۱. دانلود آخرین نسخه
- به [GitHub Releases](https://github.com/ebrahimkhodadadi/TelegramTrader/releases) بروید
- آخرین فایل `.exe` را دانلود کنید
- همچنین فایل‌های `settings-template.json`، `keywords.json` و `regex_patterns.json` را دانلود کنید

### ۲. تنظیمات خود را پیکربندی کنید
- فایل `settings-template.json` را به `settings.json` تغییر نام دهید
- فایل `settings.json` را در هر ویرایشگر متنی (مانند Notepad) باز کنید
- اطلاعات خود را پر کنید:

```json
{
"providers": {
"telegram": {
"api_id": 12345678,
"api_hash": "هش_API_تلگرام_شما",
"channels": {
"whiteList": ["@کانال_سیگنال_شما"],
"blackList": []
}
}
},
"MetaTrader": {
"server": "سرور_MT5_شما",
"username": 12345678,
"password": "رمز_عبور_MT5_شما",
"path": "C:\\Program Files\\MetaTrader 5\\terminal64.exe"
},
"Notification": {
"token": "توکن_ربات_تلگرام_شما",
"chatId": 123456789
}
}
```

### ۳. اجرای برنامه
- همه فایل‌ها (`.exe`، `settings.json`، `keywords.json`، `regex_patterns.json`) را در یک پوشه قرار دهید
- روی فایل `.exe` دوبار کلیک کنید تا شروع شود
- ربات شروع به نظارت بر کانال‌های تلگرام مشخص شده شما می‌کند

### ۴. دریافت اعتبارنامه‌های API
- **API تلگرام**: به https://my.telegram.org/ بروید تا شناسه و هش API خود را دریافت کنید
- **ربات تلگرام**: با @BotFather در تلگرام پیام دهید تا ربات ایجاد کنید و توکن را دریافت کنید
- **MetaTrader 5**: از اعتبارنامه حساب MT5 موجود خود استفاده کنید

### نیاز به کمک دارید؟
- راهنمای [پیکربندی](docs/Config.md) را برای تنظیمات دقیق بررسی کنید
- برای پشتیبانی به جامعه ما بپیوندید
- برای ویژگی‌های پیشرفته [مستندات کامل](docs/) را بخوانید

---

## دمو

![دمو](HowTo.gif)

## ویژگی‌ها

### قابلیت‌های اصلی
- **پردازش خودکار سیگنال**: کانال‌های تلگرام را نظارت می‌کند و سیگنال‌های معاملاتی را به طور خودکار تجزیه می‌کند
- **پشتیبانی چند نماد**: از ابزارهای مختلف معاملاتی از جمله فارکس، کالا و شاخص‌ها پشتیبانی می‌کند
- **مدیریت ریسک**: بر اساس اندازه حساب، استاپ لاس، تیک پروفیت و اندازه موقعیت را پیاده‌سازی می‌کند
- **نقاط ورودی دوگانه**: حالت ریسک بالا اختیاری با دو سطح ورودی برای میانگین‌گیری بهتر

### عملیات معاملاتی
- **انواع سفارش**: از سفارش‌های بازار، محدود و استاپ پشتیبانی می‌کند
- **مدیریت موقعیت**: بسته شدن جزئی، استراتژی‌های ذخیره سود و تریلینگ استاپ
- **اعتبارسنجی نماد**: نگاشت نماد خودکار برای قراردادهای مختلف کارگزار (مثل XAUUSD vs xauusd!)
- **معامله مبتنی بر زمان**: محدودیت ساعات معاملاتی اختیاری

### یکپارچه‌سازی و نظارت
- **یکپارچه‌سازی MetaTrader 5**: API کامل برای اجرای سفارش و نظارت موقعیت
- **اعلان‌های تلگرام**: اعلان‌های بلادرنگ از طریق ربات تلگرام
- **پردازش پیشرفته سیگنال**: تجزیه سیگنال با استفاده از الگوهای regex قابل تنظیم

## پیکربندی

SignalTrader از روش‌های پیکربندی متعدد برای حداکثر انعطاف پشتیبانی می‌کند:

### تنظیمات اصلی
فایل `settings.json` را با پارامترهای معاملاتی خود ایجاد کنید. راهنمای [پیکربندی](docs/Config.md) را برای دستورالعمل‌های دقیق ببینید.

تنظیمات کلیدی شامل:
- اعتبارنامه سرور MetaTrader و جزئیات حساب
- کلیدهای API تلگرام و فیلترهای کانال
- پارامترهای مدیریت ریسک (اندازه لات، اهداف سود)
- نگاشت نماد برای کارگزار شما

### کلمات کلیدی و الگوهای قابل تنظیم
برای کاربران پیشرفته، کلمات کلیدی پیام و الگوهای استخراج قیمت را از طریق فایل‌های JSON سفارشی‌سازی کنید:

- **`config/keywords.json`**: کلمات کلیدی دستور پیام را سفارشی‌سازی کنید (ویرایش، حذف، ریسک رایگان، دستورات TP)
- **`config/regex_patterns.json`**: الگوهای استخراج قیمت را سفارشی‌سازی کنید

راهنمای [پیکربندی سفارشی‌سازی](docs/Configuration.md) را برای دستورالعمل‌های دقیق در مورد سفارشی‌سازی این فایل‌ها ببینید.

## دستورات پشتیبانی شده
- **ویرایش/به‌روزرسانی**: سطح استاپ لاس یا تیک پروفیت را تغییر دهید
- **حذف/بستن**: موقعیت‌ها را ببندید
- **نصف**: نصف موقعیت را ببندید
- **ریسک رایگان**: استاپ لاس را به قیمت ورودی منتقل کنید
- **TP/هدف**: اگر موقعیت‌ها در معاملات باز باز نشدند، همه موقعیت‌ها را ببندید

## مستندات

مستندات دقیق در پوشه `docs/` موجود است:

- [راهنمای پیکربندی](docs/Config.md) - مرجع تنظیمات اصلی
- [راهنمای پیکربندی سفارشی‌سازی](docs/Configuration.md) - کلمات کلیدی و الگوهای regex
- [یکپارچه‌سازی MetaTrader](docs/MetaTrader.md) - استفاده از API MT5
- [یکپارچه‌سازی تلگرام](docs/Telegram.md) - راه‌اندازی API تلگرام
- [راهنمای انتشار](docs/Release.md) - ساخت اجرایی‌ها

## مشارکت

۱. مخزن را فورک کنید
۲. یک شاخه ویژگی ایجاد کنید
۳. تغییرات خود را اعمال کنید
۴. اگر قابل اعمال است، تست‌ها را اضافه کنید
۵. درخواست pull ارسال کنید

## مجوز

فایل [LICENSE](LICENSE) را برای جزئیات ببینید.

## سلب مسئولیت

این نرم‌افزار برای اهداف آموزشی و تحقیقاتی است. معامله شامل ریسک از دست دادن است. بدون آزمایش کامل از آن استفاده نکنید و همیشه با احتیاط معامله کنید.