Добрый день!
Понимаю, тема не нова, но думаю, актуальна для многих, потому решил создать отдельную тему. Я новичок в освоении MQL4. Помогите разобраться с вопросом запуска стороннего файла через mql4 (при совпадении определенных условии выполнить файл bat). Вроде перепробовал все возможные варианты найденные через "поиск" на Форуме. Пробовал через WinExec, терминал не реагирует, isdllsallowed вообще молчит. Разрешение dll в mt4 разрешено. Были попытки запуска через ShellExcute, не пошло (на компе установлена Windows 10). Подскажите, в чем ошибка. Как пример использовал подобный скрипт(не запускается):
WinExec осталась лишь для совместимости с 16-битными Windows. Прошлый век, короче. Но в принципе и ее можно использовать, передав строку в ANSI-кодировке. Вы же сейчас передали строку в юникоде.
#import "kernel32.dll" int WinExec(uchar &lpCmdLine[], int uCmdShow); #import void OnStart() { if (!IsDllsAllowed()) { Alert("Вызов из библиотек (DLL) невозможен. Скрипт не может выполняться."); return; } string strCmdLine = "notepad.exe"; uchar ucharCmdLine[]; StringToCharArray(strCmdLine, ucharCmdLine); WinExec(ucharCmdLine, 1); }
WinExec осталась лишь для совместимости с 16-битными Windows. Прошлый век, короче. Но в принципе и ее можно использовать, передав строку в ANSI-кодировке. Вы же сейчас передали строку в юникоде.
Благодарю за отклик!
Пробовал вставить Ваш код в MetaEditor, но к сожалению, при компиляции notepad не запускается. Код работает напрямую при компиляции c MetaEditora? Или необходимо внести его в скрипты MT4 расширением ex4?
Возможно, задаю глупые вопросы, но пока учусь!
ShellExecuteW
Спасибо за отклик и подсказку! Этот метод я тоже пробовал, но в связи с пробелами в знаниях языка, либо неверно оформляю, либо косячно компилирую.
Не могли бы Вы представить любой рабочий пример применения библиотеки с запуском стороннего приложения?
Благодарю за отклик!
Пробовал вставить Ваш код в MetaEditor, но к сожалению, при компиляции notepad не запускается. Код работает напрямую при компиляции c MetaEditora? Или необходимо внести его в скрипты MT4 расширением ex4?
Возможно, задаю глупые вопросы, но пока учусь!
Компиляция - это лишь... компиляция )) Просто перевод текста с "человеческого" MQL в "нечеловеческие" машкоды. Для запуска программы нужно прикрепить скрипт к любому чарту (см. окно Навигатор в терминале, не в MetaEditor).
Компиляция - это лишь... компиляция )) Просто перевод текста с "человеческого" MQL в "нечеловеческие" машкоды. Для запуска программы нужно прикрепить скрипт к любому чарту (см. окно Навигатор в терминале, не в MetaEditor).
Спасибо за подсказку!
Все это время я компилировал вместо реального запуска скрипта!!!!

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день!
Понимаю, тема не нова, но думаю, актуальна для многих, потому решил создать отдельную тему. Я новичок в освоении MQL4. Помогите разобраться с вопросом запуска стороннего файла через mql4 (при совпадении определенных условии выполнить файл bat). Вроде перепробовал все возможные варианты найденные через "поиск" на Форуме. Пробовал через WinExec, терминал не реагирует, isdllsallowed вообще молчит. Разрешение dll в mt4 разрешено. Были попытки запуска через ShellExcute, не пошло (на компе установлена Windows 10). Подскажите, в чем ошибка. Как пример использовал подобный скрипт(не запускается):