Transaq

СБО "Transaq" => Подсистема ATF => Topic started by: Олег on Сентября 10, 2011, 02:50:41 pm

Title: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: Олег on Сентября 10, 2011, 02:50:41 pm
Собственно говоря, задача сформулирована в заголовке темы.
Чтобы запустить с высоким приоритетом Транзак, надо сделать вот так:
Code: [Select]
D:\WINDOWS\system32\cmd.exe /c start /high /D "Q:\TransaqTrader\" transaq.exe
А как сделать так, чтобы при этом с высоким приоритетом запустился также и Эксель, в который Транзак транслирует данные?
Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: nikolz on Сентября 10, 2011, 03:47:33 pm
так же.
Но не ясно зачем Вам это. У Вас что на компе одновременно решатся 10 вычислительных задач.
Вы посмотрите по распределению времени в диспетчере задач и увидите что все врем у транзака.
если у Вас две задачи с высоким приоритетом, то занимает процессор та которая первая обратилась, а у вас они всегда работают значит будут прерываться по тайму.
Зачем городить с приоритетом?
Прим:
Не в обиду будет сказано,
но мне это напомнило басню Крылова "мартышка и очки"
Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: Олег on Сентября 10, 2011, 05:26:56 pm
Я повторяю свой вопрос и адресую его разработчикам.
Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: Vlad1 on Января 12, 2012, 05:14:05 am
Попробовал у себя
"C:\WINDOWS\system32\cmd.exe /c start /high /D "C:\Program Files\Microsoft Office\Office12\" excel.exe".
И правда, Excel запустился со средним приоритетом, повышенного не вышло. Похоже, сам Excel, зная, что он интерактивен, не дает повышать свой приоритет. Причем здесь разработчики Transaq, неясно.
Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: Олег on Января 12, 2012, 09:07:50 am
Причем здесь разработчики Transaq, неясно.

Если этот вопрос адресован мне, то отвечу... Дело в том, что они, по определению, разбираются в таких вещах лучше нас с Вами... Разумеется, если Вы не профессиональный программист или что-нибудь в этом роде, а простой смертный как и я :)
Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: Дмитрий on Января 12, 2012, 01:18:55 pm
Excel 2003 запускается с указанным приоритетом:
cmd.exe /c start /high /D "C:\Program Files\Microsoft Office\OFFICE11\" EXCEL.EXE
и так:
start /high /D "C:\Program Files\Microsoft Office\OFFICE11\" EXCEL.EXE

Возможно, дело в версии Офиса...
Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: Олег on Января 12, 2012, 01:44:02 pm
Excel 2003 запускается с указанным приоритетом:
cmd.exe /c start /high /D "C:\Program Files\Microsoft Office\OFFICE11\" EXCEL.EXE
и так:
start /high /D "C:\Program Files\Microsoft Office\OFFICE11\" EXCEL.EXE

Возможно, дело в версии Офиса...

Ого! Интересная информация! Спасибо за справку.
Когда я этим вопросом плотно занимался, у меня был Офис 2002 на обоих компьютерах. Пробовал вроде бы на обоих, но ни разу не получилось.  Сейчас на одном компьютере осталась та же самая версия (2002), а на втором 2010. Сегодня немного попозже попробую поэкспериментировать, потом отпишусь о результатах. Может быть, и правда, от версии зависит...
Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: Олег on Января 12, 2012, 08:04:18 pm
Собственно говоря, задача сформулирована в заголовке темы.
Чтобы запустить с высоким приоритетом Транзак, надо сделать вот так:
Code: [Select]
D:\WINDOWS\system32\cmd.exe /c start /high /D "Q:\TransaqTrader\" transaq.exe
А как сделать так, чтобы при этом с высоким приоритетом запустился также и Эксель, в который Транзак транслирует данные?


Excel 2003 запускается с указанным приоритетом:
cmd.exe /c start /high /D "C:\Program Files\Microsoft Office\OFFICE11\" EXCEL.EXE
и так:
start /high /D "C:\Program Files\Microsoft Office\OFFICE11\" EXCEL.EXE

Возможно, дело в версии Офиса...

Ого! Интересная информация! Спасибо за справку.
Когда я этим вопросом плотно занимался, у меня был Офис 2002 на обоих компьютерах. Пробовал вроде бы на обоих, но ни разу не получилось.  Сейчас на одном компьютере осталась та же самая версия (2002), а на втором 2010. Сегодня немного попозже попробую поэкспериментировать, потом отпишусь о результатах. Может быть, и правда, от версии зависит...

