Выпущена бета-версия MetaTrader 4 Build 529 с новым компилятором - страница 18
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
а справочник MQL4 (который в эдиторе) тоже обновился соответственно?
да с запросом на обновление. Справочник для MQL4 там почти с 5-ки содран и много не соответствует реалиям компилятора, на данный момент.
Поправьте если не так понял.
Использую в индикаторе библиотечную функцию, в данной функции происходит объявление неких static переменной, которые участвуют в расчете индикаторного массива.
Если я желаю изменить параметры индикатора, то, что бы индикатор рассчитывался верно (в виду зависимости от static переменных),
должен передать в библиотечную функцию флаг отвечающий за переинициализацию (придется расширить входные параметры каждой функции, что имеет static переменные),
в теле произвести обнуление значений static переменных, и не забыть снять флаг перед завершением всего расчета.
На много проще было если бы static переменные имели какой-то параметр, задаваемый при их объявлении, отвечающий за то, будет или нет обнуляться значение этих переменных при переинициализации.
На много проще было если бы static переменные имели какой-то параметр, задаваемый при их объявлении, отвечающий за то, будет или нет обнуляться значение этих переменных при переинициализации.
Будет ещё проще, если разработчики сделают спец-функцию типа ResetStaticVars().
// Кстати, сделать её не так-то просто. Я б не стал. Одно дело тупо обнулить весь сегмент данных, другое дело корректно присвоить все юзерские начальные значения. Гемор однако.
Вапче (как парадигма) сохранение значений в течении жизни программы весьма удобно. Просто тут вопрос обратной совместимости встал, ну и..
I know that this is a Russian speaking part of the forum, but since I am bad at talking Russian (even though I can read it) hope nobody will mind posting this here (since the English part seems completely inactive as far as these issues are concerned and since I did not see that someone posted about this issue)
There is one serious issue with the new metatrader that concerns external string parameters. Initially they have a correct value, but as soon as time frame or symbol is changed the content of a string parameter is lost. Here is a simple example that will show exactly what is happening. That issue also happens when such indicators are used through iCustom() call and that makes any such indicator unusable from any EA or other code
да с запросом на обновление. Справочник для MQL4 там почти с 5-ки содран и много не соответствует реалиям компилятора, на данный момент.
может там оставили то, что в ближайших планах? я на это расчитываю.
а справочник MQL4 (который в эдиторе) тоже обновился соответственно?
Что то я не могу разобраться для чего нам нужна подобная конструкция
#property icon "\\Files\\button.ico"
Что то я не могу разобраться для чего нам нужна подобная конструкция
I know that this is a Russian speaking part of the forum, but since I am bad at talking Russian (even though I can read it) hope nobody will mind posting this here (since the English part seems completely inactive as far as these issues are concerned and since I did not see that someone posted about this issue)
There is one serious issue with the new metatrader that concerns external string parameters. Initially they have a correct value, but as soon as time frame or symbol is changed the content of a string parameter is lost. Here is a simple example that will show exactly what is happening. That issue also happens when such indicators are used through iCustom() call and that makes any such indicator unusable from any EA or other code
Младен, мне проще ответить по-русски, тем более, что Вы свободно читаете.
Вот мое решение этой проблемы. В код init() включаю функцию ReInit(), которая повторно инициализирует те глобальные переменные, значения которых должны быть восстановлены при смене таймфрейма, или символа: