Криптовалютный бот для всеобщего блага
Первое, что может прийти вам в голову после прочтения этого, должно быть что-то вроде: «Какого черта бот для торговли криптовалютой может принести пользу?».
Я долгое время скептически относился к неолиберальной системе и ее склонности отдавать приоритет интересам богатых в ущерб демократии, окружающей среде и беднейшим слоям населения. Боты для высокочастотной торговли — прекрасный пример новых технических инструментов, поддерживающих недостатки и бессодержательность этой вредоносной экономической системы.
Идея этого проекта заключается в том, чтобы сделать прибыльного торгового бота с помощью Python на бирже криптовалют Binance и передать полученную прибыль неправительственным организациям. RobotHood не изменит лицо мира, но будет скромной попыткой перераспределить богатство в моем масштабе.
1. Когда покупать, когда продавать?
Вот в чем вопрос. И давайте посмотрим правде в глаза раз и навсегда: найти этот ответ остается несбыточной мечтой, особенно на рынке криптовалют, который очень нестабилен. Когда я начал этот проект год назад, я быстро понял, что не могу сам генерировать торговые сигналы. Плюс я не хотел тратить время на обучение трейдингу по некоторым причинам.
Надеюсь, мой хороший друг, который торгует криптовалютой в свободное время, познакомил меня с закрытым каналом в разногласиях, на котором сообщество размещает торговые сигналы отличного качества. Вот причины, по которым их работа идеально подходит для того, чего я пытаюсь достичь:
- Их результаты публикуются годами и довольно хороши (~97% сигналов достигли первой цели продаж).
- Их торговые сигналы отформатированы, что упрощает их удаление с помощью некоторых регулярных выражений.
- Discord довольно легко контролировать с помощью python.
- Сообщество предоставляет около 50 сигналов в месяц.
2. От сообщений Discord к исполняемым торговым сигналам
Как это часто бывает с задачами, ориентированными на данные, первой задачей было извлечь данные и сделать их пригодными для использования. Более того, поскольку мы никогда не знаем, когда появится сообщение, мы должны использовать бота, который в режиме реального времени сканирует канал дискорда торгового сигнала.
Для этого я использую библиотеку discord.py-self , которая позволяет выполнять мой код при определенных событиях в моей учетной записи Discord, например, когда сообщение отправляется на назначенный канал
После получения сообщение о разногласиях будет обработано и преобразовано в объект Python TradingSignal . Вот пример преобразования со старым сигналом:
3. Исполнение торговых сигналов
Теперь у нас есть правильный объект TradingSignal, мы можем использовать TradingSignalManager. Этот объект будет использовать python-binance для взаимодействия с Binance API и:
- Рассчитайте количество покупок в соответствии со свободными фондами, которые есть у меня на моей учетной записи Binance.
- Сделайте заказ на покупку на рынке.
- Рассчитайте объемы продаж в соответствии с нашей торговой стратегией (в каких пропорциях мы используем каждую целевую цену).
- Сделайте один или несколько ОСО-ордеров на продажу с соответствующими параметрами.
4. Прикрывайте спину
Поскольку здесь мы имеем дело с деньгами, мы должны принять некоторые меры, чтобы не потерять все, что у нас есть. Вот что я сделал, чтобы прикрыть спину:
- Использование моего токена Discord в качестве переменной среды (никогда и нигде не программируйте его жестко).
- Защита моих ключей API Binance и использование их в качестве переменной среды (никогда и нигде не программируйте их жестко).
- Защита моей учетной записи Binance.
- Я как маньяк тестировал каждую сделанную функцию (вы можете найти их в тестовой папке репозитория git).
- Использование действий GitHub CI/CD для обеспечения качества кода.
- Контейнеризация бота в защищенном образе Docker.
- Создание журналов на протяжении всего процесса для эффективного устранения неполадок.
- Инвестирую только те деньги, которые могу позволить себе потерять.
Последний, но тем не менее важный
Вы можете спросить меня, как я узнаю, сработает ли это? Я не очень. Позвольте мне объяснить: я тестировал этого бота в течение последних трех месяцев и заработал около 100 евро при первоначальных инвестициях в 2000 евро. Однако криптовалюты очень волатильны, и мы не можем знать или даже делать предположения о том, что произойдет дальше.
Основная мотивация, которая движет мной при разработке этого бота, — показать, что мы можем взломать то, что изначально было разработано для получения личной прибыли, чтобы сделать мир лучше. Как разработчик, я ненавижу то, как обычно используются технологии, этот проект — попытка зажечь проблеск надежды для тех, кто думает так же.
Кроме того, это была возможность приобрести новые навыки решения сложных проблем, работая над важным проектом.
/!\ ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: я опубликовал только фиктивную и безвредную версию RobotHood на GitHub, чтобы никто не мог использовать ее для своей выгоды или убытков. Он не содержит TradingSignalManager, который является основной функцией.
Действительно, RobotHood не был бы RobotHood, если бы я опубликовал полный исходный код в Интернете. Кроме того, я не буду раскрывать, какую группу разногласий я использую для получения торговых сигналов.
Заключение
Я очень горжусь тем, что наконец-то могу написать об этой работе, ссылку на GitHub вы найдете здесь . Это был краткий обзор основных функций RobotHood, скоро появятся новые статьи:
- Как отслеживать прибыль, полученную от RobotHood.
- Научный подход к оптимизации инвестиционной стратегии.
- Презентация поддерживаемых НПО и системы пожертвований RobotHood.
- И еще немного о других проектах и хитростях разработчиков!
PS: теперь я внештатный специалист по данным, если вам нравится моя работа и вам нужна (или вы знаете кого-то, кто нуждается) помощь с проектом данных, не стесняйтесь обращаться ко мне. Для получения дополнительной информации проверьте мой профиль Malt здесь или мой веб-сайт там .

![В любом случае, что такое связанный список? [Часть 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































