Author

Topic: Qt Bitcoin Trader (неоффициальные доработки клиента) (Read 570 times)

jr. member
Activity: 322
Merit: 2
В чём заключается глючность API Bittrex?

Боюсь, что тут не правильно выразился товарищ разработчик, глюченности у api нету, оно нормально работает, а вот ограничения у него существенные, хотя api binance гораздо тогда уж более "глючное".

Меня тоже недавно беспокоил вопрос работы с bittrex через сокеты, но специально созданного канала у них я не увидел, если кто что по этому поводу знает, поделитесь пруфом) Вообще из мнгогих бирж bittrex хорошо держит нагрузку на свое API и не банит за частое использование.

Ссылок нет, надо разбирать исходники на гитхабе, их там много.

идем сюда https://websocket.org/echo.html
в локейшин вставляем
Code:
wss://socket.bittrex.com/signalr/connect?transport=webSockets&clientProtocol=1.5&connectionToken=ScrX2iX9Df5nLYIPoD5VovnAZKDpekU2WqcSaEA53NLJBeenQU4OoqDBhWKCQUuymPPwsJmlK0ab193hupRCar6F9ONLQxICIFhXpKgMQVFA5phc&connectionData=&tid=7

в Message:
Code:
{H: "c2", M: "SubscribeToExchangeDeltas", A: ["USDT-BTC"], I: 1}
(браузер яндекс, на других браузерах, возможно надо использовать другой протокол)



http://i105.fastpic.ru/big/2018/0518/56/431d7857ce16fd60231040f9d9567756.jpg   если не откроется картинка

Затем нажимаем коннект, потом сенд мессадж, и вам польются данные по этому тикеру! Но! Данные эти сжаты, опять же надо разбираться по какому алгоритму....  Wink


Quote
RECEIVED: {"C":"d-6878FB21-Etty,2|Bf,57F2","M":[{"H":"C2","M":"uE","A":["bY69DsIwDITf5eYQ2flp7IzAChK0DIC68hJV371pQ6FI3ODB/nx3A07IuLXHbrfvDjA4IzsXORg8kJ8DujsyGVyRhRpvk0Yl59jgUvaWSAIVjaaSbiGT0HyqWkgWSyEGX8aKckUb5l+0fI69QftJr57CpFZVt6ALQdn7tFq+e3IQm9h/ybm2pG3PGq4U6W/4q4T34wQ="]}]}

RECEIVED: {"C":"d-6878FB21-Etty,2|Bf,57F3","M":[{"H":"C2","M":"uE","A":["JYsxDoAgEAT/sjUSOIXAlWirRsVCDa2fIP7dM24zW8xUjGDs25CblHsoTGAiZ53CCb6KwvbjFlTMWey0HyKu4GBN1DFG801hARstrw0dSS+qdeR9F7wL5M1Tnhc="]}]}

RECEIVED: {"C":"d-6878FB21-Etty,2|Bf,57F4","M":[{"H":"C2","M":"uE","A":["NYwxDoNADAT/srVzsg0cxCXQggQcBaC0+QS6v2MSsc1KO6M9McCwLn16takDYYSpVhIJO+w4kTYYE2ZYw1ECa6X1mx1PvgfmpmRPpr8pP7OOIqHQG7A+Zv4QFr/0+t6VLw=="]}]}

RECEIVED: {"C":"d-6878FB21-Etty,2|Bf,57F5","M":[{"H":"C2","M":"uE","A":["lZXLbttADEX/ZdYKwTc5WvaxS1u0dhZJ4G1+IvC/d2LXaeTRwJEWAgScueTlY/RafpS5POy+7e++7L+WqfwsM7NRTOWpzM+vZf9YZprKnzIn1gr475nK7zIj4HFaIu5g7sYmMUSsIZWQUIaIQJ7j0G1knItAVKvIPFYhQDaOij5CLIBrSlDmbWRo2hRCNYOUhwiBt5ejdHXBExJOBMInzxcVVaRKLivkolVvJyNaGhgditddJTZMzi48dv2XdGFW6siANHYlsosXEiJS60jvZopblsq9poEsLClg9YoadQVdum+fQinShxcgWoZ/y7QNcEcyVMuPtUc7H1whryxlC5GGcjxMZfe+VjhofKud14yW8nJEmtUKIg38OPRN8uUk+WvfNnn3/f6+jAcqLmk1tpl013RnjFOkXqAbWlfzLQIBKGZJ8b6BmLpN4GqzLFRcJTcLXLbX49y3Twqs3BADC47rAv0ttFng+qZDWW3jTYH/GbBIaFfEkUB/Y2+00P8Vtgn0fx5iFk6iFYHD8S8="]}]}

