Перепрыгнеть в содержание


- - - - -

Проект mybot - написание бота для бетфайр бирже


23 ответов в эту тему

#1 OFFLINE   maxspace

    Пунтер


  • Участник II
  • ПипПип
  • 72 сообщения
11
  • МестоположениеРБ Гомель

Добавлено 03 January 2012 - 16:59

Всем привет! Наконец-то появилось время заняться написанием бота. В качестве стратегии хотелось бы реализовать стратегию Кука т.е. ставка "За" на фаворита забега с кефом от 4-х и выше с обратной ставкой при понижении кэфа до 2-х и дистанцией забега от 2-х миль плюс ко всему применить догон.

на данный момент реализовано только залогинивание на бирже :)

Отредактировано maxspace, 03 January 2012 - 17:04.


#2 Гость_TrimAl_*


  • Не Местный

Добавлено 03 January 2012 - 17:15

Сообщенияmaxspace, on 03 January 2012 - 16:59, сказал:

Всем привет! Наконец-то появилось время заняться написанием бота. В качестве стратегии хотелось бы реализовать стратегию Кука т.е. ставка "За" на фаворита забега с кефом от 4-х и выше с обратной ставкой при понижении кэфа до 2-х и дистанцией забега от 2-х миль плюс ко всему применить догон.

на данный момент реализовано только залогинивание на бирже :)

Удачи, пиши подробней если можно, интересно очень, пытаюсь научиться, спс

#3 OFFLINE   maxspace

    Пунтер


  • Участник II
  • ПипПип
  • 72 сообщения
11
  • МестоположениеРБ Гомель

Добавлено 03 January 2012 - 17:21

Проект называется "mybot". Создаем две формы Login и Main. На форму Login бросаем три контрола: два TexBox и Button

#4 OFFLINE   maxspace

    Пунтер


  • Участник II
  • ПипПип
  • 72 сообщения
11
  • МестоположениеРБ Гомель

Добавлено 03 January 2012 - 17:54

Прикрепленный файл  login.png   2.26K   1 Количество загрузок Прикрепленный файл  main.png   5.66K   1 Количество загрузок

#5 OFFLINE   maxspace

    Пунтер


  • Участник II
  • ПипПип
  • 72 сообщения
11
  • МестоположениеРБ Гомель

Добавлено 03 January 2012 - 18:34

в проект добавляем web references с адреса https://api.betfair....balService.wsdl и называем его global.betfair.api

на событие нажатия на кнопку кидаем код:


