Bitcoin Forum
April 22, 2019, 07:17:48 AM *
News: Latest Bitcoin Core release: 0.17.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: Вопросы, предложения и решения по API биржи BTC-E.COM  (Read 6029 times)
alpet
Legendary
*
Offline Offline

Activity: 1844
Merit: 1013


View Profile WWW
November 11, 2013, 08:53:27 AM
 #1

Собственно сабж, официальная справка мне показалась неполной. Да и общаться тем кто ботов пишет нужно где-то.
У меня вопрос пока такой: как получать заявки со статусами "matched" и "cancelled"? Это очень важно для очередного релиза моего торгового терминала Trade Studio.
А в плане предложений, очень хочется поскорее веб-сокеты Smiley Имхо реквестовый протокол ставит крест на очень многих торговых стратегиях требовательных к производительности.

Сам я могу разъяснить нюансы торговли через существующее API, посредством компонентов Indy для Delphi/C++ Builder.

Novacoin we trust!
https://svcpool.io - PoS майнинг для всех.
1555917468
Hero Member
*
Offline Offline

Posts: 1555917468

View Profile Personal Message (Offline)

Ignore
1555917468
Reply with quote  #2

1555917468
Report to moderator
1555917468
Hero Member
*
Offline Offline

Posts: 1555917468

View Profile Personal Message (Offline)

Ignore
1555917468
Reply with quote  #2

1555917468
Report to moderator
1555917468
Hero Member
*
Offline Offline

Posts: 1555917468

View Profile Personal Message (Offline)

Ignore
1555917468
Reply with quote  #2

1555917468
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1555917468
Hero Member
*
Offline Offline

Posts: 1555917468

View Profile Personal Message (Offline)

Ignore
1555917468
Reply with quote  #2

1555917468
Report to moderator
1555917468
Hero Member
*
Offline Offline

Posts: 1555917468

View Profile Personal Message (Offline)

Ignore
1555917468
Reply with quote  #2

1555917468
Report to moderator
1555917468
Hero Member
*
Offline Offline

Posts: 1555917468

View Profile Personal Message (Offline)

Ignore
1555917468
Reply with quote  #2

1555917468
Report to moderator
hazarun
Legendary
*
Offline Offline

Activity: 2058
Merit: 1016

роботы Биткоин бирж


View Profile
November 11, 2013, 05:28:23 PM
 #2

Было бы интересно почитать ответы на данную тему.
И задать вопросы, при случае.

Игра на большие дистанции - не терпит суеты.
Sergauskazz
Full Member
***
Offline Offline

Activity: 228
Merit: 100


View Profile
November 11, 2013, 05:39:31 PM
 #3

Сам я могу разъяснить нюансы торговли через существующее API, посредством компонентов Indy для Delphi/C++ Builder.

можно подробней, что это за компоненты?
alpet
Legendary
*
Offline Offline

Activity: 1844
Merit: 1013


View Profile WWW
November 11, 2013, 06:08:26 PM
 #4

можно подробней, что это за компоненты?
TIdHttp это компонент позволяющий делать POST запрос, в том числе через SSL, что нам и требуется. Распространяется с открытым исходным кодом. Согласно устоявшемуся мнению это полный шлак в плане концепции и реализации, но я уже привык )
Для подписи сообщений легко можно использовать объект класса TIdHMACSHA512, причем это касается похоже всех криптовалютных бирж.

Novacoin we trust!
https://svcpool.io - PoS майнинг для всех.
XBOCT
Member
**
Offline Offline

Activity: 80
Merit: 10


View Profile
November 11, 2013, 07:36:10 PM
 #5

У меня вопрос пока такой: как получать заявки со статусами "matched" и "cancelled"?
Кажется, если покурить выхлоп метода TransHistory то можно понять какие были заявки и, что было matched, а что cancelled.
alpet
Legendary
*
Offline Offline

Activity: 1844
Merit: 1013


View Profile WWW
November 12, 2013, 06:52:32 AM
 #6

Кажется, если покурить выхлоп метода TransHistory то можно понять какие были заявки и, что было matched, а что cancelled.
У меня и так 3-4 запроса в секунду получается, что совсем не радует (на бирже FORTS можно десятки раз в секунду получать обновление данных).
Тут получается что надо для получения информации об заявках, нужно двойной запрос делать. Как-бы облако не забанило в итоге за излишнюю активность )
Потом, данный метод сложно использовать, непонятно каким образом к заявкам привязку делать.

