MetaTrader 4 Client Terminal build 610 - страница 66

 

Renat и пожалуйста ответ те на мой вопрос по обработке событий в советнике при отключенной кнопке "Советники"

Почему не работают функции OnChartEvent() && OnTimer() ?

 
ANG3110:
Так а как мне вернуть терминалы на 610. Я попробовал поверх проинсталировать взятый от брокера инсталятор, а он мне сразу обновил его до 613-го. Что нужно отключить чтобы MetaQuotes MT4 Test не разпространялся бы на все другие?
GSB:
Как и откуда его взят 610 ? 600 у меня сохранился, а вот выше промухал... не сохранил.

Перед установкой 610-го найдите и удалите папку WebInstall

Там находятся файлы обновления до последнего билда.

 
stringo:

Мы занимались ускорением файловых операций и внесли баг в чтение csv-строк. Сейчас уже всё исправлено. Файлы теперь читаются быстрее, чем в 509 билде


Давно хотел узнать где и как хранятся значения Global-переменных?
Я так понимаю что их значения сбрасываются на жесткий диск в момент применения функции GlobalVariableSet, если это верно то существует ли различие в скорости исполнения GlobalVariableSet и сохранения переменной в файл используя например FileWrite?

 
Я проверял так же после создания объекта. То же самое. Приложил просто упрощенный вариант кода. Приложите пожалуйста пример который работает
stringo:

Так объект ещё не отрисовался и его размеры не посчитались. Поэтому нули и возвращаются
 

Интересная фича:

Если в режиме отладки после инициализации вызвать повторно окно свойств, то после ОК проходит инициализация с новыми параметрами (смотрел по принтам), потом строка с входными параметрами, потом ещё раз инициализация.

 

Renat

Вчера еще в справке было написано

Событие NewTick генерируется только для экспертов при поступлении нового тика по символу, к графику которого прикреплен эксперт.
Отключение кнопки "Авто-торговля" (читай "Советники") блокирует торговые функции но не прерывает работу советника, т.е. не блокирует функцию OnTick()

Сегодня последнего предложения (приведено не дословно) уже нет. Это соответствует 509 билду, т.е. функции start() и OnTick() блокируются.

Вы можете четко разъяснить какие события обрабатываются при откл кнопки Советники.

Тесты показывают - что никакие! Ну такого не должно быть. По крайне мере OnTimer(), OnChartEvent() должны работать

Тест в МТ5 показал что так оно и есть - OnTimer(), OnChartEvent() продолжают обрабатывать события и при отключенной кнопки АвтоТорговля

TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)=0  при отключении кнопки АвтоТорговля
MQLInfoInteger(MQL_TRADE_ALLOWED)          =0  при отключении разрешения на торговлю на вкладке самого эксперта

и работают совершенно независимо

Не успел проверить что будет? если

if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)==0 && MQLInfoInteger(MQL_TRADE_ALLOWED)==1) OrderSend();

Нижеуказанные функции полностью. эквивалентны, очевидно оставлены на период адаптации :))

IsExpertEnabled()  ==  TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)
IsTradeAllowed()   ==  MQLInfoInteger(MQL_TRADE_ALLOWED)
 
stringo:

Это уже исправили.

Для того, чтобы члены перечисления показывались в порядке их описания (то есть, в исправленном варианте), надо перекомпилировать эксперта

Пишите, пожалуйста, в которой версии это исправили. А то же буду сидеть тут перекомпилировать без перерыва на обед в официально распространяемом брокерами 610 в надёге на проявление исправлений
 
Vladon:

не пойму траблу, то ли в индикаторе то ли у меня, то ли в советнике, то ли в тестере?

есть индикатор,

когда тестируешь советником и на визуализации кидаешь индикатор на график то он показывает одну картину, советник вроде не правильно определяет его значения,

когда нажимаешь стоп -то индикатор рисуется по другому . и советник определяет вроде то что он нарисовал после.

верхний индюк тот который я накинул во время старта советника

второй нижний тот который получился после стоп тестера


Прочитайте статью - Тестер в терминале MetaTrader 4: Это необходимо знать - там наверняка указан ответ на вопрос.

 
stringo:


Необходимо использовать пару "\r\n" для переноса строки в алертах.



спасибо,
заработало!
 
в 614-ом
компайлер момещен теперь в метаедитор
подскажите как можно скомпилировать с коммандной строки