Блог им. Tyam

Как сделать биржу криптовалют. Часть 1. Введение

Всем привет

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

А родилась эта серия видео примерно, как и предыдущая. Про ликвидность. Из желания просто немного время своё освободить. Мне, как в случае с ликвидностью каждый месяц пишут студенты и различные команды которые хотят стартовать делать биржу. И все эти люди хотят консультации.

Сейчас реже, один раз в месяц. Раньше, в 2020 году, писали по три – пять раз за месяц. Я никому не отказываю. Консультирую. Но, если честно. Задолбало.

Поэтому напишу серию этих видео. И буду им просто высылать.

 

Сразу отвечу на вопрос: Чё это тебе пишут? Ты врёшь!? Собака серая. Падлюка!

 

Нет. Я, в какой-то момент жизни имел неосторожность написать про то как правильно делать архитектуру биржи. На сегодняшний день пост (https://o-s-a.net/posts/kak-sdelat-birgy-kriptovalut.html ) просмотрело в Русском сегменте интернета более 29 тысяч человек.

Напомню. Базово – компания у нас софтверная. Мы делаем на заказ софт. Сейчас уже и торгуем и всё подряд, но базово – начиналось всё с софта. Я – начинал с ММВБ, NYSE и классических бирж. И пришёл в ужас, когда начали поступать заказы на роботов для крипто-бирж. Нет нормального АПИ. Нет зоны коолокации! Если Апи есть, то нет кучи нужных данных. Скорость – 10 заявок в минуту максимум на многих биржах. Короче – паника у меня неподдельная началась.

И вот – написал небольшой обзорчик для будущих поколений. И… Чёт зашло слишком круто. Почти 30 тыщ. просмотров. И начали они мне писать …

Короче – остановитесь!

В этой серии видео я расскажу то что знаю сам. Про те проблемы с которыми Вы столкнётесь. Про те проблемы с которыми столкнулся я в нескольких проектах в которых хотел участвовать в качестве разработчика биржи.

В общем – расскажу всё что знаю. Помогу всем страждущим.

 

А сейчас, первый лайфХак.

Хотите нормальное АПИ? Смотрите как реализован СмартКом. Это Апи для подключения к брокеру ITI Capital. Российскому. Он поддерживает одновременно и СПОТ и Фьючерсы и Опционы.

У него прекрасное описание. Какие поля должны содержать определённые типы данных. Что в них должно быть.

Я это говорю, так как многие в индустрии ориентируются на Бинанс. А у бинанс друзья АПИ – дерьмовый на самом деле. Третьесортный, я бы даже так сказал. Так делать не нужно.

Берите описание для СмартКом. Делайте поправку на то что это будет частично РЕСТ, частично ВёбСокеты. И всё у вас будет хорошо!

Всем удачных алгоритмов!

P.S.

Друзья. СмартЛаб — самая токсичная площадка для общения которую я знаю. Несмотря на это я её люблю и продолжу здесь писать. Но при этом пытаюсь избавиться от токсичности в своём блоге. Мне некогда с психопатами Смарт-Лабовскими конфликтовать и чистить комментарии сидеть. Я лучше код попишу или почитаю. Поэтому — экспериментирую с форматом.

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

Добавляйтесь в друзья — пишите комментарии.

★4
8 комментариев
broker25, Не знаю откуда Вы это взяли. У нас десятки различных способов контроля ползиций. И наш слой создания роботов не ограничен маркет заявками.

Посмотреть можно в классе:
BotTabSimple

Не говоря уже про то что наш АПИ позволяет напрямую взаимодействовать с серверами.


public Position BuyAtMarket(decimal volume)

public Position BuyAtMarket(decimal volume, string signalType)

public Position BuyAtLimit(decimal volume, decimal priceLimit)

public Position BuyAtLimit(decimal volume, decimal priceLimit, string signalType)

public Position BuyAtAceberg(decimal volume, decimal price, int orderCount)

public Position BuyAtAceberg(decimal volume, decimal price, int orderCount, string signalType)

public void BuyAtStop(decimal volume, decimal priceLimit, decimal priceRedLine, StopActivateType activateType, int expiresBars, string signalType)

public void BuyAtStop(decimal volume, decimal priceLimit, decimal priceRedLine, StopActivateType activateType, int expiresBars)

public void BuyAtStop(decimal volume, decimal priceLimit, decimal priceRedLine, StopActivateType activateType)

public void BuyAtStop(decimal volume, decimal priceLimit, decimal priceRedLine, StopActivateType activateType, string signalType)

public void BuyAtLimitToPosition(Position position, decimal priceLimit, decimal volume)

public void BuyAtMarketToPosition(Position position, decimal volume)

public void BuyAtMarketToPosition(Position position, decimal volume, string signalType)

public void BuyAtAcebergToPosition(Position position, decimal price, decimal volume, int orderCount)

public void BuyAtStopCancel()

public Position SellAtMarket(decimal volume)

public Position SellAtMarket(decimal volume, string signalType)

public Position SellAtLimit(decimal volume, decimal priceLimit)

public Position SellAtLimit(decimal volume, decimal priceLimit, string signalType)

public Position SellAtAceberg(decimal volume, decimal price, int orderCount)

public Position SellAtAceberg(decimal volume, decimal price, int orderCount, string signalType)

public void SellAtStop(decimal volume, decimal priceLimit, decimal priceRedLine, StopActivateType activateType, int expiresBars, string signalType)

public void SellAtStop(decimal volume, decimal priceLimit, decimal priceRedLine, StopActivateType activateType, int expiresBars)

public void SellAtStop(decimal volume, decimal priceLimit, decimal priceRedLine, StopActivateType activateType)

public void SellAtStop(decimal volume, decimal priceLimit, decimal priceRedLine, StopActivateType activateType, string signalType)

public void SellAtLimitToPosition(Position position, decimal priceLimit, decimal volume)

public void SellAtMarketToPosition(Position position, decimal volume)

public void SellAtAcebergToPosition(Position position, decimal price, decimal volume, int orderCount)

public void SellAtStopCancel()

public void CloseAllAtMarket()

public void CloseAllAtMarket(string signalType)

public void CloseAtMarket(Position position, decimal volume)

public void CloseAtMarket(Position position, decimal volume, string signalType)

public void CloseAtLimit(Position position, decimal priceLimit, decimal volume)

public void CloseAtLimit(Position position, decimal priceLimit, decimal volume, string signalType)

public void CloseAtAceberg(Position position, decimal priceLimit, decimal volume, int orderCount)

public void CloseAtAceberg(Position position, decimal priceLimit, decimal volume, int orderCount, string signalType)

public void CloseAtStop(Position position, decimal priceActivation, decimal priceOrder)

public void CloseAtStop(Position position, decimal priceActivation, decimal priceOrder, string signalType)

public void CloseAtTrailingStop(Position position, decimal priceActivation, decimal priceOrder)

public void CloseAtTrailingStop(Position position, decimal priceActivation, decimal priceOrder, string signalType)

public void CloseAtProfit(Position position, decimal priceActivation, decimal priceOrder)

public void CloseAtProfit(Position position, decimal priceActivation, decimal priceOrder, string signalType)

public void CloseAllOrderInSystem()

public void CloseAllOrderInSystem(string signalType)

public void CloseAllOrderToPosition(Position position)

public void CloseAllOrderToPosition(Position position, string signalType)

public void CloseOrder(Order order)

broker25, Не знаю бро как ты ко мне в друзья попал. Каки свои тут и плохое настроение на одну из лучших платформ по Алго в Ру-нете изливать.
Да и кстати на Reddit нас на 7мое(upd: 9тое) место поставили в одном из международных рейтингов самых перспективных Open Source проектов по Алго. 

Из друзья убираю тебя. Уж извините
Алексей Ван , 

Снёс в итоге хейтера.

Друзья.

Вот плейлист над которым я каждую неделю работаю: www.youtube.com/playlist?list=PL76DtREkiCATe28yPbAT_5em1JqA4xEiB

С тем как БЕСПЛАТНО и БЫСТРО научиться писать роботов в OsEngine. Никто Вас платные курсы покупать не заставляет. Не покупайте.

Также, внутри библиотеки у нас около 40 роботов бесплатных. И с управлением позицией. И с маркетМейкеров. И скринеров. И арбитражеров. 
будет интересно послушать, посмотреть.
Есть одна маленькая просьба, можно ли подачу материала с вайтборда на стене, перенести на электронный, а то очень не удобно смотреть было в предыдущих видео.
Спасибо.
avatar
CloseToAlgoTrading, подумаем, что можно с этим сделать

avatar
Подытожу.

Этого бы и на пост целый хватило. Но я решил с Нового года больше Вас не травмировать своей личной жизнью и прочим. Только по делу.

Поэтому комментарием.

Добавляйтесь в друзья. Давайте общаться пытаться нормально. У меня усталости никакой нет от хейтеров, как говориться — кто на смарт-лабе 10 лет пишет — тот хейтеров любит. Но комментарии — только для друзей.

Комментарии — это продолжение статьи… А не срач… Ну сколько можно. Посмотрите под соседние топики.

Я просто не понимаю немного как можно под научными статьями и каким-то техническими откровениями херами друг друга закладывать и о политике разговаривать.

И тем более меня обвинять в каком-то специально создаваемом мной дефиците информации об OsEngine — чтобы мол курсы люди покупали. Именно под статьями где я пытаюсь людям информацию давать.

У меня там ещё куча постов и видео технических и по делу. И очень много. Добавляйтесь в друзья.

Давайте жить дружно!



Пользователь разрешил комментарии только друзьям.

теги блога Алексей Ван <o-s-a.net>

....все тэги



UPDONW
Новый дизайн