Простой учебный крипто‑бот на Python: получает цену BTC/USDT с TradingView через Selenium и торгует по пересечению двух SMA (300 и 900). В проект также встроен Telegram‑бот для просмотра статуса.
main.py— запуск торгового цикла.trading_processes.py— логика стратегии (SMA 300/900), комиссии и запись состояния.get_price.py— парсинг текущей цены с TradingView.indicators.py— расчёт SMA.io_json.py— чтение/запись состояния в JSON.bot.py— Telegram‑бот для мониторинга.params.json— текущее состояние стратегии (баланс, цена покупки, флаг сделки).system.json— системные параметры (старт/текущее время, флаг панической продажи).
- Это экспериментальный код. Используйте только на тестовых данных/средствах.
- В
bot.pyесть место для API‑токена Telegram. Никогда не храните токены в открытом виде в публичных репозиториях.
- Python 3.9+
- Google Chrome
- Библиотеки:
selenium,webdriver-manager,pyTelegramBotAPI
Установка зависимостей:
pip install selenium webdriver-manager pyTelegramBotAPI- Проверьте, что Chrome установлен.
- При необходимости отредактируйте стартовые значения в
params.json. - Запустите торговый цикл:
python main.py- В
bot.pyзадайте токен:- Найдите строку
bot = telebot.TeleBot()и передайте токен.
- Найдите строку
- (Опционально) Добавьте свой
peerIDв список в обработчике сообщений, чтобы ограничить доступ. - Запустите:
python bot.py- Цена берётся с TradingView (
BINANCE:BTCUSDT) через Selenium. - Строятся две SMA: 300 и 900 последних значений.
- Условие покупки: SMA300 > SMA900 и нет открытой сделки.
- Условие продажи: сделка открыта и текущая потенциальная прибыль превышает комиссию.
- Состояние сделки и баланса пишется в
params.json.
- Скрейпинг TradingView может ломаться при изменении разметки.
- Сейчас лог транзакций в
bot.pyчитаетtransactions.txt, но файл не создаётся автоматически.
Проект без лицензии. Используйте на свой риск.