Стоп, стоп, стоп... Тут всё дело в том, чтобы не один Эксель (автономно) запустить с высоким приоритетом (это делается без труда), а в том, чтобы запустить с высоким приоритетом связку Транзак-Эксель (куда Транзак транслирует данные и где работает робот). Кстати, спасибо Владу1, что поднял эту тему из небытия :) А то я уж было рукой махнул на это дело в своё время, а хотелось бы иметь такую возможность, честно говоря. Можно, конечно найти в Диспетчере Задач уже запущенный процесс Экселя и там повысить его приоритет, но это лишний гемор. Вот если бы автоматизировать как-нибудь... Хотя с момента создания этой темы прошло много времени и энтузиазм в этом направлении у меня уже заметно поостыл. Я склоняюсь к мысли, что это невозможно.
Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: Дмитрий on Января 13, 2012, 07:37:54 am
Сейчас проверить не могу, но задумывалось так:
1. Если Excel не запущен - Transaq запускает Excel.
2. Если Excel запущен, но файл для экспорта не открыт - Transaq открывает в Excel этот файл.
3. Если Excel запущен и файл для экспорта в нем открыт - Transaq запускает экспорт.

   Скорее всего, если Вы запустите Excel вышеуказанной командой Start с дополнительным параметром - путем к файлу для экспорта, а затем запустите в Transaq экспорт в Excel, то Transaq будет лить данные именно в этот экземпляр XLS, открытого в Excel.

И еще странное наблюдение: если команда start /high /D "C:\Program Files\Microsoft Office\OFFICE11\" EXCEL.EXE d:\transaq\TQExchange.xls
вызывается из папки C:\Program Files\Microsoft Office\OFFICE11, то EXCEL запускается с высоким приоритетом,
а если из другой папки, то EXCEL запускается со средним приоритетом...
Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: Олег on Января 13, 2012, 03:01:43 pm
Ну всё! Совместными усилиями мы этот орешек раскололи! :)

И еще странное наблюдение: если команда start /high /D "C:\Program Files\Microsoft Office\OFFICE11\" EXCEL.EXE d:\transaq\TQExchange.xls
вызывается из папки C:\Program Files\Microsoft Office\OFFICE11, то EXCEL запускается с высоким приоритетом,
а если из другой папки, то EXCEL запускается со средним приоритетом...

Вот он "золотой ключик"!  :)  Непонятно почему, но факт есть факт: действительно, недостаточно просто указать полный путь к ексешнику Экселя, надо ещё предварительно явно перейти в эту папку, т.е сделать вот так:

Code: [Select]
D:
cd \Program Files\Microsoft Office\Office14
start /high /D "D:\Program Files\Microsoft Office\OFFICE14\" EXCEL.EXE
start /high /D "D:\TransaqTrader\" transaq.exe

Ну а потом сохраняем этот текстовый файл в любом месте под именем <Здесь_любое_имя>.bat, создаем для него иконку на Рабочем Столе или в Быстром Запуске и щёлкаем :)

В результате Транзак и Эксель запускаются оба с высоким приоритетом и при этом автоматически запускается экспорт из Транзака в Эксель! У нас же соответствующие галки стоят там где положено :) И при этом лишних телодвижений :) уже не потребуется:


  Скорее всего, если Вы запустите Excel вышеуказанной командой Start с дополнительным параметром - путем к файлу для экспорта, а затем запустите в Transaq экспорт в Excel, то Transaq будет лить данные именно в этот экземпляр XLS, открытого в Excel.

И сходу ещё один вопрос в продолжение темы.
А можно организовать дело так, чтобы наш пакетный файл ещё и пароль в Транзак вставлял? :)  Чтобы уж совсем всё было "по щучьему велению, по моему хотению" ;D
Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: Дмитрий on Января 13, 2012, 04:00:51 pm
Вы будете смеяться, но можно!

Командная строка:
Transaq.exe Login Password ConfigXML AUTORECONNECT NOIMPEX

Login        - идентификатор трейдера
Password - пароль
ConfigXML - файл конфигурации экрана или строка NOTCF для запуска без конфигурации.
AUTORECONNECT - автоматическое переподключение при потере соединения с сервером, или любая строка.
NOIMPEX - запрет автозапуска всех видов импорта/экспорта.

Все параметры необязательные, позиционные, разделяются пробелом. Если требуется параметр N, то необходимо указать ВСЕ предыдущие параметры. Если параметр содержит спецсимволы, то необходимо заключить его в кавычки.
Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: Олег on Января 13, 2012, 05:18:05 pm
Вы будете смеяться, но можно!

Командная строка:
Transaq.exe Login Password ConfigXML AUTORECONNECT NOIMPEX

Login        - идентификатор трейдера
Password - пароль
ConfigXML - файл конфигурации экрана или строка NOTCF для запуска без конфигурации.
AUTORECONNECT - автоматическое переподключение при потере соединения с сервером, или любая строка.
NOIMPEX - запрет автозапуска всех видов импорта/экспорта.

Все параметры необязательные, позиционные, разделяются пробелом. Если требуется параметр N, то необходимо указать ВСЕ предыдущие параметры. Если параметр содержит спецсимволы, то необходимо заключить его в кавычки.


;D Нет, смеяться не буду, я догадывался , что можно как-нибудь ;D
Сейчас буду экспериментировать! :)

Вы тоже будете смеяться :)  Когда я "разобрался" :) с повышением приоритетов на одном компьютере и переключился на выполнение такой же задачи на втором, оказалось, что там и для Транзака тоже потребовался предварительный явный переход в папку его ексешника. А без этого получалось так, что теперь уже Эксель запускался с высоким приоритетом, а Транзак со средним. Короче говоря, обе программы "удовлетворил" только такой вариант пакетника:

Code: [Select]
C:
cd \Program Files\Microsoft Office\Office10
start /high /D "C:\Program Files\Microsoft Office\OFFICE10\" EXCEL.EXE
D:
cd \TransaqTrader
start /high /D "D:\TransaqTrader\" transaq.exe
Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: Олег on Января 13, 2012, 06:49:11 pm
Сейчас буду экспериментировать! :)

Ну всё, разобрался окончательно в этом вопросе :)
Короче говоря, даю "кулинарный рецепт" для тех, кому интересно. Вот такой пакетный файл

Code: [Select]
C:
cd \Program Files\Microsoft Office\Office10
start /high /D "C:\Program Files\Microsoft Office\OFFICE10\" EXCEL.EXE
D:
cd \TransaqTrader
start /high /D "D:\TransaqTrader\" transaq.exe #### XXXXXXXXXXXX

будучи положенным в папку автозагрузки, запустит Транзак и "привязаного" к нему Эксельного робота (причем оба запустятся с высоким приоритетом) и автоматически вставит логин и пароль пользователя в текстовые поля того самого окошка, которое появляется при запуске Транзака. Причем 3 чекбокса, которые присутствуют в этом окне, заполнены НЕ будут, т.е. останутся БЕЗ галочек. Иными словами, Транзак запустится с последней сохраненной конфигурацией, с НЕОТКЛЮЧЕННЫМ экспортом/импортом и БЕЗ автоматического переподключения к серверу. А самое приятное, что Транзак САМ "нажмет" :) на кнопку "Подключиться".

#### - это логин (4 цифры)
XXXXXXXXXXXX - это пароль

Путь к папкам Транзака и Экселя следует указывать тот, который имется на конкретном компьютере пользователя.
Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: Олег on Января 15, 2012, 11:43:36 am
Важное дополнение к предыдущему посту:
В путях, прописанных в нашем пакетном файле, не должно быть кириллических символов, а иначе будет очень большой гемор с изменением кодовой станицы.
Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: nxz on Января 15, 2012, 01:17:36 pm
Важное дополнение к предыдущему посту:
В путях, прописанных в нашем пакетном файле, не должно быть кириллических символов, а иначе будет очень большой гемор с изменением кодовой станицы.

что бы не было проблем с русскими буквами в пакетных файлах можно использовать вот такую комбинацию комманд
Code: [Select]
rem @echo off

rem "Включение режима русских букв"
mode con cp select=1251

"E:\Мои документы\My Downloads\wget.exe" http://www.finam.ru/_private/Files/indexrts.zip
"E:\Мои документы\My Downloads\wget.exe" http://www.finam.ru/_private/Files/iMICEX.zip
"E:\Мои документы\My Downloads\wget.exe" http://www.finam.ru/_private/Files/micex-y.zip

"c:\Program Files\WinRAR\winrar.exe" e -y "E:\Мои документы\My Downloads\indexrts.zip" "D:\MetaStock Data\indexRTS"
"c:\Program Files\WinRAR\winrar.exe" e -y "E:\Мои документы\My Downloads\imicex.zip" "D:\MetaStock Data\imicex"
"c:\Program Files\WinRAR\winrar.exe" x -y "E:\Мои документы\My Downloads\micex-y.zip" "E:\Мои документы\My Downloads\"

rem "c:\Program Files\WinRAR\winrar.exe" e -y "E:\Мои документы\My Downloads\rts.zip" "D:\MetaStock Data\RTS"

"C:\Program Files\Equis\The DownLoader\Dlwin.exe"

del "E:\Мои документы\My Downloads\indexrts.zip"
del "E:\Мои документы\My Downloads\imicex.zip"
del "E:\Мои документы\My Downloads\micex-y.zip"
del "E:\Мои документы\My Downloads\micex-y.csv"

rem "Отключение режима русских букв"
mode con cp select=866

Этим пакетником я загружаю котировки с сайта финам в metastock.
Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: Олег on Января 15, 2012, 02:23:53 pm
что бы не было проблем с русскими буквами в пакетных файлах можно использовать вот такую комбинацию комманд
Code: [Select]
rem @echo off

rem "Включение режима русских букв"
mode con cp select=1251

"E:\Мои документы\My Downloads\wget.exe" http://www.finam.ru/_private/Files/indexrts.zip
"E:\Мои документы\My Downloads\wget.exe" http://www.finam.ru/_private/Files/iMICEX.zip
"E:\Мои документы\My Downloads\wget.exe" http://www.finam.ru/_private/Files/micex-y.zip

"c:\Program Files\WinRAR\winrar.exe" e -y "E:\Мои документы\My Downloads\indexrts.zip" "D:\MetaStock Data\indexRTS"
"c:\Program Files\WinRAR\winrar.exe" e -y "E:\Мои документы\My Downloads\imicex.zip" "D:\MetaStock Data\imicex"
"c:\Program Files\WinRAR\winrar.exe" x -y "E:\Мои документы\My Downloads\micex-y.zip" "E:\Мои документы\My Downloads\"

rem "c:\Program Files\WinRAR\winrar.exe" e -y "E:\Мои документы\My Downloads\rts.zip" "D:\MetaStock Data\RTS"

"C:\Program Files\Equis\The DownLoader\Dlwin.exe"

del "E:\Мои документы\My Downloads\indexrts.zip"
del "E:\Мои документы\My Downloads\imicex.zip"
del "E:\Мои документы\My Downloads\micex-y.zip"
del "E:\Мои документы\My Downloads\micex-y.csv"

rem "Отключение режима русских букв"
mode con cp select=866

Этим пакетником я загружаю котировки с сайта финам в metastock.

Не, ну я знал, что можно в пакетниках кодовые страницы менять, но только не был уверен как именно это делается. Спасибо за информацию, хотя для меня она уже не особо актуальна сейчас, поскольку на обоих компьютерах я за последние два дня уже успел "переселить" Транзаки :) в такие папки, путь к которым проходит только по латинским буквам :) Но на будущее, наверняка, пригодится. А кстати, эти номера кодовых страниц (866 и 1251) зависят от версии MS-DOS, Windows или ещё от чего-нибудь или это уже "верняк"? Или всё-таки придётся экспериментировать в зависимости от конкретной системы, установленной на компьютере и от пользовательских настроек?

А то что можно с помощью пакетников кодировки скачивать, этого я даже и не предполагал. Надо же какая полезная штука! Надо будет изучить эти возможности поподробнее, а то я сейчас как раз анализом разных инструментов с помощью Экселя сильно увлекся, корелляции ищу :)
Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: nxz on Января 15, 2012, 05:32:32 pm
... А кстати, эти номера кодовых страниц (866 и 1251) зависят от версии MS-DOS, Windos или ещё от чего-нибудь или это уже "верняк"? Или всё-таки придётся экспериментировать в зависимости от конкретной системы, установленной на компьютере и от пользовательских настроек?

Кодовая страница 1251 для всех русифицированных Windows, а 866 - это кодовая страница русских букв и знаков под DOS, а также в текстовых окнах Microsoft Windows, поэтому и приходится в пакетных файлах вертеть кодовую страницу туда - сюда ;).

А то что можно с помощью пакетников кодировки скачивать, этого я даже и не предполагал. Надо же какая полезная штука! Надо будет изучить эти возможности поподробнее, а то я сейчас как раз анализом разных инструментов с помощью Экселя сильно увлекся, корелляции ищу :)

Наверно Вы имели ввиду котировки, а не кодировки ;), так для этого есть утилитка wget.exe - про нее есть такой слоган "Wget - насос для Интернета" ;D

Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: Олег on Января 15, 2012, 06:29:18 pm
Кодовая страница 1251 для всех русифицированных Windows, а 866 - это кодовая страница русских букв и знаков под DOS, а также в текстовых окнах Microsoft Windows, поэтому и приходится в пакетных файлах вертеть кодовую страницу туда - сюда ;).