RECEIVED: {"C":"d-6878FB21-Etty,2|Bf,57F6","M":[{"H":"C2","M":"uE","A":["nZNNTsNADIXvMutQ+d+eLAtbQNB0UVC3XKLK3WtgxURIVmaRkUb+8t54nm/tuc3tfHpaHo7LY5vaS5uJFGNqH23+vE7tlNutLZc8n9p7mwMUD5YfA+apveX5AaWbucWa9V8/9a9L/vZ4vrR/GDgouJFwCmUpKplJmDGyr1OFRwtz7Lt56GwhoSNPUOQBQxlw5KGoTwQGIhv9Ko/wuwYehGu8a/A3MvJU1XeIxMb+l/lMmUDwxj8W+8/dCUXkL0+9F/WVenThDY/l/AQZjfen0LK+iW/er85Dxt94v37CacB95Kv9R3X0jkN+yXsxf+m/mwiOvJfnP6dPbfTvVp7fkO38kGPRf7ZeVHU3j72HZrd38wQRsfUP5fsTs8uYH+Hq+wEqS9DAo/l6Xe8="]}]}

RECEIVED: {"C":"d-6878FB21-Etty,2|Bf,57F7","M":[{"H":"C2","M":"uE","A":["jZBNbgIxDIXv4nUa2fFP4ixpt1C1DAtase0l0NydZBhGjAQqlhIpyff8XnyGLVQ47D+Gt83wDgF2UFNS8gA/UH/PMByhYoBvqAWVorXNkDnAV7uPXMiUicawJlkiImErmklTSf18I2kis2GKrqW/pJl8hOBcC3IKsF/y0dN8S690Rcg8EhIxuU8ILa3XX3AUj8yt150rIXsR6eZ/k/nn0Ia3ORzhaQBtE1K1EqChpMlMSluYufv9r88uSqlHuNezcX5Rn/M8uLU+4Wt6FHykF+TxNF4A"]}]}

RECEIVED: {}

RECEIVED: {"C":"d-6878FB21-Etty,2|Bf,57F8","M":[{"H":"C2","M":"uE","A":["hdDNDoIwDAfwd+l5Lu2+tyPqDTUKHNRw9SUI725FmEZQd1iy5ffvunawgwRNtalXRb0GAXtISlmFAi6Qrh3UZ0h8OEEKaEl63hxqLeDI9xIJUVnEXsyke0ozSu+J3Uuqmcw1uagh6ydJg/SsJI5rkjOiJdEHaQVU+Sfjq4RRxhjfIRmKpLV/+NvgDzVPpmjO8D2T22FKVjlngnMW3dDY/zyiXsibEHzOV9uyhB+jWixgje7b/g4="]}]}

RECEIVED: {"C":"d-6878FB21-Etty,2|Bf,57F9","M":[{"H":"C2","M":"uE","A":["Tc3BDsIwCAbgd/nP2BS6di1H9ToTXT2o8epLLH33sTUm4wAJfMCCCYrnfK2nc72AcIOKRGHCG/pZUF9QT3hAs4/skqXkh0C4W995LylHDo26lF2OY9xGPXbJ2ZVSeAhF/pQ7tYMuHKltti9htu9WfltpKw=="]}]}

RECEIVED: {"C":"d-6878FB21-Etty,2|Bf,57FA","M":[{"H":"C2","M":"uE","A":["fc+7DsIwDIXhdzlzqOykdi4jl62AoGEA1JWXqPrupDcGkPCQIfr0y+5xRMKt3efNNu9gcEKyVqw1eCA9e+R7+TC4IgUSrnx5lJwzuCBRReTJCtFgfqR+S1eL1m7oDNpPmWfPGismZscxrn5N0kQiydiYZyGqgYOojMnXlDznckx7aBr82dgtjWJZrGodVL34stnwBg=="]}]}

RECEIVED: {"C":"d-6878FB21-Etty,2|Bf,57FB","M":[{"H":"C2","M":"uE","A":["Zc9NCgIxDAXgu7x1LUn6E9OlulXQqQsVt15imLtPtQzimEUC4eORjDii4Doc6mZX93A4oYgkCQ53lMe IekMhhwvKlhJ7bS1TiA7ntvdEbKQSJtcl/8mwyIXIl+QVIabISX/D1Cx6Y7GonNdh/TJtQT5Qrw/h6MmyUVSbng5De6WN13tMMw=="]}]}


Вот такие пакеты идут с биржи.



newbie
Activity: 18
Merit: 0
В чём заключается глючность API Bittrex?

