Telegram-бот для частного трейдера, который ведёт закрытый канал для небольшого круга учеников. Бот принимает сигналы из индикатора на Pine Script, из советника в терминале MT4 и из модуля, следящего за парами криптовалют, и тут же рассылает их подписчикам. Бота написал Евгений Росляков. Сайты и боты он делает с 2016 года. Он самозанятый, работает по договору, юрлицам выдаёт закрывающие документы. Живёт в Москве, заказы берёт и удалённо.
Бот только доставляет сигналы. Он не торгует за людей, не имеет доступа к их счетам, не обещает доходность и не даёт инвестиционных советов. Решения о сделках каждый ученик принимает сам.
Раньше трейдер пересылал сигналы вручную: увидел на графике, скопировал, отправил в канал. Пока он писал сообщение, цена уходила, и часть учеников видела сигнал уже после движения. Иногда он просто был не у компьютера. Истории тоже не оставалось: что и когда отправлено, приходилось вспоминать по переписке.
Нужны были чат-боты, которые сами доставляют сигнал в канал сразу после появления и в одном понятном виде.
Основа — Telegram-бот на Python. Через Telegram API он принимает входящие данные, отправляет сообщения в канал и подписчикам, отличает администратора от учеников. Подписчиков бот хранит в небольшой базе, трейдер добавляет и отключает их командой. Чтобы бот мог писать ученику лично, тот один раз нажимает «Старт».
Источников сигнала три.
Первый — индикатор на Pine Script. На графике для него настроен алерт, который отправляет данные по вебхуку на сервер бота. Вебхук открыт всем, поэтому секретный ключ лежит в тексте алерта, и бот проверяет его: посторонний не сможет прислать фальшивый сигнал.
Второй — терминал MT4. В нём работает советник трейдера, а я добавил ему отправку событий: открыл сделку, закрыл, перенёс стоп. Советник делает запрос на сервер бота, адрес для этого разрешён в настройках терминала. Бот получает событие и пишет подписчикам.
Третий источник — криптовалюта. Отдельный модуль следит за несколькими парами, которые выбрал трейдер: читает цены через публичный API биржи и сообщает, когда выполнилось заданное условие, например пробит уровень. Ключи от счетов не нужны, только открытые данные.
Дальше бот делает три вещи. Приводит любой сигнал к единому виду: инструмент, направление, цена, уровни, время и комментарий трейдера. Рассылает его активным подписчикам, повторное сообщение с тем же событием игнорирует. И ведёт журнал: каждая отправка записана с временем, журнал выгружается в таблицу.
Под каждым сообщением стоит короткая пометка, что это информация, а не рекомендация.
Сигналы приходят в канал сразу после появления и всегда в одном формате. Трейдеру не нужно сидеть у экрана и пересылать сообщения вручную, ученики не гадают, свежий сигнал перед ними или старый. История отправок лежит в журнале: можно открыть и посмотреть, что и когда ушло, а споры «я этого не получал» решаются за минуту.
У решения есть границы, и о них честно сказано трейдеру. Бот не быстрее своих источников: если алерт на графике сработал с задержкой, сообщение придёт с той же задержкой. Он зависит от Telegram и от платформ, которые присылают данные, и на время их сбоев сигналы могут запаздывать. Бот не оценивает сами стратегии и не проверяет, хороши ли они.
Дальше трейдер хочет добавить ещё один источник: сигналы из второй платформы. Схема уже готова, новый источник подключается как ещё один тип входящих данных.
Обсудить бота для ваших сигналов можно в личных сообщениях на freelance.ru. Пришлите список источников — платформы, терминалы, биржи — и я отвечу, как их подключить.