private void button1_Click(object sender, EventArgs e)
{
try
{
Tasks.LoginTask.username = tbUser.Text;
Tasks.LoginTask.password = tbPass.Text;
Tasks.LoginTask.productId = (Int32)82;
Tasks.LoginTask.softwareId = (Int32)0;
Tasks.LoginTask.loginDateTime = DateTime.Now;
BFGlobalService bfGlobal = new BFGlobalService();
LoginReq req = new LoginReq();
req.username = Tasks.LoginTask.username;
req.password = Tasks.LoginTask.password;
req.productId = Tasks.LoginTask.productId;
req.vendorSoftwareId = Tasks.LoginTask.softwareId;
LoginResp resp = bfGlobal.login(req);

if (resp.header.errorCode != mybot.global.betfair.api.APIErrorEnum.OK || resp.errorCode != LoginErrorEnum.OK)
{
MessageBox.Show("The API returned the following error codes\r\n\r\nHeader Error Code: "
+ resp.header.errorCode.ToString().Replace("_", " ") + "\r\nLogin Error Code: "
+ resp.errorCode.ToString().Replace("_", " "), "Login Error", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
else
{
status = "running";
Close();

}
}
catch (Exception Ex)
{
MessageBox.Show("Detailed Error Message:\r\n" + Ex + "\r\n\r\nClick \"OK\" to exit the application",
"Fatal Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}

пока все, дальше будем думать как вывести текущую информацию о счете и список событий

СообщенияTrimAl, on 03 January 2012 - 17:15, сказал:

Удачи, пиши подробней если можно, интересно очень, пытаюсь научиться, спс

спасибо, будем пытаться, для меня это пока тоже темный лес :)

вся проблема со временем, свободного мало

#6 OFFLINE   maxspace

    Пунтер


  • Участник II
  • ПипПип
  • 72 сообщения
11
  • МестоположениеРБ Гомель

Добавлено 03 January 2012 - 18:53

кстати, не по теме, в exel столбец заполнен произвольными символами, среди них есть последовательности одинаковых символов, можно ли как-то с помощью стандартных формул вывести последовательность которая имеет максимальное количество одинаковых символов?

Отредактировано maxspace, 03 January 2012 - 18:54.


#7 OFFLINE   Jericho

    Иерихон


  • RSB
  • ПипПипПипПипПип
  • 2226 сообщения
859

Добавлено 03 January 2012 - 19:11

Сообщенияmaxspace, on 03 January 2012 - 18:53, сказал:

кстати, не по теме, в exel столбец заполнен произвольными символами, среди них есть последовательности одинаковых символов, можно ли как-то с помощью стандартных формул вывести последовательность которая имеет максимальное количество одинаковых символов?

Формула:
=ИНДЕКС(D1:D16;МОДА(ПОИСКПОЗ(D1:D16;D1:D16;0)))

Везде в формуле вместо D1:D16 подставь свой столбец

#8 OFFLINE   maxspace

    Пунтер


  • Участник II
  • ПипПип
  • 72 сообщения
11
  • МестоположениеРБ Гомель

Добавлено 03 January 2012 - 20:00

спасибо Jericho

#9 OFFLINE   Jericho

    Иерихон


  • RSB
  • ПипПипПипПипПип
  • 2226 сообщения
859

Добавлено 03 January 2012 - 20:06

Сообщенияmaxspace, on 03 January 2012 - 20:00, сказал:

спасибо Jericho

Попробовал уже под свой столбец? Работает? Кажется, что немного неправильная формула...

#10 OFFLINE   maxspace

    Пунтер


  • Участник II
  • ПипПип
  • 72 сообщения
11
  • МестоположениеРБ Гомель

Добавлено 03 January 2012 - 20:43

Jericho ты прав, формула немного не правильная, пытаюсь сейчас разобраться

Отредактировано maxspace, 03 January 2012 - 20:44.


#11 OFFLINE   Jericho

    Иерихон


  • RSB
  • ПипПипПипПипПип
  • 2226 сообщения
859

Добавлено 03 January 2012 - 20:49

Сообщенияmaxspace, on 03 January 2012 - 20:43, сказал:

Jericho ты прав, формула немного не правильная, пытаюсь сейчас разобраться

Конечно неправильная :) потому что немного не так понял задачу.
Дай пример, какой есть столбец, и что из него нужно отобрать...

#12 OFFLINE   maxspace

    Пунтер


  • Участник II
  • ПипПип
  • 72 сообщения
11
  • МестоположениеРБ Гомель

Добавлено 03 January 2012 - 21:02

допустим столбец

Прикрепленный файл  03.01.png   9.92K   2 Количество загрузок

необходимо указать последовательность из цифр "7" в которой имеется максимальное число этих 7-ок или посчитать число 7-ок в этой последовательности

Отредактировано maxspace, 03 January 2012 - 21:06.


#13 OFFLINE   Jericho

    Иерихон


  • RSB
  • ПипПипПипПипПип
  • 2226 сообщения
859

Добавлено 03 January 2012 - 22:41

Сообщенияmaxspace, on 03 January 2012 - 21:02, сказал:

необходимо указать последовательность из цифр "7" в которой имеется максимальное число этих 7-ок или посчитать число 7-ок в этой последовательности

Макросом... Брать диапазон ячеек, заносить его в массив.
Потом перебирать массив в цикле, сравнивать текущее число с предыдущем, и если они совпадают - заносить в другой массив.
Потом из отобранных массивов выбрать тот, у которого больше всех элементов... - он и будет из цифр 7, и можно будет узнать кол-во 7-ок...

Под рукой среды vba нет сейчас, к сожалению..

#14 OFFLINE   triggers

    Триггер Мастер


  • Участник II
  • ПипПипПипПип
  • 989 сообщения
184

Добавлено 04 January 2012 - 09:12

Как ты себе представляешь "вывести последовательность"?

#15 OFFLINE   maxspace

    Пунтер


  • Участник II
  • ПипПип
  • 72 сообщения
11
  • МестоположениеРБ Гомель

Добавлено 04 January 2012 - 13:46

Сообщенияtriggers, on 04 January 2012 - 09:12, сказал:

Как ты себе представляешь "вывести последовательность"?

допустим выделить цветом, ну или хотя бы посчитать число элементов этой последовательности

#16 OFFLINE   triggers

    Триггер Мастер


  • Участник II
  • ПипПипПипПип
  • 989 сообщения
184

Добавлено 04 January 2012 - 16:36

Так нормально?

Attached File(s)

  • Прикрепленный файл  Untitled.png   6.25K   3 Количество загрузок


#17 OFFLINE   maxspace

    Пунтер


  • Участник II
  • ПипПип
  • 72 сообщения
11
  • МестоположениеРБ Гомель

Добавлено 04 January 2012 - 21:29

Сообщенияtriggers, on 04 January 2012 - 16:36, сказал:

Так нормально?
ага :)

#18 OFFLINE   triggers

    Триггер Мастер


  • Участник II
  • ПипПипПипПип
  • 989 сообщения
184

Добавлено 04 January 2012 - 21:33

ну, эт просто - в ячейку B1 ставим 1, в ячейку B2
=IF(A1=A2,B1+1,1)
и B2 "пролонгируем" вниз, т.е. в B3 будет
=IF(A2=A3,B2+1,1)
и т.п.

#19 OFFLINE   maxspace

    Пунтер


  • Участник II
  • ПипПип
  • 72 сообщения
11
  • МестоположениеРБ Гомель

Добавлено 04 January 2012 - 21:38

Сообщенияtriggers, on 04 January 2012 - 21:33, сказал:

ну, эт просто - в ячейку B1 ставим 1, в ячейку B2
=IF(A1=A2,B1+1,1)
и B2 "пролонгируем" вниз, т.е. в B3 будет
=IF(A2=A3,B2+1,1)
и т.п.
спасибо, попробуем

#20 OFFLINE   maxspace

    Пунтер


  • Участник II
  • ПипПип
  • 72 сообщения
11
  • МестоположениеРБ Гомель

Добавлено 04 January 2012 - 21:51

еще раз спасибо, то что надо