Боюсь, что тут не правильно выразился товарищ разработчик, глюченности у api нету, оно нормально работает, а вот ограничения у него существенные, хотя api binance гораздо тогда уж более "глючное".

Меня тоже недавно беспокоил вопрос работы с bittrex через сокеты, но специально созданного канала у них я не увидел, если кто что по этому поводу знает, поделитесь пруфом) Вообще из мнгогих бирж bittrex хорошо держит нагрузку на свое API и не банит за частое использование.
newbie
Activity: 1
Merit: 0
что-то ваша версия не правильно баланс определяет, правильно только биток работаем, по остальным парам бред просто.
member
Activity: 980
Merit: 48
В чём заключается глючность API Bittrex?

Летом прошлого года, у них была фишка выдавать по апи старые значения тикеров, которые неактуальны более часа, возможно биржа уже не занимается манипуляциями, но в этом случае, они должны спонсировать добавление в бота своей биржи, ну и спонсорский взнос должен быть явно не 100 и 1000 баксов, а чутка побольше. Как никак, над ботом работала группа программистов, на протяжении нескольких лет.
1000$ это неплохо, для некоторых в качестве зарплаты за месяц...
Если в разработку убито годы, несколько тысяч баксов выглядит как насмешка и плевок в лицо.
newbie
Activity: 1
Merit: 0
Вопрос не в глючности, а в выплате авторам торгового робота вознаграждения. Позволю себе процитировать здесь разъяснение создателя: "Биржи добавляем когда они нас поддерживают. Bittrex нас не поддерживает, следственно средств на разработку тоже нет, а зарплату помощникам надо платить. Как только они пойдут к нам на встречу, мы их добавим."
legendary
Activity: 2674
Merit: 2334
Quote
не планирует добавлять поддержку Bittrex

Ну он же писал, что не добавляет к боту биржи с глючным апи, а битрекс именно из числа таких, как и полониекс.
В чём заключается глючность API Bittrex?
newbie
Activity: 9
Merit: 0
Quote
не планирует добавлять поддержку Bittrex
Ну он же писал, что не добавляет к боту биржи с глючным апи, а битрекс именно из числа таких, как и полониекс.
Странное утверждение. Тогда почему TabTrader, 3commas и другие работают с Bittrex через их API и никто не жалуется.
Очень странная позиция, однако.
member
Activity: 980
Merit: 48
Quote
не планирует добавлять поддержку Bittrex

Ну он же писал, что не добавляет к боту биржи с глючным апи, а битрекс именно из числа таких, как и полониекс.
newbie
Activity: 9
Merit: 0
Добавил во второй пост сия темы скриншоты и тестовую версию QBT.