Novacoin we trust!
https://svcpool.io - PoS майнинг для всех.
hazarun
Legendary
*
Offline Offline

Activity: 2058
Merit: 1016

роботы Биткоин бирж


View Profile
November 12, 2013, 07:43:14 AM
 #7

У меня и так 3-4 запроса в секунду получается, что совсем не радует (на бирже FORTS можно десятки раз в секунду получать обновление данных).

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

Игра на большие дистанции - не терпит суеты.
alpet
Legendary
*
Offline Offline

Activity: 1844
Merit: 1013


View Profile WWW
November 12, 2013, 09:03:07 AM
 #8

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

Novacoin we trust!
https://svcpool.io - PoS майнинг для всех.
hazarun
Legendary
*
Offline Offline

Activity: 2058
Merit: 1016

роботы Биткоин бирж


View Profile
November 12, 2013, 09:13:05 AM
 #9

У меня разные запросы из разных ниток отправляются.

Поясните, как отправление запросов из разных потоков (даже с разных компьютеров)
влияет на ситуацию с кэшированием стакана на бирже, (слышал про 2 секунды).

Игра на большие дистанции - не терпит суеты.
alpet
Legendary
*
Offline Offline

Activity: 1844
Merit: 1013


View Profile WWW
November 12, 2013, 10:38:24 AM
 #10

Поясните, как отправление запросов из разных потоков (даже с разных компьютеров)
влияет на ситуацию с кэшированием стакана на бирже, (слышал про 2 секунды).
С оценкой времени кэширования я не интересовался. Подозреваю, что облако тупо получает с торгового сервера данные каждые 2 секунды, и раздает их по запросам. У меня каждая нитка вроде имеет 1-секундный интервал опроса, что все-же желательно и даже при 2-секундной заморозке данных.

Novacoin we trust!
https://svcpool.io - PoS майнинг для всех.
hazarun
Legendary
*
Offline Offline

Activity: 2058
Merit: 1016

роботы Биткоин бирж


View Profile
November 12, 2013, 11:02:55 AM
Last edit: November 12, 2013, 11:14:20 AM by hazarun
 #11

С оценкой времени кэширования я не интересовался. Подозреваю, что облако тупо получает с торгового сервера данные каждые 2 секунды, и раздает их по запросам. У меня каждая нитка вроде имеет 1-секундный интервал опроса, что все-же желательно и даже при 2-секундной заморозке данных.

У меня примерно так же.
На 3 ТОП биржи совокупно запросы через 1500 - 2000 миллисекунд.
Хотя сам запросы выполняются гораздо быстрее. Опасаюсь уменьшать интервал опросов.

Заметим, самые медленное исполнение запроса по выдаче данных стакана у БТЦ-е.
Гокс и Штамп отдают данные (обычно) в десятки раз быстрее. Может что не так делаю ?

Как у Вас ?

Игра на большие дистанции - не терпит суеты.
hazarun
Legendary
*
Offline Offline

Activity: 2058
Merit: 1016

роботы Биткоин бирж


View Profile
November 12, 2013, 11:47:40 AM
 #12

У меня разные запросы из разных ниток отправляются. Чтобы терминал хоть что-то отображал, надо постоянно синхронизировать котировки, заявки, сделки.

Потоки, запускаете по таймеру ?  Иль стоит еще какой метод глянуть ?

Игра на большие дистанции - не терпит суеты.
alpet
Legendary
*
Offline Offline

Activity: 1844
Merit: 1013


View Profile WWW
November 12, 2013, 12:12:22 PM
 #13

Как у Вас ?
Давно не делал замеров специальных, когда-то было и под 2-3 секунды. Тогда ещё ддосили жестко походу.
Потоки, запускаете по таймеру ?  Иль стоит еще какой метод глянуть ?
Просто запускаю подряд, у меня довольно изощренные наследники класса TThread. Каждый поток выполняет свою виртуальную машину Lua, и уже сценарии осуществляют запрос/парсинг данных. Так с некоторых пор сделал, чтобы легче было корректировать при изменениях API со стороны биржи, ну и пользователи программы смогут скрипты поправить чуть что.

Novacoin we trust!
https://svcpool.io - PoS майнинг для всех.
hazarun
Legendary
*
Offline Offline

Activity: 2058
Merit: 1016

роботы Биткоин бирж


View Profile
November 12, 2013, 12:37:51 PM
 #14

Давно не делал замеров специальных, когда-то было и под 2-3 секунды. Тогда ещё ддосили жестко походу.

