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

Last Size Traded

Recommended Posts

Добрый день. Использую 5.34 версию скрипта. Подскажите, пожалуйста, где я могу получить данные о последней сматченной сумме (см. на рисунке)? В marketbook есть только lastPriceTraded. Очень нужен этот параметр. Заранее спасибо.

botbeatle.jpg

Share this post


Link to post
Share on other sites
6 hours ago, Kravcov said:

Добрый день. Использую 5.34 версию скрипта. Подскажите, пожалуйста, где я могу получить данные о последней сматченной сумме (см. на рисунке)? В marketbook есть только lastPriceTraded. Очень нужен этот параметр. Заранее спасибо.

 

Это расчетный параметр, через API не передается.

Посмотрел в 34 версии его нет.

В новой 39 есть
image.png.09bcf056ca2b133504b4a9b86765e1fd.png

 

Last - последняя цена

Value - значение, объем

 

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Спасибо большое, с нетерпением жду)) С Наступающим Вас Рождеством и Новым Годом!

  • Thanks 1

Share this post


Link to post
Share on other sites

Установил 5.39 версию. Есть пару вопросов.

1. Отсутствуют звуковые эффекты (в настройках они вкл.)

2. В окне "Не принятые ставки" видно только 3 ставки (4-той ставки не видно), полоса прокрутки появляется только после 5 ставки, но и она не отображает всех ставок. (см. на рис.)

3. В этих же окнах нет возможности включить скрипт, потому что в версии 5.39 скрипта класс MarketScript не наследуется (в Botbeetle.Types нет класса MarketSkript). По этому остается и предыдущий вопрос в первом сообщении темы.

withoutScroll.jpg

withScroll.jpg

  • Thanks 1

Share this post


Link to post
Share on other sites
1 hour ago, Kravcov said:

Установил 5.39 версию. Есть пару вопросов.

2. В окне "Не принятые ставки" видно только 3 ставки (4-той ставки не видно), полоса прокрутки появляется только после 5 ставки, но и она не отображает всех ставок. (см. на рис.)

3. В этих же окнах нет возможности включить скрипт, потому что в версии 5.39 скрипта класс MarketScript не наследуется (в Botbeetle.Types нет класса MarketSkript). По этому остается и предыдущий вопрос в первом сообщении темы.

 

Пункт 2 проверю, ошибка критическая, обновление в ближайшие дни, спасибо за сообщение.

По 3  - MarketScript больше не будет эти классы предусматривал для работы в окне, но это, как потом стало понятно, бессмысленно для автоматизации круглосуточной работы, пользователь должен открывать окно сам. 

Рекомендация унаследовать текший скрипт  от EventScript и подключать его к окну расписания. 

 

Share this post


Link to post
Share on other sites

Отображение ставок поправил, все типы ставок текущие (1), не принятые (2) и принятые (3) отображаются с прокруткой 

image.png.530d8425124e720614ee20741886d070.png

  • Thanks 1

Share this post


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

Удалите текущую версию и скачайте снова версию 5.39

Спасибо, работает!

Я вот уже целый день ломаю голову с этим EventScript, весь wiki пересмотрел но так и не нашел ничего. Можете вкратце объяснить об свойствах и методах этого класса. 

beatle.jpg

Share this post


Link to post
Share on other sites

Если кратко:

Главные базовые классы - это классы бетфайр, и в них есть все переменные описанные в API документации бетфайр. Для удобства в них добавлен ряд переменных.

1Event он содержит MarketCatalogue   (MatchOdds), а также список  MarketCatalogues в котором будут рынки если список будет раскрыт в ручную или командой  Api.Expand(Event) . 

2. MarketCatalogue содержит список RunnerCatalogу этих классов можно использовать такие переменные как:

  • IsLive - рынок перешел в игру
  • IsGreen - рынок не выровнен
  • IsOrders - есть ордера
  • IsMatched - есть принятые ордера
  • IsUnMatched - есть не принятые ордера
  • IsExluded - сейчас не используется
  • IsChanged - эта переменная отвечает за перерисовку в окне при изменениях данных

3RunnerCatalog переменные:

  • List<Order> Orders - список всех ордеров
  • List<Order> UnmatchedOrders - список не принятых ордеров
  • List<Match> Matches - список принятых ставок
  • Back - последняя цена back
  • Lay - последняя цена lay
  • CurrentResult - возможный результат
  • MatchedResult - принятый результат

3. Api.Green(RunnerCatalog) - выравнивает линию, по текущим ценам

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Как только появится время, сделаю описание. И самая большая проблема в том что нет обратной связи по скриптам. Я не знаю что кому нужно (какие функции какие переменные). Все что сейчас сделано, сделано для самого себя ?.

После создания активных графиков, есть много идей по сохранению истории и тестированию скриптов по истории, поиску стратегий и параметров к ним. 

  • Thanks 1