Так же выяснилось, что автор сия софтины даже не планирует добавлять поддержку Bittrex (пруф: https://bitcointalksearch.org/topic/m.27770201).
mmv
newbie
Activity: 2
Merit: 0
Поддержка Yobit и так заявлена в Qt Bitcoin Trader
full member
Activity: 350
Merit: 103

на йобите вроде нет Cloudflare.
посмотрел их ip, скопировал в браузер, результат "Direct IP access not allowed".
newbie
Activity: 9
Merit: 0
Так же для Bittrex нужно реализовать обход Cloudflare (на питоне я это уже реализовал).
а разве его можно обойти? я так понимаю, что если сайт подключается к CloudFlare, то весь траффик идёт через их серваки, и извне это никак не изменить.
Это легко реализуется на питоне, т.к. уже всё есть готовенькое: https://github.com/Anorov/cloudflare-scrape

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

Сейчас выяснил, что на сервере socket.bittrex.com отрубили режим eventStream. Осталась поддержка только режима WebSockets. Поэтому мне придётся сразу делать поддержку WebSockets, а это ох как не быстро.
member
Activity: 980
Merit: 48
Топик стартер может несколько месяцев убил на свои доработки, зачем ему передавать их? Автор бота же не напишет что он соавтор, типа шлите донаты и ему тоже?
mmv
newbie
Activity: 2
Merit: 0
А сам автор Qt Bitcoin Trader не желает добавить поддержку Bittrex?
Может проще с ним поделиться наработками и будет официальная доработка?
member
Activity: 980
Merit: 48
а разве его можно обойти?

Можно, если он знает реальный айпишник биржи, и сервер биржи принимает запросы прошедшие и напрямую.
Просто пока об этой фиче знает он один (видимо раскопал историю биржи, когда она еще не была под защитой, и светила свой айпишник), админы биржи могут не обращать на это внимание, а если мимо "облака" полезут все ботоводы, "лавочку" быстро прикроют.

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

(что касается стримов что идут через веб, там ведь идет поток с куками и всем остальным, если пытать обмануть биржу в этом направлении, они больше наставят защит, что без реального залогиненного браузера, потоки будут "биться")
full member
Activity: 350
Merit: 103

Так же для Bittrex нужно реализовать обход Cloudflare (на питоне я это уже реализовал).

а разве его можно обойти? я так понимаю, что если сайт подключается к CloudFlare, то весь траффик идёт через их серваки, и извне это никак не изменить.
newbie
Activity: 9
Merit: 0
Вы решили просто форкнуть и доработать оригинальную программу?
Именно так. Ещё в августе 2017 доработал под Bittrex.

Но вот сейчас некоторые доработки не функционируют. Видимо что то изменилось на сервере socket.bittrex.com (я реализовал работу с оным не через WebSockets, а через обычные SignalR запросы).
Завтра займусь изучением этой проблемы.
legendary
Activity: 2674
Merit: 2334
Вы решили просто форкнуть и доработать оригинальную программу?
newbie
Activity: 9
Merit: 0
Тестовая версия QBT с поддержкой Bittrex: https://drop.me/aq3WYD (размер 7 MB)
версия старая 1.40.06 (обновлю по мере возможности)

Скриншоты:
https://s13.postimg.org/lmzhlk19j/qbt_logon_window.png
https://s13.postimg.org/uurq2h5tj/qbt_select_exchange.png
https://s13.postimg.org/5bzdpc487/qbt_new_password.png
https://s13.postimg.org/qyee6bks7/qbt_main.png
https://s13.postimg.org/t0aa78ls7/qbt_depth.png
https://s13.postimg.org/f9aeiggzr/qbt_orderhistory.png

Данная версия поддерживает создание и удаление ордеров (сейчас может и не работает, т.к. тестировал это в августе 2017 года).

Так же данная версия поддерживает дополнительные настройки в конфигурационном файле QtBitcoinTrader.cfg:
  • CheckAppUpdate: для отключения механизма обновления QBT с оффициального сайта;
  • UseExternalRes: для возможности загрузки ресурсных файлов из директории ".\QtBitcoinTrader\Resourses\";
  • CheckPasswordDifficulty: для возможности использования самых наипростейших паролей к аккаунту QBT;

Для использования этой версии QBT настоятельно советую выставлять такие настройки в конфиге (секция General):
Quote
LastFeaturedExchanges=0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
CheckForUpdates=false
CheckAppUpdate=false
UseExternalRes=true
CheckPasswordDifficulty=false
DisablePairSynchronization=true

В представленной версии QBT всё взаимодействие с сайтом Bittrex основано на оффициальном API v1.1, из-за чего при черезмерной активности торгов график будет отображать не совсем полную информацию о сделках, т.к. количество сделок ограничено 100 штуками.

Для наиболее корректного (и наиболее быстрого) отображения информации по совершённым сделкам и содержимому стакана нужно прикрутить возможность работы с сервером socket.bittrex.com через WebSockets. Данной доработкой займусь как только появятся время и желание.

newbie
Activity: 9
Merit: 0
Решил создать отдельную тему, в которой планируется обсуждение и реализация различных доработок известной утилиты Qt Bitcoin Trader (ссылка на оригинальную тему: https://bitcointalksearch.org/topic/qt-bitcoin-trader-macwindowslinux-218044).

Для начала планирую реализовать поддержку биржы Bittrex, т.к. у автора сия софтины этого даже нет в планах (пруф: https://bitcointalksearch.org/topic/m.27770201)

Хотя эту доработку я реализовал ещё летом 2017 года, но остановился на проверке создания и отмены ордеров. Разработку прекратил, т.к. на тот момент в API биттрекса была ошибка при запросе истории исполненных ордеров. Да и ещё выяснилось, что этот запрос возвращает максимум 200 исполненных ордеров (сейчас эта цифра уже 100).

Что бы обойти все эти ошибки и лимиты нужно работать с сервером Bittrex через WebSockets (это реализовано в WEB-версии).

Для биржы Bittrex у меня уже готова питоновская тулза, которая собирает историю торгов с сентября 2017 года.
Сейчас все питоновские наработки нужно просто на C++ реализовать.

Так же для Bittrex нужно реализовать обход Cloudflare (на питоне я это уже реализовал).


На чистом энтузиазме делать всё это не очень хочется. Поэтому напишу свои реквизиты для доната:
  • BTC: 15mU1SAPJYxg2FNq4qYNrJN2Dgnfk70wrT
  • LTC: LfXZsUCy7ktNeR41CJoJxftoUH6o1nDv5u
  • ETH: 0x7cb1324099b69968358e6e6e7da30dd9dc62ddd7
Jump to: