January 21, 2021

Торговый бот для Binance

Суть его проста: бот парсит сообщения из Телеграма и открывает позицию на Бинанс Фьючерсах.

Формат сообщений в Телеграме выглядит следующим образом:

📩 #ALGOUSDTPERP Приготовьтесь к Шорту | Текущая цена: 0.489 Название стратегии: ALGOUSDTPERP - Binance Futures | 30 мин таймфрейм Точка входа (может еще измениться): 0.4848284

— 🎯 Точность — 50 последних сигналов: 94% 📈 - очень высокая точность 15 последних сигналов: 93% 📈 - хорошая динамика

— ⌛️ Детали сигнала (МОГУТ ИЗМЕНИТЬСЯ) — Цель 1: 0.4833782652 (закройте 30% здесь) Цель 2: 0.4800281188 (закройте 20% здесь*) Цель 3: 0.4707071845 (закройте 20% здесь*) Цель 4: 0.4489151852 (закройте 10% здесь*) Цель 5: 0.4040236667 (закройте 10% здесь, держите остаток (10%) и закрывайте по мере роста профита) 💡 *После этого, вы можете передвинуть остаток позиции в безубыток ⛔️ Стоп-лосс: 0.501797394 или обратный сигнал 🔀 🏦 Плечо: 10x перекрестное 💰 Депозит: 8-12%

#Crypto

Настройки


Будут настройки по умолчанию, а также Исключения, где для каждой монеты будут свои настройки.
Настройки по умолчанию

Максимальное количество открытых позиций: X (игнорировать все последующие сигналы если достигнут лимит открытых позиций)
Размер позиции: значение %/$ | опции: % от депозита, в эквиваленте USDT (нужно будет пересчитать по текущему курсу). Например 10% от депозита, или 1000 USDT


Плечо: 1-20x | перекрестное/изолированное
Отмена ордеров после отката цены: x%
Тейк-профит: сделать добавление до 5 тейков (кнопки добавить/удалить). Поле: "Тейк-профит 1" и значение сколько закрыть позиции на этом тейке. Например Тейк-профит 1 = Цель 3 | 100%. Это будет означать что вся позиция закроется на 3 цели которая равна 0.4707071845.


Если выбрано например 2 тейка, то это будет выглядеть примерно так.

Просчитать чтобы в совокупности было 100%.

Далее рядом с каждым тейком будет галочка БУ, что означает безубыток. После достижения данного тейк-профита, на остаток позиции ставится рыночный стоп-лосс на точку открытия позиции (общий стоп-лосс соот-но отменяется).

Например: мы открыли позицию, затем цена дошла до Тейка 1, мы закрыли 70% позиции и поставили стоп-лосс на оставшиеся 30% в безубыток. Таким образом мы застраховали профит, но полностью позицию пока закрывать не хотим, и надеемся что цена дойдет до Тейка 2. Ну а если цена откатится, то оставшиеся 30% позиции закроются в безубыток.

Индивидуальные настройки для монеты (исключения).

Все тоже самое, только будет поле где нужно ввести название монеты, и если пришел сигнал на такую монету, то будут подтягиваться эти настройки-исключения для нее.

Трейдинг


Обязательно парсить только те сообщения где есть слово Приготовьтесь. Приготовьтесь к Шорту - означает открывать Шорт. К Лонгу - соот-но Лонг.

Название монеты - ALGOUSDTPERP. Т.к Бинанс не примет название ALGOUSDTPERP, то для начала нам нужно спарсить это название монеты, и убрать окончание "PERP" (если такое имеется). Получится ALGOUSDT.
Далее берем значение "Точка входа (может еще измениться)". Выставляем отложенный рыночный стоп ордер на цену 0.4848284 без галочки "Сокращение".
Размер позиции, плечо берем из настроек.
Далее берем тейки из настроек и выставляем лимитные ордера без галочки "Сокращение".
Затем ждем пока цена дойдет до точки входа и позиция будет открыта. Если же цена откатилась от Текущая цена: 0.489 на x% (берем значение из "Отмена ордеров после отката цены"), то все ордера снимаются и сигнал отменяется.
Как только цена дошла до точки входа выставляем стоп-лосс ⛔️ Стоп-лосс: 0.501797394

Если при открытии позиции обнаружилось, что цена уже ушла выше Цели 1, то такой сигнал отменяется.

После того как все тейки и стоп-лосс были выполнены, отменяем все оставшиеся ордера.

Если во время уже открытой позиции пришел обратный сигнал Приготовьтесь на эту монету, то ставится 2 стоп-лосса: один для закрытия текущей позиции с галкой "Сокращение", и второй для открытия новой (противоположной позиции). Значение входа берется из Точка входа (может еще измениться): X

Т.к могут приходить сигналы на 1 монету, но по разным стратегиям — следить в сигнале за Название стратегии: если мы уже вошли к примеру по стратегии EOSUSDT v.1, и потом пришел сигнал по стратегии EOSUSDT v.2, то игнорировать ее.

Статистика

Все сделки записываются в таблицу. Поля: дата/время, монета, цена входа, статус (открыта/закрыта по стопу/закрыта по тейку/закрыта в бу/отменена), доход в USDT, доход в %. Ниже итоговый профит по всем сделкам. Сортировка столбцов.

Возможность фильтрации по определенной монете и поиск. Выбор диапазона дат, пагинация (100 на страницу).

Прочее

Мультиюзерность, регистрация . Админская панель с выводом всех юзеров (поля: дата реги, логин, email, дата окончания подписки и общий доход за все время) и возможность входа в юзерский аккаунт. После регистрация у юзера статус - не активирован и даты окончания подписки нету. Админ вручную активирует юзеров и выставляет дату окончания подписки, после которой данный юзер не может пользоваться ботом и ему покажется сообщение "Подписка истекла".
Сортировка столбцов в таблице.

Bootstrap, дизайн согласовать.

Сделать минимальные задержки, ибо в трейдинге каждая секунда важна.

Структура сайта

Регистрация:
Email
Login
Пароль
Повторить пароль

Логин Email или Login
Пароль
*Забыли пароль

Главная для юзера На главной - Список последних сделок (таблица)
Справа в сайдбар Меню: Статистика, Настройки -> Настройки по умолчанию и Настройки индивидуальные (список индивидуальных настроек с возможностью их создания, удаления и изменения), Профиль (смена пароля, и ввод API ключей. API ключи ествественно зашифровать).
Вверху справа: Дата окончания подписки, Логин и Выйти

Главная для админа На главной - Список последних сделок (таблица)
Справа в сайдбар Меню: Статистика, Настройки -> Настройки по умолчанию и Настройки индивидуальные (список индивидуальных настроек с возможностью их создания, удаления и изменения), Пользователи, Профиль (смена пароля, и ввод API ключей. API ключи ествественно зашифровать)
Вверху справа: Логин и Выйти

Админ -> Пользователи

Таблица: дата реги, логин, email, дата окончания подписки и общий доход за все время. Клик по дате окончания - меняет дату. Клик по логину - вход в его акк.