Share this post


Link to post
Share on other sites

Спасибо Вам за Ваш труд! Вы действительно очень много сделали и потратили кучу времени на это, я понимаю.

Мне нужно получить список все цен и сумм. Но в MarketCatalouge только одна наилучшая. Как можно получить список List< MarketBook > listMarketBook ( List<String>marketIds , PriceProjection priceProjection, OrderProjection orderProjection, MatchProjection matchProjection, boolean includeOverallPosition, boolean partitionMatchedByStrategyRef, Set<String> customerStrategyRefs, StringcurrencyCode,Stringlocale, Date matchedSince, Set<BetId> betIds)

Share this post


Link to post
Share on other sites

Без проблем, в следующем обновлении добавлю в класс MarketCatalouge переменную MarketBook - это и будет последние полученные данные MarketBook.

 

 

Share this post


Link to post
Share on other sites

Всех с Рождеством!!!

Помогите, пожалуйста со скриптом на футбол. 

Есть заранее выставленные ставки на тоталах. Нужно:

1. Выбрать и отобразить только те рынки (тоталы) где размещены непринятые ставки (на одном татале может быть несколько ставок).

2. Проверить, если ставка непринятая - continue.

3. Если принятая часть ставки - рассчитать green только на ту часть (при том чтоб не было уравнения по всему рынку так как могут быть и другие непринятые ставки в этом же рынке)

4. Если принятая вся ставка - выравниваем только ее, остальные так же не трогаем.

Share this post


Link to post
Share on other sites

1. Чтобы показать тоталы, их нужно открыть. Для открытия можно использовать функцию  

  • Api.Expand(Event) - откроет все тоталы.
  • или более экономно, только те что нужно, например:
    Api.Expand(liveEvent, new List<MarketTypeEnum>
    {
    	MarketTypeEnum.OVER_UNDER_05,MarketTypeEnum.OVER_UNDER_15,MarketTypeEnum.OVER_UNDER_25,
    });

     

2. Есть ли ордера на открытом, можно определить по переменной IsOrders 

3. Если ордеров нет и событие не нужно его можно закрыть  Api.Collapse(Event) для экономии времени обновления (Чем меньше открыто рынков в окне - тем быстрее каждый из них получает информацию)

4. Api.Green(RunnerCatalog) - команда выравнивания - закрывает только принятый объем (даже если это несколько принятых частично) по текущей цене, не принятые ставки в расчете не участвуют. 

 

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Для того чтобы уравнивание было доступно при наличии не принятых ставок, нужно включить опцию (1) - "Всегда отображать уравнивание"

 

image.png.419cbc58afcb9a36623bb16e50492321.png

  • Thanks 1

Share this post


Link to post
Share on other sites
On 12/23/2019 at 10:41 PM, Kravcov said:

Мне нужно получить список все цен и сумм. Но в MarketCatalouge только одна наилучшая. Как можно получить список List< MarketBook > listMarketBook ( List<String>marketIds , PriceProjection priceProjection, OrderProjection orderProjection, MatchProjection matchProjection, boolean includeOverallPosition, boolean partitionMatchedByStrategyRef, Set<String> customerStrategyRefs, StringcurrencyCode,Stringlocale, Date matchedSince, Set<BetId> betIds)

В 5.40 в класс MarketCatalouge добавлен класс MarketBook

image.png.382a291cf06a5335ebf6c77d1a8086ed.png

  • Thanks 1

Share this post


Link to post
Share on other sites
On 12/27/2019 at 3:02 PM, Admin said:

3. Если ордеров нет и событие не нужно его можно закрыть  Api.Collapse(Event) для экономии времени обновления (Чем меньше открыто рынков в окне - тем быстрее каждый из них получает информацию)

Можно ли как то в общем окне расписаний оставить лишь те события в которых на рынка тоталах есть непринятые ставки?

Share this post


Link to post
Share on other sites

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

  • Like 1

Share this post


Link to post
Share on other sites

Хотя идея хорошая, те рынки которые не нужны можно удалять.

В следующем обновлении сделаю что-то типа

  • Api.Delete(Event) - удалить событие
  • Api.Delete(MarketCatalouge) - удалить рынок
  • Like 1
  • Confused 1

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites
On 12/23/2019 at 12:13 PM, Admin said:

IsExluded - сейчас не используется

Можно этой переменной задать значение и исключить не нужное событие

Share this post


Link to post
Share on other sites
On 12/27/2019 at 3:02 PM, Admin said:

2. Есть ли ордера на открытом, можно определить по переменной IsOrders 

Почему то скрипт не видит ордеров после Api.Expand(event)

4chek.jpg

Share this post


Link to post
Share on other sites

По этому коду не видно где проверяется переменная IsOrders.

Она должна проверяться непосредственно в MarketCatalouge в каждом рынке отдельно.

 

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...