Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 673
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте. Какой код добавить , чтобы появление алерта любого индикатора определялось в советнике ?
как определить появление алерта через iCustom ?
Может быть вы знаете уже существующие индикаторы\советники для этого ?
Здравтсвуйте. Хотел открыть файл .ex4 с помощью mt4.exe и поставил использовать для всех файлов. Как обратно вернуть "общая библиотека оболочки windows" ? почему то мт4 не видит теперь данного эксперта (робота).
Вы не поверите, но все!!! хотят открыть файл .ех4, проблема в том, что он никогда не открывался для редактирования, и не откроется.
Редактируемые файлы только .mq4, исполняемые - .ех4
События клиентского терминала
Init
Сразу же после того, как клиентский терминал загрузит программу (эксперт или пользовательский индикатор) и запустит процесс инициализации глобальных переменных, будет послано событие Init, которое обрабатывается функцией OnInit(), если она есть. Это событие также генерируется после смены финансового инструмента и/или периода графика, после перекомпиляции программы в редакторе MetaEditor, после смены входных параметров из окна настройки эксперта или пользовательского индикатора. Советник также инициализируется после смены счета. Для скриптов событие Init не генерируется.
А если не "из окна" ? Например, при режиме оптимизации в тестере ? Где об этом узнать, почитать ?
События клиентского терминала
Init
Сразу же после того, как клиентский терминал загрузит программу (эксперт или пользовательский индикатор) и запустит процесс инициализации глобальных переменных, будет послано событие Init, которое обрабатывается функцией OnInit(), если она есть. Это событие также генерируется после смены финансового инструмента и/или периода графика, после перекомпиляции программы в редакторе MetaEditor, после смены входных параметров из окна настройки эксперта или пользовательского индикатора. Советник также инициализируется после смены счета. Для скриптов событие Init не генерируется.
А если не "из окна" ? Например, при режиме оптимизации в тестере ? Где об этом узнать, почитать ?
В режиме оптимизации, каждый проход с новыми параметрами - это не что иное как новый запуск программы. Соответственно после запуска проходит событие OnInit().
Спасибо Владимир! Я это понимаю.)) Но, где об этом в документации написано ? Если в init() прописать Print, Alert, Comment, то ни в журнал ничего не выводится, ни на экран. Как убедиться в том, о чём мы с Вами знаем ?
Существуют ограничения работы некоторых функций в тестере стратегий клиентского терминала.
Функции Print() и PrintFormat()
Для увеличения быстродействия при оптимизации параметров советника функции Print() и PrintFormat() не выполняются. Исключением является использование этих функций внутри обработчика OnInit(). Это позволяет облегчить поиск причин ошибок при их возникновении.
Функции Alert(), MessageBox(), PlaySound(), SendFTP, SendMail(), SendNotification(), WebRequest()
Функции взаимодействия с "внешним миром" Alert(), MessageBox(), PlaySound(), SendFTP(), SendMail(), SendNotification() и WebRequest() в тестере стратегий не выполняются.
А чтобы убедится - запустите отладку на истории и в OnInit() поставьте точку останова.
У меня что-то вывести с помощью Print() в журнал тестера никак не получается. А как Вы это делаете ?
У меня что-то вывести с помощью Print() в журнал тестера никак не получается. А как Вы это делаете ?
Вот код OnInit() от советника:
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
SymbolSelect("EURJPY",true);
Print(__FUNCTION__,", ",TimeToString(TimeCurrent()));
SymbolSelect("USDJPY",true);
//---
return(INIT_SUCCEEDED);
}
Дальше ставлю точку останова (шаг 1) и запускаю тестирование на истории (шаг 2):
и в тестере получаю результат:
Vladimir Karputov:
Дальше ставлю точку останова (шаг 1) и запускаю тестирование на истории (шаг 2):