Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Появилась идея? Обсуди ее на форуме трейдеров!
sava
46
sava 2015.11.19 10:26 
Добрый день! может кто сталкивался как можно из советника запустить батфайл?
Vladimir
198
Vladimir 2015.11.19 16:38  

Не сталкивался, но сделал бы так. Постоянно работает виндоус приложение, которое каждые N миллисекунд выясняет наличие сигнальных файлов в файловых каталогах нужных терминалов, при появлении сигнала на запуск читает его (а записал его советник) и генерирует нужный bat файл в файловом каталоге терминала или где нужно, затирает сигнальный файл  (его пишет bat файл) с сообщением о завершении работы bat файла и запускает bat на выполнение без ожидания завершения. Сигнальный файл завершения работы bat файла пусть читает советник.

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

Алексей Тарабанов
7220
Алексей Тарабанов 2015.11.19 21:00  
Vlad143:

Не сталкивался, но сделал бы так. Постоянно работает виндоус приложение, которое каждые N миллисекунд выясняет наличие сигнальных файлов в файловых каталогах нужных терминалов, при появлении сигнала на запуск читает его (а записал его советник) и генерирует нужный bat файл в файловом каталоге терминала или где нужно, затирает сигнальный файл  (его пишет bat файл) с сообщением о завершении работы bat файла и запускает bat на выполнение без ожидания завершения. Сигнальный файл завершения работы bat файла пусть читает советник.

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

Суть в передаче управления, имхенько. Я бы поинтересовался у Рустама, нельзя ли какое-нибудь сообщение послать куда-нибудь... 
Dmitry Fedoseev
41174
Dmitry Fedoseev 2015.11.19 23:41  
Рустам
3600
Рустам 2015.11.20 02:24  
бат файл записанный другой прогой через винапи - пожалуйста, если еще и самому писать скриптом, то тоже через винапи, потому что терминал не даст создать файл с исполняемым расширением.
Комбинатор
15636
Комбинатор 2015.11.20 13:25  
ShellExecuteW с помощью WinAPI
sava
46
sava 2015.11.23 09:52  

А чем отличается ShellExecuteW от ShellExecuteа  я   сделал вот так но что то не заработало

#import "shell32.dll"

 int ShellExecuteA(int hwnd, string lpOperation, string lpFile,string lpParameters,string lpDirectory,int nShowCmd); 

void OnTick()

  { ShellExecuteA(CHART_WINDOW_HANDLE,"open","D:\cursor.bat", NULL,NULL,1);

sava
46
sava 2015.11.23 10:34  
помогите с параметрами ни как не получается  , просто нужно запустить батник
Комбинатор
15636
Комбинатор 2015.11.23 13:17  
ShellExecuteW(NULL, "open", "D:\\cursor.bat", NULL, NULL, 1)
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий