Данный скрипт поможет обратить внимание трейдера на определенный инструмент, по которому получен торговый сигнал в
телеграм канал.
Используется Tinkoff Invest API клиент для python. Документация по API.
Пример работы можно посмотреть в канале по ссылке.
Параметры для работы со скриптом задаются в файлах конфигураций config.yaml
и signals.yaml
Основная конфигурация config.yaml
[tinkoff_token]
- токен для работы с Tinkoff Invest API;
[telegram_token]
- токен для отправки сообщений в Telegram;
[telegram_chat_id]
- идентификатор канала, в который будут приходить уведомления.
[csv_file_with_shares]
- путь до csv
файла со списком инструментов (разделитель столбцов табуляция)
(пример файла);
[interval]
- определяет интервал свечей на которые осуществляется подписка;
Возможные значения:
Значения | Описание |
---|---|
1m , 2m , 3m , 5m , 10m ,15m , 30m |
Минутные свечи |
1h , 2h , 4h |
Часовые свечи |
1day |
Дневные свечи |
1week |
Недельные свечи |
1month |
Месячные свечи |
[signals_interval]
- определяет минимальный интервал времени в минутах между отправкой сообщений в канал Telegram по одному инструменту;
[calculate_signals_interval]
- определяет интервал времени в минутах, через который для инструмента рассчитываются индикаторы.
Т.е. при задании числа отличного от 0, индикаторы по инструментам будут рассчитываться не для каждой принятой свече;
[candles_for_calculation_min_size]
- минимальное количество свечей, которое будет собрано для расчета индикаторов.
Рекомендуется использовать значение от 100 до 200;
[signals_config_path]
- путь до файла YAML конфигурации расчета сигналов.
Конфигурация signals.yaml
Используется для расчета необходимости оповещения пользователя о наличии торгового сигнала.[min_weight]
- минимальное значение при котором осуществляется отправка сигнала считается
как сумма значений по всем индикаторам заданным в конфигурации;
[description]
- описание сигнала (заголовок сообщения).
Далее должны идти секции с набором правил по индикаторам расположение индикаторов.
[Название индикатора]
: название индикатора определяется атрибутом индикатора signal_name
;
[weight]
- вес для индикатора;
[rules]
- набор правил для индикатора.
Возможные значения для описания правил:
Значения | Описание |
---|---|
current_value |
Текущее значение индикатора |
prev_value |
Предыдущее значение индикатора |
compare |
Набор правил для сравнения |
Возможные значения для compare правил:
Значения | Описание |
---|---|
price_current |
Текущая цена (close свечи) |
price_prev |
Предыдущая цена (close свечи) |
current_value |
Текущее значение индикатора |
prev_value |
Предыдущее значение индикатора |
current_l_band |
Текущее значение нижней границы для канального индикатора |
prev_l_band |
Предыдущее значение нижней границы для канального индикатора |
current_h_band |
Текущее значение верхней границы для канального индикатора |
prev_h_band |
Предыдущее значение верхней границы для канального индикатора |
- Python 3.8+;
- токен для работы с Tinkoff Invest API (подойдет и sandbox-токен выпустить можно тут);
- токен для бота Telegram (получить можно у пользователя @BotFather);
- идентификатор канала в который будет производиться отправляться уведомление.
- Задать в файле конфигурации свой токен к Tinkoff Invest API.
- Задать в файле конфигурации свой токен к Telegram.
- Задать в файле конфигурации идентификатор Telegram канала.