برو به محتوای اصلی
TradingConnector

معرفی TradingConnector، آموزش نصب و راه اندازی

yasin

TradingView و تلگرام منابع خیلی خوبی برای دریافت اطلاعات معاملاتی هستن، اما یه بخش مهم رو ندارن: اجرا. یعنی خودشون نمی‌تونن برات معامله رو انجام بدن.

متاتریدر این بخش رو داره – بیش از 1000 کارگزاری تو سراسر دنیا ازش پشتیبانی می‌کنن و می‌تونی باهاش تو بازار واقعی و با پول واقعی معامله کنی.

TradingConnector یه اپلیکیشنه که این فاصله بین منبع سیگنال (مثل تریدینگ‌ویو یا تلگرام) و اجرای معامله رو پر می‌کنه. این اپ وقتی هشدار از تریدینگ‌ویو یا یه سیگنال تو کانال تلگرام منتشر بشه، سریع اون رو می‌فرسته به متاتریدر (نسخه 4 یا 5) تا معامله فوراً اجرا بشه.

همه‌ی این فرآیند به‌صورت خودکار انجام می‌شه و تو لازم نیست هیچ کاری بکنی. از لحظه‌ای که تریدینگ‌ویو هشدار رو ارسال می‌کنه، کمتر از ۱ ثانیه طول می‌کشه تا معامله توی متاتریدر باز بشه.

این سرعت بالا به خاطر اینه که همه‌ی اجزای سیستم روی یه کامپیوتر اجرا می‌شن. یعنی سیگنال‌ها لازم نیست برن تو اینترنت بچرخن یا از طریق API یا وب‌هوک منتقل بشن، واسه همین هیچ تأخیری اضافه نمی‌شه.

البته اگه سیگنال از تلگرام بیاد یا از طریق وب‌هوک ارسال بشه، یه مقدار انعطاف‌پذیری و تاخیر طبیعی وجود داره چون اینا از طریق API میان.

چه بازارها یا نمادهایی رو می‌شه با TradingConnector به‌صورت خودکار ترید کرد؟

هر نمادی که توی متاتریدری که کارگزارت بهت داده موجود باشه، قابل ترید خودکاره(بازارهای آتی، فارکس، شاخص‌ها، سهام، ارز دیجیتال...)

حتی اگه اسم نماد توی تریدینگ‌ویو یا تلگرام دقیقاً مثل متاتریدر نباشه، باز هم می‌شه ترید رو انجام داد.

قابلیت‌هایی که TradingConnector اراِئه میده :

  • باز کردن معاملات خرید و فروش
  • ارسال سفارش‌های بازار یا سفارش‌های معلق (استاپ یا لیمیت)
  • تعیین حد ضرر، حد سود، نقطه سر به سر و تریلینگ استاپ از همون اولِ ورود به معامله
  • تنظیم این پارامترها به‌صورت فاصله‌ای (مثلاً ۳۰ پیپ)، درصدی (مثلاً ۲٪)، یا در قیمت مشخص
  • جابه‌جا کردن حد ضرر با پیشرفت معامله
  • انتخاب حجم معامله به‌صورت ثابت یا به‌عنوان درصدی از موجودی حساب
  • تقسیم سود در چند مرحله
  • بستن خودکار پوزیشن وقتی سیگنال معکوس دریافت شد (یا باز گذاشتن پوزیشن قبلی و هج کردن – قابل تنظیمه)
  • می‌تونی همه این تنظیمات رو برای تمام معاملات یکجا تعریف کنی یا جداگانه برای هر معامله

TradingConnector چطوری کار می‌کنه ؟

TradingConnector گوش به زنگ هشدارهایی هست که یا از تریدینگ‌ویو فعال می‌شن یا توی کانال‌های تلگرام ارسال می‌شن، و این هشدارها رو به متاتریدر منتقل می‌کنه تا خیلی سریع و کاملاً خودکار اجرا بشن.

