[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 113
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
бывают сложные расчеты или подкачка истроии в init(), или на терминале много индикаторов и советников подвешивают терминал или...
в общем есть некое время на инициализацию кода, не скажу конкретно сколько, но если во время инициализации кода терминал прервет работу кода, будет в журнале ошибка примерно так:" .... timeout in expert ...."
если в журнал терминал не выводит ошибки, значит инициализация прошла успешно, а саму ф-цию start() проверить легко - напишите в первой строчке start() : Print("новый тик");
Так и сделал((
Да, покачиваю много информации, расчетов тоже много, эксперементирую с тиками...
Расчет занимает 2 - 3 минуты, МТ "не виснет", все работает типично, сообщения от Print() и Alert выводятся на экран, а дальше все))
Посмотрел все сообщения от МТ, в/у ошибок не нашел...
Please assist.
Расчет занимает 2 - 3 минуты, МТ "не виснет", все работает типично, сообщения от Print() и Alert выводятся на экран, а дальше все))
если Print() выводится, ТО однозначно start() у Вас работает, правда смущает Ваше утверждение, что расчет идет 2-3 минуты -при такой загрузке терминала необходимо прерывать расчеты ф-цией sleep() иначе терминал будет виснуть точно
ввиду того, что в МТ4 нет отладчика, вставляйте в сомнительные участки кода Print() и отлавливайте участки кода и условия которые выполнились или нет, иначе никак
Как проверить что ордер сработал по TakeProfit или StopLoss? Спасибо за ответ!
Sayod, ты на каком тф торговал и с какими параметрами?
А какя разница или ты уже сделал все наоборот и хочешь потестить?
Торговал по умолчанию на h1,
Pip step - 30
LotExpo - 1.59
хотя думаю параметры не имеют особого значения если реализовать идею, предполагаю советник будет полозен с любыми параметрами, ИМХО.
Мне надо зафиксировать факт срабатывания открытых ордеров по TakeProfit или StopLoss, причем сами значения TakeProfit и StopLoss меня не интерисуют.
если фиксировать просто факт срабатывания, тогда можно запоминать количество ордеров на предыдущем тике и сравнивать на следующем тике - если количество ордеров изменилось, значит ....
Терминал закрыл убыточный ордер с комментарием: "so:19,5%/28.4/145.8". Что сие означает?
если Print() выводится, ТО однозначно start() у Вас работает, правда смущает Ваше утверждение, что расчет идет 2-3 минуты -при такой загрузке терминала необходимо прерывать расчеты ф-цией sleep() иначе терминал будет виснуть точно
ввиду того, что в МТ4 нет отладчика, вставляйте в сомнительные участки кода Print() и отлавливайте участки кода и условия которые выполнились или нет, иначе никак
Простите, я не так выразился, Print работет только в ините. В start я попасть не могу))
Да, в колнце каждой функции, я вставляю print с сообщением о ней, чтобы проверить, все ли ок. И все сообщения (все функции) отработали на 100 % до конца инита, в старт перейти не могу!
Заранее спасибо за ответ!
Ознакомьтесь с кодом обеих функций и слейте их в одну для оптимизации по скорости исполнения и под конкретно ваши задачи...
Простите, я не так выразился, Print работет только в ините. В start я попасть не могу))
Да, в колнце каждой функции, я вставляю print с сообщением о ней, чтобы проверить, все ли ок. И все сообщения (все функции) отработали на 100 % до конца инита, в старт перейти не могу!
Заранее спасибо за ответ!
Так у вас же откровенно нет тика в терминале. Т.е. либо он не подключен, либо вы на оффлайновом графике работаете, либо проверьте в ините IsExpertEnabled() и если не разрешено, то включите советники.