TradingView alerts to Telegram
Иногда трейдерам требуется отправлять сообщения в Телеграм-канал или чат для себя, либо своих подписчиков с сигналами или какими-то сообщениями.
Здесь описан способ настройки таких оповещений напрямую из TradingView в Telegram без использования промежуточного сервера.
🔹 Для создания бота используем - @BotFather
При создании бота нам выдают token следующего вида:
5736528616:AAGwgsY18JXq5E6RVn84Nf8aCPVApqSnCPc (см.скрин ниже)
🔹 Этого бота необходимо добавить администратором в Telegram-канал, куда будем отправлять сигналы и, конечно же запустить его (для этого пишем созданному боту /start или нажимаем "Запустить".
🔹 Также нам потребуется идентификатор нашего канала/группы. Для этого пересылаем любое сообщение из нашего канала/группы в @getmyid_bot, а в ответ он выдаст требуемый id (см.скрин ниже)
🔹 Вид webhook для отправки сообщения имеет следующий вид:
https://api.telegram.org/bot<наш бот-токен>/sendMessage?jsonRequest=true&parse_mode=html
Пример:
https://api.telegram.org/bot5736528616:AAGwgsY18JXq5E6RVn84Nf8aCPVApqSnCPc/sendMessage?jsonRequest=true&parse_mode=html
🔹 Текст оповещения должен иметь следующий вид:
{"chat_id":"Идентификатор id канала/группы","text":"Текст оповещения"}
1 вариант - формируем текст в коде для автоматической отправки его с помощью оповещения "только при вызове функции alert()" или с помощью функции заполнения заявок - {{strategy.order.alert_message}}
Метод парсинга - html, но при использовании переноса строки в тексте вместо /n используйте //n, поскольку tradingview "подрезает" /n в этом случае при формировании текста на выходе.
Для выделения текста используйте <b> </b> или <i> </i>.
Для использования ссылок в тексте используйте отдельную переменную, чтобы сохранить кавычки в выходном сообщении, например: REFERAL_BINANCE = "<a href='https://accounts.binance.com/register?ref=36000656'> BINANCE</a>"
market_entry_long = '#'+syminfo.ticker+' 🔵 <b>Open LONG</b>'+'\\n🔹Take = 3%\\n🔹Stop = 1%'+'\\n\\n'+REFERAL_BINANCE
market_entry_short = '#'+syminfo.ticker+' 🔴 <b>Open SHORT</b>'+'\\n🔹Take = 3%\\n🔹Stop = 1%'+'\\n\\n'+REFERAL_BINANCE
open_long_message = '{"chat_id":"'+my_chat_id +'","text":"' + market_entry_long + '"}'
open_short_message = '{"chat_id":"'+my_chat_id +'","text":"' + market_entry_short + '"}'
Далее отправляем команды с помощью alert()
if longCondition
alert(open_long_message, alert.freq_once_per_bar_close)
if shortCondition
alert(open_short_message , alert.freq_once_per_bar_close)
Или можем отправлять команды с помощью alert_message:
if longCondition
strategy.entry('Long', strategy.long, qty=lot_l, alert_message=open_long_message )
strategy.exit('take-profit', 'Long', limit=take_l, stop=stop_l, alert_profit=profit_message, alert_loss=loss_message)
И получаем сообщение в Телеграм:
2 вариант - пишем текст нужного нам сообщения в тексте самого оповещения, соблюдая синтаксис
{"chat_id":"-1001476562919","text":"Вход в лонг на 20% депозита!"}
🔹 По вопросам подключения и сотрудничества обращайтесь: @Shuttle_Trader
🔹 Адрес для донатов: USDT(TRC20): TLDL415YYF2A8Uih8zZyaRABCwTap5z3xP
🔹 Реферальная ссылка Binance
🔹 Реферальная ссылка TradingView
🔹 Телеграм-канал Shuttle Club