فرآیند اجرا در ۳ مرحله:

  1. گرفتن هشدار
    TradingConnector از یکی از این ۳ مسیر، هشدارهای معاملاتی رو دریافت می‌کنه:
    • هشدارهای تریدینگ‌ویو که از طریق وب‌هوک می‌فرستی
    • هشدارهای تریدینگ‌ویو که توسط افزونه کروم TradingConnector شنیده می‌شن
    • سیگنال‌هایی که توی کانال‌های انتخابی کاربر در تلگرام ارسال می‌شن
  2. پردازش هشدار
    این هشدارها توسط اپلیکیشن دسکتاپ ویندوزی TradingConnector.EXE پردازش می‌شن و بلافاصله برای اجرا به متاتریدر فرستاده می‌شن.
  3. اجرای معامله
    پلاگینی به نام TradingConnectorEA داخل متاتریدر این هشدار رو دریافت می‌کنه و معامله رو توی بازار اجرا می‌کنه.

هشدارها یا سیگنال‌ها باید طبق قواعد نوشتاری خاصی باشن که بهش می‌گن Alert Syntax تا سیستم بتونه درست اجراشون کنه.
اگه هشدارها با اون فرمت هماهنگ نباشن، ممکنه لازم بشه از یه ابزار به اسم Search & Replace Alerts Modifier استفاده کنی تا هشدار رو به فرمت درست تبدیل کنه.

بدون سرور / تاخیر کمتر از ۱ ثانیه

تو حالتی که از مسیر "از طریق افزونه کروم" استفاده می‌کنی، مسیر حرکت هشدار این‌طوریه:

  1. هشدار از طرف سرور تریدینگ‌ویو فرستاده می‌شه و توسط افزونه کروم TradingConnector که روی کامپیوتر ویندوزی کاربر (همون "PC") نصب شده، دریافت می‌شه.
  2. بعد، هشدار توسط برنامه‌ی TradingConnector.EXE که روی همون کامپیوتر نصبه، پردازش می‌شه.
  3. در نهایت، هشدار برای اجرا به MetaTrader 4 یا 5 که روی همون کامپیوتر نصبه، ارسال می‌شه و اجرای معامله از طریق اتصال API کارگزار انجام می‌گیره.

همون‌طور که توضیح داده شده، کل این فرآیند روی یه کامپیوتر اتفاق می‌افته. یعنی هیچ API یا سرور اضافی توی مسیر نیست که باعث تأخیر بشه، و این باعث می‌شه اجرای هشدار کمتر از ۱ ثانیه بعد از ارسال توسط تریدینگ‌ویو انجام بشه.

علاوه بر این، چون کل عملیات فقط روی کامپیوتر کاربر اتفاق می‌افته، هیچ‌کس دیگه‌ای نمی‌تونه هشدارها رو شنود یا رهگیری کنه. TradingConnector کاملاً بدون سرور (serverless) طراحی شده. تنها سروری که باهاش ارتباط داره، سرور PayPal هست برای بررسی لایسنس.

  • توی حالت‌های Telegram -> MetaTrader و ارسال از طریق webhook، هشدارها به‌صورت مستقیم به TradingConnector.EXE ارسال می‌شن (از اول همین‌طور طراحی شده).

تداوم عملکرد در صورت قطع اتصال

اگه کامپیوتری که این اجزا روی اون اجرا می‌شن قطع بشه، هنگ کنه یا به هر دلیلی پاسخ نده، دیگه هیچ معامله‌ی جدیدی اجرا نمی‌شه چون هیچ هشدار جدیدی دریافت و پردازش نمی‌شه. این موضوع شامل هشدارهایی که فقط برای بستن معاملات ارسال می‌شن هم می‌شه.

توی این بازه‌ی زمانی که اتصال قطع شده، هشدارها هم ذخیره نمی‌شن – یعنی اگه یه هشدار ارسال بشه و TradingConnector.EXE نتونه اون رو دریافت کنه، اون هشدار از بین می‌ره و بعداً که سیستم دوباره بالا بیاد، دیگه اجرا نخواهد شد.