Спасибо за разъяснения, буду вертеть :)

Наверно Вы имели ввиду котировки, а не кодировки ;)...
Да, да, конечно же котировки, а не кодировки! Это я опИсался  ;D


так для этого есть утилитка wget.exe - про нее есть такой слоган "Wget - насос для Интернета" ;D

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





Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: Shubert on Января 22, 2012, 01:48:38 am
Прочитал тему, пополнил запас очередными недокументированными возможностями Trader. Но абсурдность постановки задачи в этой теме просто убивает.

... Дело в том, что они (разработчики Transaq), по определению, разбираются в таких вещах лучше нас с Вами... Разумеется, если Вы не профессиональный программист или что-нибудь в этом роде, а простой смертный как и я :)

Олег,
Почему Вы, "простой смертный", считаете, что Вы или разработчики Transaq лучше разработчиков Windows разбираются в особенностях функционирования Windows NT (XP, Vista, 7, 8 ...), особенно -- в устройстве и работе планировщика времени выполнения различных процессов, событийном механизме, приоритетах выполнения тех или иных программ?

Почему Transaq Trader и Excel, интерактивные пользовательские приложения, должны выполняться с приоритетом критических служб csrss и winlogon? На taskmgr насмотрелись? Ну так у последнего и роль особая.

Или просто объясните, зачем Вы хотите сделать из и так не слишком стабильной операционной системы гораздо менее стабильный вариант, да ещё с помощью такого инструментария работать на финансовых рынках?
Title: Re: Пакетный файл для запуска Транзака и Экселя с высоким приоритетом
Post by: Олег on Января 22, 2012, 05:09:19 pm
Прочитал тему, пополнил запас очередными недокументированными возможностями Trader. Но абсурдность постановки задачи в этой теме просто убивает.

На самом деле, мне всё равно, убивает это кого-нибудь или нет. У меня был вопрос и я его задал. Для этого форумы и существуют.

... Дело в том, что они (разработчики Transaq), по определению, разбираются в таких вещах лучше нас с Вами... Разумеется, если Вы не профессиональный программист или что-нибудь в этом роде, а простой смертный как и я :)

Почему Вы, "простой смертный", считаете, что Вы или разработчики Transaq лучше разработчиков Windows разбираются в особенностях функционирования Windows NT (XP, Vista, 7, 8 ...), особенно -- в устройстве и работе планировщика времени выполнения различных процессов, событийном механизме, приоритетах выполнения тех или иных программ?

Ну я же сказал уже: по определению. Для меня компьютер - это хобби, а для них это кусок хлеба насущного. У меня просто физически нет рядом ни одного человека, с которым можно было бы с пользой для себя поговорить на "компьютерную" тематику. Ну и кто лучше в этом разбирается, я-любитель или они-профессионалы, которые всю свою жизнь "варятся в этом котле"?


Почему Transaq Trader и Excel, интерактивные пользовательские приложения, должны выполняться с приоритетом критических служб csrss и winlogon? На taskmgr насмотрелись? Ну так у последнего и роль особая.

Я не знаю... Мне сейчас не интересно обсуждать этот вопрос. Эта ветка создавалась, когда у меня была РЕАЛЬНАЯ проблема - Транзак зависал вместе с моим эксельным роботом, о чём я в своё время писал на форуме. В то время ответа на мой вопрос в этой теме не  последовало, и я решил, что использовать пакетные файлы для запуска эксельного робота с высоким приоритетом (таким способом я надеялся добиться стабильной работы) вообще невозможно.  Через некоторое время я нашёл баг в своём роботе (о чем тоже в свое время писал на форуме), исправив который я добился стабильной работы системы. Потом (через полгода!) появился коллега, который поднял эту тему из небытия в тот момент, когда  мне это уже было не особо нужно и не особо интересно. Если бы это было сложно, я бы и заморачиваться не стал, но оказалось, что это совсем просто. Ну и почему бы не взять, если дают? Ну я и "взял". В результате у меня на обоих компьютерах связка Транзак-Эксель работает стабильно. Хотя с другой стороны, она и до этого момента уже работала стабильно. Но всё-таки пусть уж будет стабильность с запасом. Как говорится, обжегшись на молоке, на воду дуют.


Или просто объясните, зачем Вы хотите сделать из и так не слишком стабильной операционной системы гораздо менее стабильный вариант, да ещё с помощью такого инструментария работать на финансовых рынках?

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