Цель заморожена
Автор цели 04 августа 2019 года заморозил цель
Торговый робот v.1 для криптобирж на ASP.NET
Делаю пока прелюдию для торгового робота
Критерий завершения
Бот работая на серваке собирает инфу в БД с разных бирж, есть личный кабинет с данными пользователя, историей, отчетами и немного алгоритмов торговли, например, стоп-лоссы для huobi, т.к. их там нет
-
Бот работает работает на серваке, собирает инфу в БД с разных бирж(Gateio, Binance, huobi, BItMex);
-
Делаю авторизацию средствами ASP.NET и настройки пользвотеля;
-
Отображаю инфу с личного каибнета разных бирж - это простые JSON по Web API бирж;
-
Делаю пока несложный алгоритм торговли, например стоп-лоссы для huobi, их там нет.
Например, можно брать идеи с сайта fl.ru
Вот одна из идей с сайта fl.ru https://www.fl.ru/projects/3852731/bot-dlya-birji-kriptovalyut-binance.html
Бот для биржи: Binance
Основные параметры:
- Ввод API ключа;
- Ввод API секретного кода;
- Ввод торговых пар (возможность выбора любых пар доступных на binance и возможность одновременной торговли по нескольким парам, соответственно требуется все настройки, указанные ниже, вводить отдельно для каждой торгуемой пары):
- Ввод основной валюты, относительно чего идет торговля (допусти BTC);
- Ввод приобретаемой валюты (допустим EOS);
- Ввод общего объема основной валюты, которое дается в работу боту из кошелька;
- Ввод сколько тратить основной валюты за 1 сделку (допустим, сколько тратить BTC);
- Ввод числа максимального количества сделок на покупку (по сигналу(ам) на покупку) до встречи сигнала на продажу: 1) если =1, то как только бот купил, будет сидеть и ждать сигнала на продажу даже если до продажи будут еще сигналы на покупку; 2) если максимальное число допустим =5, то бот при встречи сигнала на покупку приобретает валюту исходя из суммы на 1 сделку, если до сигнала на продажу появятся еще сигналы на покупку, то он снова купит еще на сумму одной сделки и т.д., но количество сделок не выше указанного числа 5 и необходима пауза между сделками на покупку до встречи сигнала на продажу, которая равна указанному ниже значению, во избежание проворота сразу N-го количества сделок в пару секунд);
- Ввод обязательной паузы (времени в минутах) между сделками на покупку до встречи сигнала на продажу (чтоб не было совершено куча сделок за одну короткую свечу);
- Сколько по времени держать ордер на покупку в секундах (во избежание зависания бота в случае если ордер на покупку выставлен, а цена резко изменилась и покупка не удалась и цена долгое время не приходит к выставленной в ордере цене), соответственно после сброса, если такой имел место быть, весь алгоритм продолжается дальше;
- Выбор чем платить комиссию: 1) валютой в которой совершается сделка (BTC), 2) льготной системой, валютой BNB биржи Binance.
Алгоритм покупки и продажи:
Покупку и продажу осуществлять относительно полос Боллинджера:
«Полосы Боллинджера представляют собой три линии:
1. Средняя линия ML (обычное скользящее среднее) рассчитывается по формуле:
ML = SUM (CLOSE, N) / N = SMA (CLOSE, N),
где:
— SUM (…, N) — сумма за N периодов;
— CLOSE — цена закрытия;
— N — количество периодов, используемых для расчета;
— SMA — простая скользящая средняя.2. Верхняя линия TL (средняя линия ML, смещенная вверх на определенное число D стандартных отклонений StdDev) рассчитывается по формуле:
TL = ML + (D * StdDev),
3. Нижняя линия BL (средняя линия ML, смещенная вниз на число стандартных D отклонений StdDev) рассчитывается по формуле:
BL = ML — (D * StdDev).
StdDev – стандартное отклонение рассчитывается как:
StdDev = SQRT (SUM ((CLOSE — SMA (CLOSE, N))^2, N)/N),
где SQRT — квадратный корень.
Рекомендуется использовать простое скользящее среднее с периодом 20 в качестве средней линии и два стандартных отклонения для расчета границ полосы.»
- Соответственно возможность ввода периода скользящей средней N;
- Ввод числа отклонений D;
Сигнал на покупку:
Выбор пересечения цены: 1) пересечение нижней полосы Боллинджера сверху вниз,
2) либо пересечение средней линии сверху вниз;
Сигнал на продажу:
Выбор пересечения цены: 1) пересечение верхней полосы Боллинджера снизу вверх,
2) либо пересечение средней линии снизу вверх;
Дополнительно:
- хотелось бы чтобы бот информацию об открытых и закрытых сделках сохранял в отдельный файл, который можно было бы анализировать для каждой пары по которой работает (Пример: BTC/EOS купил 05.11.2018 в 11:43 по цене 0,0056 BTCна сумму 0,03 BTC, продал 05.11.2018 в 14:21 по цене 0,0067 на сумму …, полученный процент прибыли + или -…% )
- есть ли возможность во время работы бота дать команду после закрытия последней сделки больше не открывать новую (допустиv по одной из пар валют если работает сразу по нескольким парам, а остальные пусть продолжает)?
- есть ли возможности включения или хотя бы выключения бота удаленно полностью или по определенной паре, если работает по нескольким (знаю у многих ботов если вручную удалить его ордер, то он стопорится и не продолжает работу и можно закрыть все его сделки вручную за него)?;
- есть ли вообще возможность управления ботом дистанционно с мобильного устройства (слышал, что то про отправку команд боту через Telegram)?;
-
https://www.fl.ru/projects/3852731/bot-dlya-birji-kriptovalyut-binance.html
-
https://client.wavesplatform.com/
-
https://www.fl.ru/a.php?href=https%3A%2F%2Fclient.wavesplatform.com%2F
-
-
https://www.fl.ru/projects/3945584/servis-dlya-treydinga-na-kriptovalyutah-rabota-s-api.html
Сервис по копированию сигналов
Пример tindex . io так же autobot . pro тут реализован сервер и все работает через апи. Трейдер через апи биржи дает сигналы и клиент, при регистрации вбивает апи от биржи, выбирает размер ставки, % риска и тд. (Условия копирования) и сервис ретранслирует сигнал на клиентский счет.
Требуется: (В комментариях написать)
1. Предложить свой язык программирования на котором рекомендуете разрабатывать сервис и аргументировать почему. (Мы предпочли бы GO, но так как очень мало специалистов достойного уровня, то Angular/React)
2. Время (Сколько потребуется на разработку MVP и полностью сервиса (Без дизайна)
3. Цена (За MVP и сервис без дизайна)
4. Опыт с подобными сервисами, если есть линки.
Изначально закладываем кроссплатформенность (IOS + Android) и в будущем разработку собственного API для интеграции в сторонние сервисы, кошельки.
Вся работа через наш сервер, управление клиента и трейдера через ЛК сайта и API биржи.
Телеграмм. Вся работа по копированию может вестись и через него. Регистрация пользователя, оплата, регистрация трейдера, отчет по собственному копированию и тд. Все через бота(Общая статистика трейдеров и фильтрация может быть на сайте).
Разработка должна разделяться на 3 части:
Сервер, ЛК для трейдера/клиента, система оплаты.(Это должен быть полноценный рабочий продукт(Или рабочий прототип с базовым интерфейсом)
Дизайн и UI (Красиво упакованный и оформленный, отполированный сервис с пофикшеными багами)
Собственное API для интеграции в сторонние кошельки, сервисы, биржи.
Этап разработки
Серверная часть, должна обрабатывать апи ключи от биржи трейдера, мониторя: баланс; открытые, закрытые сделки; выводы денег с биржи. В момент когда трейдер открывает сделку, сервер через апи должен получить: Название валюты(Коина на котором была открыта сделка); Направление (Бай или Селл); Время открытия; Размер лота(Сумма открытия); Есть ли дополнительные ордера в виде стоп лосса или Тейк профита. Дальше сервер отправляет этот сигнал клиенту и открывает через его апи сделку с условием фильтрации и доп. изменений наложенных пользователем.
Доп. изменения у клиента сервиса(В ЛК): Клиент может указать % от его баланса на бирже для открытия каждой сделки(Например трейдер торгует 10% от своего депозита на 1 сделку. Клиент посчитал что это очень рискованно и поставил 3%, тем самым уменьшив свою доходность, а также и риски.); Клиент может выставить фиксированный коэффициент умножения ставки трейдера(Если трейдер ставит 2 BTC а клиент указал 10% то у него будет сделка на 0.2 btc, либо наоборот, если трейдер с маленьким балансом и ставит по 0.2 btc, а у клиента большой депозит, то клиент может ставить 500% и торговать соответственно исходя из своего депозита по 1 btc.; Управление рисками( клиент может указать сумму, или % от депозита(Баланса) после достижения которого как с положительным исходом, так и отрицательным торги у данного трейдера прекращаются. Также можно проставить общий риск по балансу на всех трейдеров или доход, после которого торги также прекращаются)
Трейдер проходит регистрацию(В момент регистрации ставит галочку что он трейдер), Выбирает биржи на которых собираются торговать, вводит свои апи ключи от бирж, выбирает тип вознаграждения за убытки(1. фикс плата, например 20$ в месяц; 2. % от дохода который он принес клиенту). Так же трейдер должен указать сумму проскальзывания(То есть % после которого при нехватки ликвидности копирующий перестанет копировать трейдера), пример: трейдер купил низко ликвидную валюту в которой нету продавцов, копирующие если будут следом покупать то могут сами создать памп и задирать сильно цену, так что трейдер сможет уже фиксировать сделку, а копирующие будут в минусе, поэтому трейдер должен указать % скольжения после которого копирующие только лимитными ордерами могут покупать и следовать за трейдером. И дальше может начинать торговлю, с этого момента начинается вестись статистика его баланса, убытков, доходов, рисков, количества сигналов, % успешных сделок и тд. остальные параметры фильтруются системой из базовых получаемых данных о трейдере.
- 1756
- 08 сентября 2017, 01:08
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением