Kravcov Posted December 29, 2019 Author Posted December 29, 2019 После первого выполнения метода UpdateEvents ми проходим по все евентам и проверяем IsExpanded, открываем если не раскрыт. На втором выполнении метода UpdateEvents у нас уже есть список MarketCatalouges у каждого евента где можно посмотреть тоталы (MarketCatalouges[n]). Тоталы есть а вот орденов нету. Quote
Admin Posted December 29, 2019 Posted December 29, 2019 На втором проходе ордеров не будет, потому что они еще не получены,: При открытии получается список рынков запросом listMarketCatalogue - это только список рынков Далее когда придет очередь (в зависимости от количества событий) делается запрос listMarketBook - вот тогда и появятся ордера Нужно учесть что все команды и запросы производятся асинхронно. Quote
Admin Posted December 29, 2019 Posted December 29, 2019 Еще один признак что данные уже получены - можно проверять класс MarketBook в MarketCatalouge - если он не равен NULL, значит цены и данные для этого рынка получены 1 Quote
Admin Posted December 29, 2019 Posted December 29, 2019 Добавил функции удаления из окна ненужных рынков, Вот пример: Если рынок перешел в лайв, проверяем сумму денег. Меньше 5000 - удаляем из окна событие, иначе открываем тоталы. Если в тоталах нет ордеров удаляем рынок Результат на скрине public override void UpdateEvents(List<Event> events) { foreach (var liveEvent in events.Where(x=>x.MarketCatalogue.IsLive)) { if (liveEvent.MarketCatalogue.TotalMatched >= 5000) { if (liveEvent.IsExpanded == false) { Api.Expand(liveEvent); } else { var marketCatalogue = liveEvent.MarketCatalogues.FirstOrDefault(x => x.MarketBook != null && x.IsOrders == false); if (marketCatalogue != null) { Api.Delete(marketCatalogue); } } } else { Api.Delete(liveEvent); } } } Скоро перезапишу версию 5.40 1 Quote
Kravcov Posted December 29, 2019 Author Posted December 29, 2019 3 hours ago, Admin said: Скоро перезапишу версию 5.40 В версии 5.40.1 пока нету метода Api.Delete(). Надо ждать следующего обновления BotBeetle.Types.dll или скрипта, или самой программы? Quote
Admin Posted December 29, 2019 Posted December 29, 2019 1. Нужно скачать и переустановить программу, или скачать новый zip 2. В разделе скриптов лежит новая библиотека типов, ее нужно положить рядом с исполняемым файлом 3. А также заменить библиотеку в вашем проекте 1 Quote
Admin Posted December 29, 2019 Posted December 29, 2019 Ссылка в проекте должна быть на версию 5.40.1 1 Quote
Kravcov Posted December 30, 2019 Author Posted December 30, 2019 On 12/27/2019 at 3:02 PM, Admin said: 4. Api.Green(RunnerCatalog) - команда выравнивания - закрывает только принятый объем (даже если это несколько принятых частично) по текущей цене, не принятые ставки в расчете не участвуют. Моно ли как то сделать так чтоб команда Грин проверяла и выравнивала весь рынок так же и на противоположной линии. На рисунке видно, что есть принятая ставка 1.01 Back Under. Грин хочет выставить ставку на 1.01 Lay Under и выйти в ноль. Но можно же выставить ставку 140 Back Over и закрыть в плюс. Quote
Admin Posted December 31, 2019 Posted December 31, 2019 Здесь есть ряд сложностей. Раньше у меня была даже такая рабочая кнопка (1), уравнивание по противоположной линии Но возникали проблемы при расчете уравнивания если в каждой линии были множественные ставки. Возможно вернусь к этому позже, но все равно начну с восстановления работоспособности этой кнопки а не со скриптов. Quote
Kravcov Posted December 31, 2019 Author Posted December 31, 2019 С Наступающим Вас Новым Годом! Тогда, подскажите, есть ли возможность получить доступ к ставкам, чтоб самому (через алгоритм) вычислять принятые ставки и потом через скрипт выставить нужную ставку. Quote
Admin Posted January 2, 2020 Posted January 2, 2020 On 12/31/2019 at 7:54 PM, Kravcov said: Тогда, подскажите, есть ли возможность получить доступ к ставкам, чтоб самому (через алгоритм) вычислять принятые ставки и потом через скрипт выставить нужную ставку. Список ставок есть в классе MarketCatalouge -> MarketBook -> 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.