Jump to content
FORUM · BOTBEETLE
Sign in to follow this  
Kravcov

Last Size Traded

Recommended Posts

После первого выполнения метода UpdateEvents ми проходим по все евентам и проверяем IsExpanded, открываем если не раскрыт.

На втором выполнении метода UpdateEvents у нас уже есть список MarketCatalouges у каждого евента где можно посмотреть тоталы (MarketCatalouges[n]).

Тоталы есть а вот орденов нету.

Share this post


Link to post
Share on other sites

На втором проходе ордеров не будет, потому что они еще не получены,:

  • При  открытии получается список рынков запросом  listMarketCatalogue - это только список рынков
  • Далее когда придет очередь (в зависимости от количества событий) делается запрос  listMarketBook - вот тогда и появятся ордера

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

 

Share this post


Link to post
Share on other sites

Еще один признак что данные уже получены - можно проверять  класс MarketBook в  MarketCatalouge - если он не равен NULL, значит цены и данные для этого рынка получены

  • Thanks 1

Share this post


Link to post
Share on other sites

Добавил функции удаления из окна ненужных рынков, Вот пример:

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

 

Результат на скрине

image.thumb.png.5e81f214a199ad244fc82de67239f860.png

 

        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

  • Thanks 1

Share this post


Link to post
Share on other sites
3 hours ago, Admin said:

Скоро перезапишу версию 5.40

В версии 5.40.1 пока нету метода Api.Delete(). Надо ждать следующего обновления BotBeetle.Types.dll или скрипта, или самой программы?

Share this post


Link to post
Share on other sites

1. Нужно скачать и переустановить программу, или скачать новый zip

2. В разделе скриптов лежит новая библиотека типов, ее нужно положить рядом с исполняемым файлом

 

3. А также заменить библиотеку в вашем проекте

image.thumb.png.01b482d05edda72cbd62b83468a26674.png

  • Thanks 1

Share this post


Link to post
Share on other sites
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 и закрыть в плюс.

1chek.jpg

2chek.jpg

Share this post


Link to post
Share on other sites

Здесь есть ряд сложностей. Раньше у меня была даже такая рабочая кнопка (1), уравнивание по противоположной линии

image.png.700ad8e0c9ac8013038a03e8689a5897.png

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

Возможно вернусь к этому позже, но все равно начну с восстановления работоспособности этой кнопки а не со скриптов. 

 

Share this post


Link to post
Share on other sites

С Наступающим Вас Новым Годом!

Тогда, подскажите, есть ли возможность получить доступ к ставкам, чтоб самому (через алгоритм) вычислять принятые ставки и потом через скрипт выставить нужную ставку.

Share this post


Link to post
Share on other sites
On 12/31/2019 at 7:54 PM, Kravcov said:

Тогда, подскажите, есть ли возможность получить доступ к ставкам, чтоб самому (через алгоритм) вычислять принятые ставки и потом через скрипт выставить нужную ставку.

Список ставок есть в классе MarketCatalouge -> MarketBook ->

image.thumb.png.9d6021adbfc1d03a48bfb66d6ef2b548.png

  • Thanks 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...