Поставил вывод задержи при опросах на форму, сразу. Никакие замеры и не требуются. Наблюдаем в реальном времени.
Коллега, автор Qt Bitcoin Trader, тоже выводит лаги на форму, на постоянку.

Правда не очень понял, что именно он там выводит.
Данные эти в наших терминалах , даже близко не совпадают. Остальное все совпадает.

Игра на большие дистанции - не терпит суеты.
alpet
Legendary
*
Offline Offline

Activity: 1844
Merit: 1013


View Profile WWW
November 12, 2013, 12:55:51 PM
 #15

Коллега, автор Qt Bitcoin Trader, тоже выводит лаги на форму, на постоянку.

Правда не очень понял, что именно он там выводит.
Данные эти в наших терминалах , даже близко не совпадают. Остальное все совпадает.
Тут можно прояснить кое что. Задержка запроса, это время от начала отправки GET реквеста серверу,  до получения данных. Лаг данных, это отставание времени в данных полученных с биржи, относительно локального времени.
С лагом предполагается, что он может достигать при отсутствии прочих проблем, величины интервала опроса. Т.е. если опрашивать раз в 2 секунды, то лаг будет скорее всего более-менее Random от 0 до 2 секунд. Если опрашивать 10 раз в секунду, но минимальный лаг будет 100 мс каждые 2 секунды. Алгоритмически, если учитывать схему кэширования на стороне сервера - можно постоянно подбирать величину задержки, чтобы после получения данных лаг был минимальный. У меня в определенных местах этот подход используется, но под btc-e я его пока не стал прикручивать.

Novacoin we trust!
https://svcpool.io - PoS майнинг для всех.
XBOCT
Member
**
Offline Offline

Activity: 80
Merit: 10


View Profile
November 12, 2013, 12:57:46 PM
 #16

Коллега, автор Qt Bitcoin Trader, тоже выводит лаги на форму, на постоянку.

Правда не очень понял, что именно он там выводит.
В Qt Bitcoin Trader хоть оно и называется Lаg-ом, фактически выводится время прошедшее с последнего полученного ответа, а не время обработки запроса.
hazarun
Legendary
*
Offline Offline

Activity: 2058
Merit: 1016

роботы Биткоин бирж


View Profile
November 12, 2013, 01:26:09 PM
 #17

Получается, мы имеем, как минимум 4 временных промежутка:

1. Период опроса.
2. Задержка исполнения запроса.
3. "server_time":1342123547   и локальное время, разница между ними.
4. Время прошедшее с момента прихода последнего ответа сервера.

Надо как то определиться, что бы при беседе была однозначность у собеседников , о чем именно одет речь.

Игра на большие дистанции - не терпит суеты.
zulunation
Sr. Member
****
Offline Offline

Activity: 323
Merit: 250


View Profile
November 12, 2013, 02:45:27 PM
 #18

alpet В основе сбора данных лежат POST / GET запросы. Почему бы не использовать PHP для этого?
Lua выбрал из за компактности?
IGHOR
Hero Member
*****
Offline Offline

Activity: 965
Merit: 1012



View Profile WWW
November 12, 2013, 06:59:08 PM
 #19

В Qt Bitcoin Trader хоть оно и называется Lаg-ом, фактически выводится время прошедшее с последнего полученного ответа, а не время обработки запроса.

Так было в первых версиях. Сейчас Soft Lag показывает время прошедшее с момента отправки до момента получения текущего пакета.

Qt Bitcoin Trader, Qt Trader Exchange
Centrabit AG | Check out digital signature of every app you have download and use only official download sources.
alpet
Legendary
*
Offline Offline

Activity: 1844
Merit: 1013


View Profile WWW
November 12, 2013, 07:51:54 PM
 #20

alpet В основе сбора данных лежат POST / GET запросы. Почему бы не использовать PHP для этого?
Lua выбрал из за компактности?
Lua выбрал давно из-за... STALKER, очень хорошо разобрался в этой штуке. Изначально в терминале были реализованы только скрипты для создания ботов на этом языке, но потом дошла очередь и до торговых API.
Да и очень хорошо в Delphi код VM подключается в виде DLL, думаю можно и 64-бита сделать сборки. Сейчас моя программа может подключаться сразу к нескольким биржам, и позволяет сделать даже арбитраж между ними (прообраз скрипт уже есть).


Novacoin we trust!
https://svcpool.io - PoS майнинг для всех.
Pages: [1] 2 3 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!