Получение данных чемпионата для последующего анализа

 

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

Что делают скрипты и программы - читают страницы с таблицами чемпионата, вытаскивают имена и номера счетов, сохраняют историю сделок в текстовый файл запуская терминал с разными инвесторскими паролями.


Итак что в архиве:

папка _getinfo:

- _getinfo.bat - файл запуска скриптов и программ

- gawk.exe, *.dll, wget.exe - юникс утилиты портированные под виндовс(http://gnuwin32.sourceforge.net/packages.html)

- urls.awk - скрипт генерации адресов страниц таблицы чемпионата 

- allusers.awk - скрипт извлекающий информацию из HTML страниц в текстовом виде (tab delimited)

- readinfo.awk - скрипт запускающий терминал и MQL программу exportDeals


папка experts/scripts:

- exportDeals.ex4 - MQL программа экспортирует историю и текущие сделки

- exportDeals.mq4 - исходный код


установка и запуск:

- распаковать в папку терминала архив ( содержит две папки: _getinfo и experts/scripts)

- !!закройте терминал

- запустить _getinfo.bat из папки _getinfo

- данные сохраняются в файл experts/files/deals.txt (будет около 7мб текста с полями разделенными табом)


модификации:

- если вам не нужны все 47 страниц участников - измените в urls.awk инициализацию переменной pages

- если вы хотите сохранить другую информацию - поменяйте и скомпилируйте experts/scripts/exportDeals.mq4

- если вы хотите запускать другой скрипт - поменяйте имя программы в скрипте readinfo.awk

  (! учтите что скрипт должен закрывать за собой терминал или придется закрывать вручную так как readinfo.awk ждет завершение работы)


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


Файлы:
getinfo.zip  1698 kb
 
Молодец. Реально помог для статистики. Через месяц после начала вытаскивал инфу со всех счетов, заняло часов 3-4 по всем если пробежаться. Утомило. Как закончится 2-й месяц попробую твою разработку.
 
Спасибо !
 
HIDDEN >>:
Молодец. Реально помог для статистики. Через месяц после начала вытаскивал инфу со всех счетов, заняло часов 3-4 по всем если пробежаться. Утомило. Как закончится 2-й месяц попробую твою разработку.

да ты я вижу спортсмен :-) тебе автоматизация не нужна. более 600 конкурсных счетов за 180-240 минут?!!

 

У меня иной вариант:

-терминал инвестора (MetaTrader MultiTerminal);

-двойной клик на интересующем логине;

-копирование в Excel.

Копирование одного счёта занимает не более 10 секунд вручную. За пару часов можно расправиться с 700 счетами. Если этот процесс автоматизировать (пожелание к TedBeer, как к невероятно изощрённому и опытному программисту), то можно расправится со всей работой за считанные минуты. :)

 
coaster >>:

У меня иной вариант:

-терминал инвестора (MetaTrader MultiTerminal);

-двойной клик на интересующем логине;

-копирование в Excel.

Копирование одного счёта занимает не более 10 секунд вручную. За пару часов можно расправиться с 700 счетами. Если этот процесс автоматизировать (пожелание к TedBeer, как к невероятно изощрённому и опытному программисту), то можно расправится со всей работой за считанные минуты. :)

А нужные 700 счетов в терминале откуда берутся? :-)

Мультитерминалом не пользовался, что мне, как чайнику в Форексе, надеюсь простительно :-)

На будущее буду знать, что есть и такой вариант.

Только Excel (старый до 2003 по крайней мере) тут уже не управится - там ограничение в 65к строк, а тут больше получается.

 
TedBeer >>:

А нужные 700 счетов в терминале откуда берутся? :-)

Мультитерминалом не пользовался, что мне, как чайнику в Форексе, надеюсь простительно :-)

На будущее буду знать, что есть и такой вариант.

Только Excel (старый до 2003 по крайней мере) тут уже не управится - там ограничение в 65к строк, а тут больше получается.


Это обычно при старте чемпионата набирается. :)

/

К примеру для PrizmaL:

логин: 600486

пароль: MetaTrader

/

К примеру для Gorez:

логин: 600260

пароль: MetaTrader

/

и т.д.

Всё нормально с Excel. Увидите, всё там Excelю понравится, если копировать будете из вкладки "история". Подключаться надо к каждому клиенту индивидуально, чтобы не смешивать историю с другими клиентами. К примеру у PrizmaL, который "скорострельный", пока что около 1000 строк всего-то набирается. А статистика по логам там всяким терминала, коннектам, дизконнектам зачем Вам нужна? Запросы там всякие и т.п., "Зачем нам кузнец? Нет, нам кузнец не нужен." :)

Или Вы собираетесь всех участников на одной вкладке разместить? У каждого своя вкладка (лист) в книге-Excelя обычно.

 
coaster >>:

У меня иной вариант:

-терминал инвестора (MetaTrader MultiTerminal);

-двойной клик на интересующем логине;

-копирование в Excel.

Копирование одного счёта занимает не более 10 секунд вручную. За пару часов можно расправиться с 700 счетами. Если этот процесс автоматизировать (пожелание к TedBeer, как к невероятно изощрённому и опытному программисту), то можно расправится со всей работой за считанные минуты. :)

Вы правы!


с этой точки зрения существует цена затрат на автоматизацию

и если автоматизация и ручная работа по времени не отличаются

то нет смысла в автоматизации нет

есть точка насыщения - это когда автоматизация начинает работать сама на себя

т е один процесс следует за другим и потом порой теряется смысл - т е получается некий процесс автоматизация ради автоматизации

которого быть не должно

---

кроме того обычно не требуется поднимать статистику по всем 700 счетам достаточно выбрать несколько

порой достаточно пробежаться по основным интересным счетам выгрузить сделки с помощью простого скрипта в приемлемый формат ( и далее их обрабатывать )

а не выгружать все 700 счетов

 
coaster >>:

Всё нормально с Excel. Увидите, всё там Excelю понравится, если копировать будете из вкладки "история". Подключаться надо к каждому клиенту индивидуально, чтобы не смешивать историю с другими клиентами. К примеру у PrizmaL, который "скорострельный", пока что около 1000 строк всего-то набирается. А статистика по логам там всяким терминала, коннектам, дизконнектам зачем Вам нужна? Запросы там всякие и т.п., "Зачем нам кузнец? Нет, нам кузнец не нужен." :)

Или Вы собираетесь всех участников на одной вкладке разместить? У каждого своя вкладка (лист) в книге-Excelя обычно.

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

А мне честно говоря было даже лень вручную тыкать в 47 страниц и копировать ручками логины и имена. Я вот уже за вторым чемпионатом слежу. И ведь скрипты никуда не денутся, на следующий год я просто запущу их - и опа, все опять в руках. Именно так и работает автоматизация - ради одного раза это неприемлимые расходы, а за 2 раза уже оправдывает себя. Ну и опять же личные предпочтения, предпочитаю потратить время на более интеллектуальную работу по написанию програм(и приобретение опыта) чем на тупое тыкание мышой(которое кроме лучезапястного синдрома ничего не прибавляет).

 
YuraZ >>:

кроме того обычно не требуется поднимать статистику по всем 700 счетам достаточно выбрать несколько

порой достаточно пробежаться по основным интересным счетам выгрузить сделки с помощью простого скрипта в приемлемый формат ( и далее их обрабатывать )

а не выгружать все 700 счетов

Согласен, порой достаточно, про это речи не идет. Порой как раз хочется все 700? :-)

 
Кстати, в прошлом году публиковались raw-отчеты с листингом всех сделок. Вроде бы разработчики обещали, что и в этом году будут. А нету. :(
Причина обращения: