Последнее обновление проекта: 11.06.2024.
Данный бот предназначен для парсинга валютных пар с сайта Oanda в режиме реального времени, построения предсказания с помощью предобученного CatBoost'a и вывода (в случае положительного прогноза) в телеграмм-бот сообщения о том, что курс по определенной валютной паре в скором времени увеличится, а также записи всех результатов в гугл-таблицу.
Для использования программы необходимо иметь доступ к некоторому телеграмм-боту, иметь аккаунт на Oanda и таблицу в Google Sheets, в которой должны быть созданы лист "consolidate" и листы с названием валютных пар через "_" с колонками Currency, Prediction time, Prediction price, Open time, Open price, Close time, Close price, Profit, Win.
Пока что бот умеет работать только на одном устройстве и в принципе по своему функционалу является достаточно сырым.
- /reg - зарегестрироваться. Этот этап включает в себя два действия:
- указание времени, по прошествию которого бот будет напоминать о том, что он работает, в секундах;
- выбор валютных пар из списка, по которым необходимо отслеживать предсказания.
Процедура устроена так: после сообщению бота целого числа секунд следует выбрать из списка пары и нажать кнопку "выход". Если выбрать все пары, то окно свернется само.
- /info - команда, которая в сообщении присылает параметры действующей регистрации.
Работает и до, и во время выполнения основного кода.
- /start - запуск основного кода, нацеленного на вывод:
- сообщений о работе с определенной переодичностью;
- прогнозов модели машинного обучения.
- /stop - команда, прерывающая выполнения основного кода.
После неё можно опять запустить основной код командой start.
- /stopping - команда для технической отладки, полностью завершающая сессию с ботом в чате.
Рекомендуется её использовать ТОЛЬКО в случаях ручной отладки кода программы. Если вы нажали её случайно, следует остановить код на Вашем устройстве (закрыть терминал, если работаете в VScode) и запустить ее заново.
- Скачать и поместить в директорию с ноутбуком json-файл для доступа в вашу гугл-таблицу. Помимо этого собрать все необходимые токены и id для доступа к телеграмм-боту и Oanda API.
- Разархивировать папку со scaler'ами в директорию с ноутбуком.
- Запустить последовательно все ячейки (кроме последней) в ноутбуке.
- Открыть телеграмм-бот и пользоваться им.
Важно! При любом баге настоятельно рекомендованно вводить команду /stopping. В случае, если это не помогло, необходимо удалить бота в телеграмме и создать такого же.
Для регистрации заново (для изменения данных) следует действовать через /stopping: написать эту команду, потом удалить терминал в VScode. После этого запустить код программы заново и зарегестрироваться в боте с новыми данными.
Особенности работы /stop и /start. В случае, если есть желание завершить работу бота, а после включить его через время, следует поступать так: ввести /stop -> ввести /stopping -> прекратить выполнение кода на компьютере с помощью удаления терминала -> запустить код опять -> зарегистрироваться в боте и начать выполнение программы, когда это будет нужно. Также добавлена новая функция на этапе выбора пар: "Выбрать всё". Она позволяет выбрать все валютные пары одним кликом.
Также не стоит обращать внимание на вылезающие в самом терминале фразы "Request error: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))". Это не свидетельствует о серьезной ошибке, код продолжает работу. В случае иного вывода в терминале стоит написать нам, чтобы мы поправили баг
- Переписать все запараллельные куски кода через asyncio
- Добавить возможность работы с ботом нескольких пользователей
- Решить проблему с некорректно приходящеми показателями объемов торгов, из-за которых падает accuracy модели
- Заново отвалидировать модель