اما اگر یه پوزیشن قبلاً توی متاتریدر باز شده باشه و اون پوزیشن شامل شرایط خروج مثل استاپ‌لاس، تیک‌پرافیت یا تریلینگ‌استاپ باشه (که بله، می‌شه اینا رو همون اول توی هشدار ورود تنظیم کرد)، این سفارش‌های خروج توسط خود کارگزار اجرا می‌شن – حتی اگر کامپیوترت خاموش یا قطع اتصال باشه.


هشدارهای TradingView.com → متاتریدر

برای اینکه بتونی توی متاتریدر معامله انجام بدی، باید کاری کنی که TradingView هشدار (ALERT) صادر کنه. هشدارها درواقع واحد اصلی توی سیستم ترید خودکار TradingConnector هستن.

یعنی چی؟ یعنی اینکه نمی‌تونی معاملات دستی یا کاغذی (paper trade) رو از تریدینگ‌ویو به متاتریدر کپی کنی. فقط با هشدار کار می‌کنه.

تو تریدینگ‌ویو، می‌تونی هشدارها رو:

  • به‌صورت دستی و تکی تنظیم کنی (مثلاً وقتی قیمت یه دارایی از یه سطح خاص عبور می‌کنه)،
  • یا از طریق یه اسکریپت استراتژی/اندیکاتور که با زبان PineScript نوشته شده، هشدارها به‌صورت خودکار فعال بشن.

از نظر TradingConnector و متاتریدر، اصلاً مهم نیست هشدار روی چه تایم‌فریمی تنظیم شده باشه.
هر موقع هشدار فعال بشه، بلافاصله به متاتریدر فرستاده می‌شه و اجرا می‌ شه.
تایم‌فریم نمودار – چه توی تریدینگ‌ویو، چه توی متاتریدر – هیچ اهمیتی نداره.

وب‌هوک VS افزونه کروم (دو مسیر مختلف برای دریافت هشدارها)

برای اینکه هشدارهای تریدینگ‌ویو به TradingConnector.EXE (و بعد به متاتریدر) برسن، دو تا مسیر مختلف وجود داره:

1. Webhook

تو این حالت، باید یه سرور وجود داشته باشه که بتونه هشدارهای دریافتی از تریدینگ‌ویو رو روی پورت ۸۰ دریافت کنه.
TradingConnector.EXE خودش می‌تونه نقش این سرور رو بازی کنه.
فقط یه شرط داره:
باید روی یه کامپیوتری نصب بشه که آی‌پی عمومی (Public IP) داشته باشه تا از اینترنت در دسترس باشه.

2. Chrome Extension

این روش یه افزونه‌ی اضافه نیاز داره که باید روی همون کامپیوتری نصب بشه که TradingConnector.EXE و متاتریدر روش نصب شدن.
بهش می‌گن same-device routing چون کل فرآیند فقط روی یه دستگاه انجام می‌شه.

بیایید هر دو روش رو باهم بررسی کنیم :

از طریق Webhook

چطوری وب‌هوک رو تنظیم کنیم تا هشدارهای تریدینگ‌ویو رو دریافت کنه

تریدینگ‌ویو این امکان رو می‌ده که هشدارها رو به یه سرور خاص بفرسته که بهش می‌گن "وب‌هوک". حالا اون کامپیوتری که قراره این هشدارها رو دریافت کنه باید چند تا شرط رو داشته باشه:

  1. به اینترنت وصل باشه و IP اون از نوع Public باشه، یعنی از بیرون (از طرف تریدینگ‌ویو) قابل دسترسی باشه.
  2. پورت ۸۰ کامپیوتر باز باشه تا بتونه هشدارهایی که از IPهای مشخص تریدینگ‌ویو میان رو دریافت کنه.
  3. یه برنامه آماده روی اون سیستم نصب شده باشه که این هشدارها رو دریافت و پردازش کنه. این همون برنامه‌ی TradingConnector.EXE هست.

پس اگه می‌خوای از مسیر وب‌هوک استفاده کنی، کامپیوتری که TradingConnector.EXE روش نصبه، باید IP عمومی داشته باشه.

اول از همه، پورت ۸۰ رو برای دریافت هشدارهای ورودی باز کن.
برای این کار، کافیه این دکمه (toggle) رو فعال کنی.

این کاری که بالا انجام دادی، یه قانون ورودی (Inbound Rule) توی فایروال Windows Defender سیستم‌ت ایجاد می‌کنه.

این قانون فقط به یه سری IP خاص که از قبل توسط TradingView مشخص شدن اجازه ارتباط می‌ده، نه به هر کسی.

برو به سایت TradingView.com و یه هشدار (Alert) بساز. وقتی پنجره‌ی "Create Alert" باز شد، برو به تب Notifications و توی قسمت Webhook URL، این آدرس رو وارد کن:

http://xxx.xxx.xxx.xxx:80/c/webhook/tv

که توش باید به‌جای xxx.xxx.xxx.xxx، آی‌پی کامپیوتری رو بذاری که برنامه‌ی TradingConnector.EXE روش نصب شده (یعنی همین سیستمی که داری باهاش کار می‌کنی).

یادت نره آخر آدرس حتماً پورت 80 رو بنویسی.

بعد از اینکه آدرس رو وارد کردی، روی دکمه‌ی CREATE کلیک کن و منتظر بمون تا تریدینگ‌ویو هشدار رو فعال کنه.

از طریق افزونه‌ی کروم

  • نیازی به باز کردن هیچ پورتی نیست.
  • فقط کافیه افزونه‌ی کروم TradingConnector رو از Google Webstore نصب کنی.
  • کامپیوتری که TradingConnector.EXE روش نصبه می‌تونه IP خصوصی (Private IP) داشته باشه، لازم نیست IP عمومی باشه.
  • فقط باید تب مربوط به TradingView همیشه توی مرورگر کروم باز بمونه.
  • چون هشدارها فقط روی یه سیستم رد و بدل می‌شن (بدون اینترنت یا سرور واسطه)، تاخیر اجرا کمتر از ۱ ثانیه خواهد بود.

چطوری افزونه‌ی کروم رو برای دریافت هشدارهای تریدینگ‌ویو تنظیم کنیم

برو به Chrome Extensions Webstore و افزونه‌ای به اسم
“TradingView.com Alerts to MT4/MT5”
رو پیدا کن و نصبش کن.

برو به سایت www.tradingview.com و واردش شو.
تب مربوط به این سایت باید همیشه توی مرورگر کروم باز بمونه تا افزونه بتونه هشدارها رو دریافت کنه.

وقتی روی آیکن افزونه یه نقطه سبز می‌بینی و داخل برنامه‌ی TradingConnector.EXE هم نوشته شده "Extension connected" به رنگ سبز، یعنی همه چیز درست تنظیم شده و افزونه به‌درستی وصل شده.

نکته:
بر خلاف نسخه‌های قبلی TradingConnector، دیگه لازم نیست داخل گوگل کروم لاگین باشی چون احراز هویت کاربر و بررسی لایسنس، توسط خود اپلیکیشن دسکتاپ TradingConnector.EXE انجام می‌شه.


سیگنال‌های تلگرام → متاتریدر

توی این حالت، برنامه‌ی TradingConnector.EXE مثل یه برنامه‌ی تلگرام عمل می‌کنه.
یعنی باید با استفاده از شماره تلفنت و کدی که تلگرام برات به دستگاه قبلی می‌فرسته، وارد حساب تلگرامت بشی.

بعد از ورود، یه لیست از کانال‌هایی که عضوش هستی نشون داده می‌شه و باید یکی از اون کانال‌ها رو انتخاب کنی.
از اون لحظه به بعد، هر پیامی که تو اون کانال منتشر بشه، به عنوان سیگنال یا هشدار برای اجرای معامله به متاتریدر فرستاده می‌شه.

اما یه نکته خیلی مهم هست:
پیام‌هایی که از تلگرام میان، باید طبق فرمت مشخصی که توی سیستم TradingConnector تعریف شده (Alert Syntax) نوشته شده باشن تا سیستم بتونه درست اون‌ها رو اجرا کنه.
اگه این‌طور نباشن، ممکنه لازم بشه از یه ابزار به اسم Search & Replace Alerts Modifier استفاده کنی تا متن پیام‌ها رو به فرمت درست تبدیل کنه.

یه تفاوت مهم با هشدارهای تریدینگ‌ویو اینه که:
پیام‌های تلگرام اسم نماد (symbol) ندارن.
برای همین، باید بهشون پارامتر tradesymbol= رو اضافه کنی (مثلاً tradesymbol=BTCUSD)
و این کار هم با همون ابزار Search & Replace انجام می‌شه، طبق توضیحاتی که توی صفحه‌ی Alert Syntax گفته شده.

نکته آخر:
افزونه‌ی TradingConnector باید همچنان توی مرورگر کروم در حال اجرا باشه، چون کار احراز هویت و بررسی لایسنس از طریق اون انجام می‌شه.

چطور TradingConnector.EXE رو تنظیم کنیم تا سیگنال‌های کانال‌های تلگرام رو دریافت کنه

تو پنل مربوط به Telegram Channels، روی دکمه‌ی "Configure" کلیک کن

الان وقتشه که وارد حساب تلگرامت بشی، چون برنامه‌ی TradingConnector.EXE مثل یه کلاینت تلگرام عمل می‌کنه. شماره موبایلی که باهاش توی تلگرام ثبت‌نام کردی رو وارد کن.

حالا باید کد تأیید یک‌بار مصرف رو وارد کنی

بعد از اینکه وارد حساب تلگرامت شدی، لیستی از کانال‌هایی که عضوشون هستی نمایش داده می‌شه.
یکی یا چند تا از اون کانال‌هایی که می‌خوای سیگنال‌هاشون به متاتریدر منتقل بشه رو انتخاب کن و بعد روی دکمه‌ی APPLY کلیک کن.

بعد از اینکه تنظیمات رو کامل انجام دادی، باید عبارت "Listener ready" رو به رنگ سبز ببینی.

اگه سیگنال‌هایی که از کانال‌های تلگرام می‌فرستن با فرمت مشخص‌شده توسط TradingConnector (Alert Syntax) هماهنگ نباشن،
باید اون‌ها رو با استفاده از ابزار Search & Replace Alerts Modifier ویرایش کنی تا به شکل درست دربیان و متاتریدر بتونه اجراشون کنه.

چطور سیگنال تلگرام رو پردازش کنیم و به معامله تبدیل کنیم

فرض می‌کنیم که تو قبلاً این کارها رو انجام دادی:

  • TradingConnector.EXE و TradingConnectorEA رو داخل متاتریدر نصب کردی
  • TradingConnector.EXE رو به‌عنوان شنونده تلگرام تنظیم کردی

الان می‌تونی سیگنال‌هایی که از تلگرام میان رو اجرا کنی.

مثلاً عضو یه کانالی هستی به اسم Royal Forex Trading (فقط یه مثاله، می‌تونه هر کانال دیگه‌ای باشه).
هر وقت این کانال یه هشدار منتشر می‌کنه، پیامش این شکلیه:

این هشدار که توسط TradingConnector.EXE دریافت می‌شه و فقط شامل متن هست، این شکلیه:

🟧 GOLD BUY NOW. 2320 ❌ SL. 2313 🟠 TP 1. 2325 🟠 TP 2. 2330 OPEN....

این پیام دقیقاً با AlertSyntax مربوط به TradingConnector هماهنگ نیست،
ولی یه راه برای هماهنگ کردنش وجود داره.

تنها کاری که باید بکنی اینه که یه‌سری قانون اصلاحی توی Search & Replace Alerts Modifier اضافه کنی.

این قانون‌ها اینطوری می‌تونن باشن:

هشدار دریافتی به این شکل درمیاد:

GOLD BUY NOW. 2320 ❌ SLPRICE= 2313 🟠 TPPRICE1= 2325 🟠 TPPRICE2= 2330 OPEN....

یه پوزیشن خرید (Buy یا همون Long) روی نماد GOLD به‌صورت سفارش بازار (Market Order) باز می‌شه،
با حد ضرر روی 2313 و دو تا حد سود: یکی روی 2325 و یکی دیگه روی 2330.

عبارت‌هایی مثل:
NOW. 2320 ❌ 🟠 OPEN....
توسط TradingConnector نادیده گرفته می‌شن و هیچ تاثیری روی معامله ندارن.


Search & Replace Alerts Modifier (اختیاری)

فرقی نداره هشدارها از تریدینگ‌ویو بیان یا از تلگرام،
گاهی پیش میاد که این هشدارها دقیقاً طبق قوانین Alert Syntax مخصوص TradingConnector نوشته نشده باشن.
و به همین دلیل، قابل اجرا توسط TradingConnectorEA نباشن.

این مورد به‌خصوص وقتی پیش میاد که هشدارهای تریدینگ‌ویو از اسکریپت‌های بسته (Closed-source) صادر بشن
و نویسنده‌ی اون اسکریپت هم قصد نداشته باشه فرمت پیام‌ها رو تغییر بده.
یا اینکه پیام‌های تلگرام هم با یه فرمتی فرستاده بشن که با فرمت سیستم ما فرق داشته باشه.

ولی نگران نباش، برای این مشکل یه راه‌حل داریم!

بین دریافت هشدار از تریدینگ‌ویو یا تلگرام و ارسال اون به متاتریدر برای اجرا،هشدار می‌تونه به‌صورت لحظه‌ای، در داخل برنامه TradingConnector.EXE تغییر داده بشه.اسم این قابلیت اختیاریه

SEARCH & REPLACE ALERTS MODIFIER
این قابلیت مثل همون قابلیتیه که توی ویرایشگرهای متن می‌شناسی: "جستجو و جایگزینی".
یعنی دو تا متن تعریف می‌کنی:
یکی متنی که قراره توی هشدار ورودی پیدا بشه،
و یکی هم متنی که قراره جایگزینش بشه، هرجا که اون متن اولی دیده شد.

مثال: فرض کن هشدار این شکلیه:

{“id”:1701248700,”symbol”:”XAUUSD”,”command”:"short tradesymbol=XAUUSD lot=0.01”,”time”:1701248700}

چنین هشداری توسط TradingConnector پردازش نمی‌شه، چون کلماتی مثل short به‌صورت واضح توش نیست.
مثلاً فقط نوشته شده: …”mind”:”short — که سیستم نمی‌تونه اونو تشخیص بده.

اما اگه این هشدار رو از طریق Search & Replace Alerts Modifier عبور بدی
و مثلاً مشخص کنی که " (علامت نقل‌قول) با یه فاصله‌ی ساده جایگزین بشه،
اون هشدار تبدیل می‌شه به این:

{ id :1701248700, symbol : XAUUSD , command : short tradesymbol=XAUUSD lot=0.01 , time :1701248700}

توی این حالت، کلمه‌ی short به‌درستی از بقیه جدا شده و سیستم اون رو تشخیص می‌ده
و هشدار اجرا می‌شه توی متاتریدر.

کلماتی مثل time، id، symbol یا رشته‌هایی مثل :1701248700 و XAUUSD نادیده گرفته می‌شن و هیچ مشکلی ایجاد نمی‌کنن.