remittor (OP)
Newbie
Offline
Activity: 9
Merit: 0
|
|
January 06, 2018, 10:27:28 AM Last edit: August 19, 2022, 11:43:17 AM by remittor |
|
Решил создать отдельную тему, в которой планируется обсуждение и реализация различных доработок известной утилиты Qt Bitcoin Trader (ссылка на оригинальную тему: https://bitcointalk.org/index.php?topic=218044.0). Для начала планирую реализовать поддержку биржы Bittrex, т.к. у автора сия софтины этого даже нет в планах (пруф: https://bitcointalk.org/index.php?topic=218044.msg27770201#msg27770201) Хотя эту доработку я реализовал ещё летом 2017 года, но остановился на проверке создания и отмены ордеров. Разработку прекратил, т.к. на тот момент в API биттрекса была ошибка при запросе истории исполненных ордеров. Да и ещё выяснилось, что этот запрос возвращает максимум 200 исполненных ордеров (сейчас эта цифра уже 100). Что бы обойти все эти ошибки и лимиты нужно работать с сервером Bittrex через WebSockets (это реализовано в WEB-версии). Для биржы Bittrex у меня уже готова питоновская тулза, которая собирает историю торгов с сентября 2017 года. Сейчас все питоновские наработки нужно просто на C++ реализовать. Так же для Bittrex нужно реализовать обход Cloudflare (на питоне я это уже реализовал). На чистом энтузиазме делать всё это не очень хочется. Поэтому напишу свои реквизиты для доната: - BTC: 15mU1SAPJYxg2FNq4qYNrJN2Dgnfk70wrT
- LTC: LfXZsUCy7ktNeR41CJoJxftoUH6o1nDv5u
- ETH: 0x7cb1324099b69968358e6e6e7da30dd9dc62ddd7
|
|
|
|
remittor (OP)
Newbie
Offline
Activity: 9
Merit: 0
|
|
January 06, 2018, 11:01:09 AM Last edit: August 19, 2022, 11:41:33 AM by remittor |
|
Тестовая версия QBT с поддержкой Bittrex: https://drop.me/aq3WYD (размер 7 MB) версия старая 1.40.06 (обновлю по мере возможности) Скриншоты: https://s13.postimg.org/lmzhlk19j/qbt_logon_window.pnghttps://s13.postimg.org/uurq2h5tj/qbt_select_exchange.pnghttps://s13.postimg.org/5bzdpc487/qbt_new_password.pnghttps://s13.postimg.org/qyee6bks7/qbt_main.pnghttps://s13.postimg.org/t0aa78ls7/qbt_depth.pnghttps://s13.postimg.org/f9aeiggzr/qbt_orderhistory.pngДанная версия поддерживает создание и удаление ордеров (сейчас может и не работает, т.к. тестировал это в августе 2017 года). Так же данная версия поддерживает дополнительные настройки в конфигурационном файле QtBitcoinTrader.cfg: - CheckAppUpdate: для отключения механизма обновления QBT с оффициального сайта;
- UseExternalRes: для возможности загрузки ресурсных файлов из директории ".\QtBitcoinTrader\Resourses\";
- CheckPasswordDifficulty: для возможности использования самых наипростейших паролей к аккаунту QBT;
Для использования этой версии QBT настоятельно советую выставлять такие настройки в конфиге (секция General): 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. Данной доработкой займусь как только появятся время и желание.
|
|
|
|
Coin-1
Legendary
Offline
Activity: 2604
Merit: 2277
|
|
January 08, 2018, 12:13:27 AM |
|
Вы решили просто форкнуть и доработать оригинальную программу?
|
|
|
|
remittor (OP)
Newbie
Offline
Activity: 9
Merit: 0
|
|
January 08, 2018, 08:07:16 AM |
|
Вы решили просто форкнуть и доработать оригинальную программу?
Именно так. Ещё в августе 2017 доработал под Bittrex. Но вот сейчас некоторые доработки не функционируют. Видимо что то изменилось на сервере socket.bittrex.com (я реализовал работу с оным не через WebSockets, а через обычные SignalR запросы). Завтра займусь изучением этой проблемы.
|
|
|
|
zhelezo
|
|
January 08, 2018, 09:57:45 AM |
|
Так же для Bittrex нужно реализовать обход Cloudflare (на питоне я это уже реализовал).
а разве его можно обойти? я так понимаю, что если сайт подключается к CloudFlare, то весь траффик идёт через их серваки, и извне это никак не изменить.
|
|
|
|
#Cryptoman
Member
Offline
Activity: 980
Merit: 48
|
|
January 08, 2018, 02:40:20 PM |
|
а разве его можно обойти?
Можно, если он знает реальный айпишник биржи, и сервер биржи принимает запросы прошедшие и напрямую. Просто пока об этой фиче знает он один (видимо раскопал историю биржи, когда она еще не была под защитой, и светила свой айпишник), админы биржи могут не обращать на это внимание, а если мимо "облака" полезут все ботоводы, "лавочку" быстро прикроют. Если автор действительно нашел что-то особое, во первых, этим не следует делиться с каждым, потому что потом, он это сам и потеряет... И это потеряет не только он, а сотни других людей которые воспользуются его альтернативным ботом. (что касается стримов что идут через веб, там ведь идет поток с куками и всем остальным, если пытать обмануть биржу в этом направлении, они больше наставят защит, что без реального залогиненного браузера, потоки будут "биться")
|
https://indx.ru криптобиржа от вебмоней, не воруют, не требуют доказательств происхождения средств.
|
|
|
mmv
Newbie
Offline
Activity: 2
Merit: 0
|
|
January 08, 2018, 09:07:29 PM |
|
А сам автор Qt Bitcoin Trader не желает добавить поддержку Bittrex? Может проще с ним поделиться наработками и будет официальная доработка?
|
|
|
|
#Cryptoman
Member
Offline
Activity: 980
Merit: 48
|
|
January 09, 2018, 02:25:27 PM |
|
Топик стартер может несколько месяцев убил на свои доработки, зачем ему передавать их? Автор бота же не напишет что он соавтор, типа шлите донаты и ему тоже?
|
https://indx.ru криптобиржа от вебмоней, не воруют, не требуют доказательств происхождения средств.
|
|
|
remittor (OP)
Newbie
Offline
Activity: 9
Merit: 0
|
|
January 09, 2018, 04:24:40 PM |
|
Так же для Bittrex нужно реализовать обход Cloudflare (на питоне я это уже реализовал).
а разве его можно обойти? я так понимаю, что если сайт подключается к CloudFlare, то весь траффик идёт через их серваки, и извне это никак не изменить. Это легко реализуется на питоне, т.к. уже всё есть готовенькое: https://github.com/Anorov/cloudflare-scrapeУже сегодня написал на питоне спец. скрипт, который каждый час запрашивает у Cloudflare новый токен для подключения, который сразу скидывается в нужный файл. В дальнейшем планирую из QBT считывать содержимое этого файла. Сейчас выяснил, что на сервере socket.bittrex.com отрубили режим eventStream. Осталась поддержка только режима WebSockets. Поэтому мне придётся сразу делать поддержку WebSockets, а это ох как не быстро.
|
|
|
|
zhelezo
|
|
January 10, 2018, 02:54:48 PM |
|
на йобите вроде нет Cloudflare. посмотрел их ip, скопировал в браузер, результат "Direct IP access not allowed".
|
|
|
|
mmv
Newbie
Offline
Activity: 2
Merit: 0
|
|
January 10, 2018, 08:03:19 PM |
|
Поддержка Yobit и так заявлена в Qt Bitcoin Trader
|
|
|
|
|
#Cryptoman
Member
Offline
Activity: 980
Merit: 48
|
|
January 12, 2018, 01:21:22 PM |
|
не планирует добавлять поддержку Bittrex Ну он же писал, что не добавляет к боту биржи с глючным апи, а битрекс именно из числа таких, как и полониекс.
|
https://indx.ru криптобиржа от вебмоней, не воруют, не требуют доказательств происхождения средств.
|
|
|
remittor (OP)
Newbie
Offline
Activity: 9
Merit: 0
|
|
January 12, 2018, 01:36:58 PM |
|
не планирует добавлять поддержку Bittrex Ну он же писал, что не добавляет к боту биржи с глючным апи, а битрекс именно из числа таких, как и полониекс. Странное утверждение. Тогда почему TabTrader, 3commas и другие работают с Bittrex через их API и никто не жалуется. Очень странная позиция, однако.
|
|
|
|
Coin-1
Legendary
Offline
Activity: 2604
Merit: 2277
|
|
January 13, 2018, 02:12:42 AM |
|
не планирует добавлять поддержку Bittrex Ну он же писал, что не добавляет к боту биржи с глючным апи, а битрекс именно из числа таких, как и полониекс. В чём заключается глючность API Bittrex?
|
|
|
|
Valior
Newbie
Offline
Activity: 1
Merit: 0
|
|
April 03, 2018, 02:46:29 AM |
|
Вопрос не в глючности, а в выплате авторам торгового робота вознаграждения. Позволю себе процитировать здесь разъяснение создателя: "Биржи добавляем когда они нас поддерживают. Bittrex нас не поддерживает, следственно средств на разработку тоже нет, а зарплату помощникам надо платить. Как только они пойдут к нам на встречу, мы их добавим."
|
|
|
|
#Cryptoman
Member
Offline
Activity: 980
Merit: 48
|
|
April 03, 2018, 11:20:17 AM |
|
В чём заключается глючность API Bittrex?
Летом прошлого года, у них была фишка выдавать по апи старые значения тикеров, которые неактуальны более часа, возможно биржа уже не занимается манипуляциями, но в этом случае, они должны спонсировать добавление в бота своей биржи, ну и спонсорский взнос должен быть явно не 100 и 1000 баксов, а чутка побольше. Как никак, над ботом работала группа программистов, на протяжении нескольких лет. 1000$ это неплохо, для некоторых в качестве зарплаты за месяц... Если в разработку убито годы, несколько тысяч баксов выглядит как насмешка и плевок в лицо.
|
https://indx.ru криптобиржа от вебмоней, не воруют, не требуют доказательств происхождения средств.
|
|
|
slavriss
Newbie
Offline
Activity: 1
Merit: 0
|
|
May 12, 2018, 10:01:46 AM |
|
что-то ваша версия не правильно баланс определяет, правильно только биток работаем, по остальным парам бред просто.
|
|
|
|
KrashAnathia
Newbie
Offline
Activity: 18
Merit: 0
|
|
May 13, 2018, 06:56:26 PM |
|
В чём заключается глючность API Bittrex?
Боюсь, что тут не правильно выразился товарищ разработчик, глюченности у api нету, оно нормально работает, а вот ограничения у него существенные, хотя api binance гораздо тогда уж более "глючное". Меня тоже недавно беспокоил вопрос работы с bittrex через сокеты, но специально созданного канала у них я не увидел, если кто что по этому поводу знает, поделитесь пруфом) Вообще из мнгогих бирж bittrex хорошо держит нагрузку на свое API и не банит за частое использование.
|
|
|
|
Crypto_user_v
Jr. Member
Offline
Activity: 322
Merit: 2
|
|
May 18, 2018, 12:53:04 PM Last edit: May 18, 2018, 01:05:40 PM by Crypto_user_v |
|
В чём заключается глючность API Bittrex?
Боюсь, что тут не правильно выразился товарищ разработчик, глюченности у api нету, оно нормально работает, а вот ограничения у него существенные, хотя api binance гораздо тогда уж более "глючное". Меня тоже недавно беспокоил вопрос работы с bittrex через сокеты, но специально созданного канала у них я не увидел, если кто что по этому поводу знает, поделитесь пруфом) Вообще из мнгогих бирж bittrex хорошо держит нагрузку на свое API и не банит за частое использование. Ссылок нет, надо разбирать исходники на гитхабе, их там много. идем сюда https://websocket.org/echo.htmlв локейшин вставляем wss://socket.bittrex.com/signalr/connect?transport=webSockets&clientProtocol=1.5&connectionToken=ScrX2iX9Df5nLYIPoD5VovnAZKDpekU2WqcSaEA53NLJBeenQU4OoqDBhWKCQUuymPPwsJmlK0ab193hupRCar6F9ONLQxICIFhXpKgMQVFA5phc&connectionData=&tid=7
в Message: {H: "c2", M: "SubscribeToExchangeDeltas", A: ["USDT-BTC"], I: 1} (браузер яндекс, на других браузерах, возможно надо использовать другой протокол) http://i105.fastpic.ru/big/2018/0518/56/431d7857ce16fd60231040f9d9567756.jpg если не откроется картинка Затем нажимаем коннект, потом сенд мессадж, и вам польются данные по этому тикеру! Но! Данные эти сжаты, опять же надо разбираться по какому алгоритму.... 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=="]}]}
Вот такие пакеты идут с биржи.
|
|
|
|
|