وب هوک تریدینگ ویو (TradingView Webhook) قابلیتی است که وقتی یک آلارم در تریدینگ ویو فعال میشود، بهصورت خودکار یک پیام به آدرس اینترنتی مشخصی میفرستد. این پیام میتواند به یک ربات معاملاتی، بریج متاتریدر، تلگرام یا هر سرویس دیگری برسد و بدون دخالت شما کاری را انجام دهد.
به زبان ساده، وب هوک پلی است میان تحلیل شما در تریدینگ ویو و اجرای آن در جای دیگر. به جای اینکه بعد از دیدن هشدار دستی معامله باز کنید، سیگنال در کسری از ثانیه به مقصد میرسد. همین سرعت، وب هوک را به یکی از پایههای معاملات خودکار تبدیل کرده است.
در این مقاله توضیح میدهیم وب هوک چیست، چه تفاوتی با API دارد، چطور آن را گامبهگام بسازید، پیام JSON را چطور بنویسید، چه گیرندههایی دارد، چه الزاماتی لازم است و مهمتر از همه، چه ریسکهایی دارد.
- وب هوک با فعال شدن آلارم، یک درخواست HTTP POST به آدرس مقصد میفرستد.
- وب هوک رویدادمحور است و برخلاف API نیازی به درخواست مکرر ندارد.
- با متغیرهایی مثل {{ticker}} و {{close}} میتوان داده زنده را در پیام قرار داد.
- استفاده از وب هوک به پلن پولی و فعال بودن احراز هویت دومرحلهای نیاز دارد.
- اجرای خودکار ریسک دارد؛ هر استراتژی را اول روی حساب دمو آزمایش کنید.
وب هوک تریدینگ ویو چیست؟
طبق راهنمای رسمی تریدینگ ویو (TradingView)، وب هوک یک درخواست HTTP به آدرسی است که شما تعیین میکنید و هنگام فعال شدن آلارم ارسال میشود. این درخواست از نوع POST است و متن پیام آلارم در بدنه آن قرار میگیرد. اگر پیام یک JSON معتبر باشد با نوع محتوای application/json و در غیر این صورت بهصورت متن ساده (text/plain) ارسال میشود.
روش POST در پروتکل HTTP برای فرستادن داده به سرور استفاده میشود؛ طبق مستندات موزیلا (MDN)، نوع داده ارسالی با هدر Content-Type مشخص میشود. پس هر سرویسی که بتواند درخواست POST دریافت کند، میتواند گیرنده وب هوک تریدینگ ویو باشد.
تفاوت وب هوک و API
در API معمولاً گیرنده باید مرتب از سرور بپرسد «خبر جدیدی هست؟»، که به آن Polling میگویند. اما وب هوک رویدادمحور (Event-Based) است؛ یعنی فقط وقتی اتفاقی رخ دهد، مثلاً فعال شدن آلارم، داده ارسال میشود. همین ویژگی آن را سریع، سبک و مناسب اتوماسیون سیگنال میکند.
| ویژگی | وب هوک (Webhook) | API با درخواست مکرر (Polling) |
|---|---|---|
| نحوه کار | مبدأ خودش داده را میفرستد | گیرنده مرتب درخواست میدهد |
| زمان ارسال | فقط هنگام وقوع رویداد | در فواصل زمانی ثابت |
| سرعت | تقریباً لحظهای | وابسته به فاصله درخواستها |
| مصرف منابع | کم | بیشتر، حتی وقتی خبری نیست |
| کاربرد در تریدینگ ویو | ارسال سیگنال آلارم به ربات | دریافت داده یا وضعیت حساب |
تفاوت وب هوک و API
آموزش ساخت وب هوک در تریدینگ ویو
ساخت وب هوک در تریدینگ ویو سه مرحله اصلی دارد. پیش از شروع، مطمئن شوید پلن پولی و احراز هویت دومرحلهای حساب شما فعال است.
گام اول: ساخت آلارم
نماد و نموداری را که میخواهید باز کنید و روی آیکون زنگ (Alert) بزنید یا کلید میانبر Alt + A را فشار دهید. شرط آلارم را تعیین کنید؛ مثلاً عبور قیمت از یک سطح، سیگنال یک اندیکاتور مثل مکدی یا یک استراتژی نوشتهشده با پاین اسکریپت.
در همین مرحله نحوه تکرار آلارم را هم انتخاب کنید. گزینههایی مثل یک بار، یک بار در هر کندل و یک بار در بسته شدن کندل (Once Per Bar Close) وجود دارد. برای سیگنالهای معاملاتی معمولاً گزینه بسته شدن کندل مطمئنتر است، چون سیگنالهایی که وسط کندل ظاهر و دوباره ناپدید میشوند، معامله ناخواسته باز نمیکنند.
گام دوم: فعال کردن Webhook URL
در تنظیمات آلارم به بخش اطلاعرسانی (Notifications) بروید و گزینه Webhook URL را فعال کنید. آدرس مقصد را که سرویس یا ربات به شما داده، دقیق وارد کنید. یک فاصله اضافه در ابتدا یا انتهای آدرس میتواند باعث خطا شود.
گام سوم: نوشتن پیام آلارم (Alert Message)
در بخش Message متنی را بنویسید که گیرنده بتواند آن را بخواند. اگر گیرنده ربات است، معمولاً باید ساختار JSON مورد نظر همان سرویس را دقیقاً رعایت کنید. در پایان آلارم را ذخیره کنید.
نکته
قبل از اتصال به ربات واقعی، آدرس وب هوک را به یک سرویس آزمایشی بدهید تا ببینید پیام دقیقاً با چه محتوایی میرسد. ستون Webhook status در گزارش آلارمها هم نشان میدهد ارسال موفق بوده یا نه.
پیلود JSON و متغیرهای پیام آلارم
قدرت اصلی وب هوک در متغیرها (Placeholder) است. این متغیرها داخل دو آکولاد نوشته میشوند و هنگام ارسال با مقدار زنده جایگزین میشوند. برای مثال {{close}} به قیمت بستهشدن کندل و {{ticker}} به نام نماد تبدیل میشود. فهرست کامل متغیرها در راهنمای تریدینگ ویو آمده است و پرکاربردترین آنها در جدول زیر است:
| متغیر | مقداری که جایگزین میشود |
|---|---|
| {{ticker}} | نماد، مثلاً XAUUSD |
| {{exchange}} | صرافی یا منبع داده نماد |
| {{close}} | قیمت بستهشدن کندلی که آلارم را فعال کرد |
| {{interval}} | تایم فریم نمودار |
| {{timenow}} | زمان فعال شدن آلارم به وقت UTC |
| {{strategy.order.action}} | خرید (buy) یا فروش (sell) در آلارم استراتژی |
| {{strategy.order.contracts}} | حجم سفارش اجراشده در استراتژی |
| {{strategy.market_position}} | وضعیت پوزیشن: long، short یا flat |
پرکاربردترین متغیرهای پیام آلارم تریدینگ ویو
یک نمونه ساده پیام JSON برای ارسال سیگنال یک استراتژی به ربات میتواند اینگونه باشد:
{"symbol": "{{ticker}}", "action": "{{strategy.order.action}}", "price": "{{close}}", "volume": "{{strategy.order.contracts}}", "key": "YOUR_SECRET"} متغیرهای استراتژی مثل {{strategy.order.action}} فقط در آلارمهای استراتژی کار میکنند و در آلارم یک اندیکاتور ساده مقداری ندارند. پیش از اتصال به حساب واقعی، استراتژی را با بک تست در تریدینگ ویو بررسی کنید.
کاربردهای وب هوک تریدینگ ویو
وب هوک فقط برای باز کردن خودکار معامله نیست. تریدرها از آن برای کارهای مختلفی استفاده میکنند:
- ارسال خودکار سیگنال به کانال یا گروه تلگرام و دیسکورد.
- اجرای خودکار معامله در متاتریدر یا صرافی از طریق بریج و ربات.
- ثبت همه سیگنالها در یک شیت یا پایگاه داده برای تحلیل بعدی.
- بستن یا مدیریت پوزیشنها هنگام رسیدن قیمت به یک سطح مشخص.
- ارسال هشدار به تیم یا مدیر حساب هنگام رخ دادن یک شرط خاص.
بسیاری از تریدرها کار را با ارسال سیگنال به تلگرام شروع میکنند و پس از چند هفته بررسی کیفیت سیگنالها، سراغ اجرای خودکار میروند. این روش مرحلهای، ریسک اشتباههای فنی را کمتر میکند.
سمت گیرنده؛ وب هوک به کجا میرود؟
وب هوک بهتنهایی کاری انجام نمیدهد؛ به یک گیرنده نیاز دارد که پیام را بخواند و بر اساس آن عمل کند. گیرندههای رایج عبارتاند از:
| گیرنده | کاربرد | نکته مهم |
|---|---|---|
| سرور یا اسکریپت شخصی | پردازش کامل و سفارشی سیگنال | نیازمند دانش برنامهنویسی و سرور همیشه روشن |
| بریج متاتریدر (اکسپرت) | باز کردن خودکار معامله در متاتریدر | متاتریدر باید روشن و متصل بماند |
| رباتهای آماده مثل 3Commas و Alertatron | اجرای خودکار در صرافیها بدون کدنویسی | دسترسی کلید API و ریسک واسطه |
| تلگرام یا دیسکورد | اطلاعرسانی سیگنال | فقط پیام است، معاملهای باز نمیشود |
گیرندههای رایج وب هوک تریدینگ ویو
اتصال وب هوک به متاتریدر
متاتریدر بهطور مستقیم نمیتواند وب هوک دریافت کند. برای این کار معمولاً از یک سرویس واسطه (بریج) و یک اکسپرت روی متاتریدر استفاده میشود؛ بریج پیام را میگیرد و اکسپرت معامله را باز میکند. جزئیات این روش در مقاله اتصال تریدینگ ویو به متاتریدر آمده است. اگر میخواهید خودتان اکسپرت بنویسید، با برنامهنویسی MQL شروع کنید و راهنمای معاملات خودکار در متاتریدر را هم بخوانید.
فراموش نکنید که در این روش متاتریدر و بریج باید همیشه روشن و متصل باشند. برای پایداری بیشتر، افزایش سرعت متاتریدر و آمادگی برای قطعی اینترنت اهمیت دارد.
الزامات و محدودیتهای وب هوک تریدینگ ویو
طبق راهنمای رسمی تریدینگ ویو و بررسی وبسایت کراسترید (CrossTrade) در اکتبر ۲۰۲۶، وب هوک در پلن رایگان Basic در دسترس نیست و همه پلنهای پولی، از Essential تا Ultimate، آن را دارند. سایر الزامات در جدول زیر آمده است:
| مورد | توضیح |
|---|---|
| پلن | فقط پلنهای پولی؛ پلن رایگان Basic وب هوک ندارد |
| احراز هویت دومرحلهای | برای ارسال وب هوک باید فعال باشد |
| پورت | فقط پورت ۸۰ (HTTP) و ۴۴۳ (HTTPS) |
| زمان پاسخ | اگر سرور مقصد بیش از ۳ ثانیه پاسخ ندهد، درخواست لغو میشود |
| IPv6 | پشتیبانی نمیشود |
| IPهای ارسالکننده | 52.89.214.238، 34.212.75.30، 54.218.53.128 و 52.32.178.7 |
| نوع محتوا | اگر پیام JSON معتبر باشد application/json و در غیر این صورت text/plain |
الزامات و محدودیتهای وب هوک تریدینگ ویو
قانون
هرگز نام کاربری، رمز عبور یا اطلاعات ورود حساب معاملاتی را در متن پیام وب هوک قرار ندهید. به جای آن از یک کلید مخفی اختصاصی استفاده کنید که فقط گیرنده آن را بشناسد.
امنیت وب هوک
آدرس وب هوک مثل یک در ورودی است؛ اگر کسی آن را پیدا کند، میتواند به آن پیام جعلی بفرستد و ربات شما را به باز کردن معامله وادار کند. برای کاهش این ریسک:
- فقط درخواستهایی را بپذیرید که از چهار IP رسمی تریدینگ ویو میآیند.
- از HTTPS روی پورت ۴۴۳ استفاده کنید.
- یک کلید مخفی در پیام قرار دهید و گیرنده آن را بررسی کند.
- آدرس وب هوک را در اسکرینشات یا گروههای عمومی منتشر نکنید.
- برای حجم معامله و تعداد معاملات روزانه سقف تعیین کنید.
ریسکهای معاملات خودکار با وب هوک
وب هوک ابزار اتوماسیون است، نه ماشین پولسازی تضمینی. یک سیگنال اشتباه، باگ در استراتژی یا تأخیر در ارسال میتواند یک معامله واقعی باز کند. برخی ریسکهای مهم:
- خطای منطقی در استراتژی که روی داده گذشته دیده نشده است.
- تأخیر یا شکست ارسال وب هوک؛ تریدینگ ویو هم اعلام میکند ارسال گاهی ممکن است ناموفق باشد.
- اختلاف قیمت تریدینگ ویو با قیمت کارگزار و لغزش قیمت (Slippage).
- ارسال تکراری یک سیگنال و باز شدن چند معامله همزمان.
- قطع شدن سرور، بریج یا متاتریدر در لحظه سیگنال.
اختلاف قیمت و ریکوت در بازارهای پرنوسان میتواند نتیجه را با بک تست متفاوت کند. به همین دلیل بهتر است پیش از ترید زنده ابزاری مثل بستن همه معاملات را برای شرایط اضطراری آماده داشته باشید.
هشدار
هیچوقت یک استراتژی خودکار را بدون آزمایش روی حساب دمو به حساب واقعی وصل نکنید. حد ضرر، سقف حجم و بررسی روزانه عملکرد ربات را فراموش نکنید.
پرسش مهم: آیا وب هوک برای رباتهای مبتنی بر هوش مصنوعی هم کاربرد دارد؟
پاسخ: بله. هر مدلی که سیگنال تولید کند و بتواند آن را به آلارم تریدینگ ویو یا یک درخواست POST تبدیل کند، میتواند از همین مسیر استفاده کند. اما خطای مدل هم مستقیم به معامله واقعی تبدیل میشود.
برای آشنایی با این مدلها و محدودیتهایشان، مقاله یادگیری ماشین در فارکس را بخوانید.
اشتباهات رایج در استفاده از وب هوک
- وارد کردن آدرس با فاصله اضافه یا پورت غیرمجاز.
- نوشتن JSON نامعتبر و دریافت متن ساده به جای JSON در گیرنده.
- استفاده از متغیرهای استراتژی در آلارم اندیکاتور.
- فعال نکردن احراز هویت دومرحلهای و عدم ارسال وب هوک.
- اتصال مستقیم به حساب واقعی بدون آزمایش.
تمرین با آرون گروپس
تمرین پیشنهادی: یک آلارم ساده قیمتی بسازید و آدرس یک سرویس آزمایشی دریافت وب هوک را در آن قرار دهید. پیام را یک بار بهصورت متن ساده و یک بار بهصورت JSON با متغیرهای {{ticker}} و {{close}} ارسال کنید و تفاوت نوع محتوا را ببینید. سپس با ماشین حساب تریدینگ ویو حجم مناسب هر معامله را محاسبه کنید.
پس از آن، اتصال را روی حساب دمو آزمایش کنید و اصول مدیریت سرمایه را در تنظیمات ربات لحاظ کنید. اگر از اکسپرت آماده استفاده میکنید، مقاله اکسپرت اسکالپ و روش اتصال بروکر به تریدینگ ویو را هم ببینید.
نتیجهگیری
وب هوک تریدینگ ویو با فعال شدن آلارم، یک درخواست POST حاوی پیام شما را به آدرس مقصد میفرستد و راه را برای اتصال تحلیل به ربات، متاتریدر یا تلگرام باز میکند. ساخت آن ساده است: آلارم بسازید، Webhook URL را فعال کنید و پیام JSON بنویسید.
اما وب هوک فقط حامل سیگنال است. کیفیت نتیجه به استراتژی، گیرنده، امنیت و مدیریت ریسک بستگی دارد. با رعایت الزامات تریدینگ ویو، محدود کردن دسترسی و آزمایش روی حساب دمو، میتوانید از این ابزار با ریسک کمتری استفاده کنید.
پرسشهای متداول
وب هوک تریدینگ ویو چیست؟
قابلیتی است که هنگام فعال شدن یک آلارم، یک درخواست HTTP POST حاوی پیام آلارم را به آدرس مشخصی میفرستد تا ربات یا سرویس دیگری بر اساس آن عمل کند.
آیا وب هوک تریدینگ ویو رایگان است؟
خیر. پلن رایگان Basic وب هوک ندارد و باید یکی از پلنهای پولی مثل Essential، Plus، Premium یا Ultimate را داشته باشید. احراز هویت دومرحلهای هم باید فعال باشد.
چطور وب هوک را به متاتریدر وصل کنیم؟
متاتریدر مستقیم وب هوک دریافت نمیکند. باید از یک سرویس واسطه (بریج) و یک اکسپرت در متاتریدر استفاده کنید که پیام را دریافت و معامله را اجرا کند.
پیام وب هوک باید چه فرمتی داشته باشد؟
هر متنی قابل ارسال است، اما بیشتر رباتها JSON میخواهند. اگر پیام JSON معتبر باشد، با نوع محتوای application/json ارسال میشود. ساختار دقیق را از مستندات گیرنده بگیرید.
چرا وب هوک من ارسال نمیشود؟
دلایل رایج: پلن رایگان، غیرفعال بودن احراز هویت دومرحلهای، پورت غیر از ۸۰ یا ۴۴۳، پاسخ دیرتر از ۳ ثانیه سرور مقصد یا خطا در آدرس. ستون Webhook status در گزارش آلارم را بررسی کنید.
اعلان ریسک
این مقاله صرفاً جنبه آموزشی دارد و توصیه به استفاده از ربات یا استراتژی خاصی نیست. ویژگیها و الزامات تریدینگ ویو ممکن است تغییر کنند. معاملات خودکار و معامله با اهرم ریسک بالای از دست رفتن سرمایه دارند و خطای فنی یا سیگنال اشتباه میتواند به زیان واقعی منجر شود.