это означает, что таблица строк переполнена
к сожалению, эта таблица - не динамическая. мы посмотрим, что можно сделать.
уточняющий вопрос, мы правильно поняли, что сообщения появляются не сразу?
ещё вопрос. не было ли при компиляции Вашего эксперта каких-либо предупреждений (warnings)?
к сожалению, эта таблица - не динамическая. мы посмотрим, что можно сделать.
уточняющий вопрос, мы правильно поняли, что сообщения появляются не сразу?
ещё вопрос. не было ли при компиляции Вашего эксперта каких-либо предупреждений (warnings)?
это означает, что таблица строк переполнена
1) Сообщение действительно появлялось только после длительной работы эксперта в режиме тестирования - 5-10 минут. До этого момента он работает нормально, а после первого же сообщения сыпет то же саоое сообщение пока я не остановлю эксперта. В результате если обычный лог файл у меня размером 1-2 МБ, то с этой ошибкой размер за один проход может вырасти до 10МБ.
2) Никаких предупреждений
1) Сообщение действительно появлялось только после длительной работы эксперта в режиме тестирования - 5-10 минут. До этого момента он работает нормально, а после первого же сообщения сыпет то же саоое сообщение пока я не остановлю эксперта. В результате если обычный лог файл у меня размером 1-2 МБ, то с этой ошибкой размер за один проход может вырасти до 10МБ.
2) Никаких предупреждений
ещё вопрос
можно предположить, что данную строчку возвращает функция OrderValue с параметром VAL_SYMBOL. потому что на функцию Symbol должно было быть предупреждение.
вопрос. скорее просьба. процитируйте выражение, где используется эта функция с этим параметром
можно предположить, что данную строчку возвращает функция OrderValue с параметром VAL_SYMBOL. потому что на функцию Symbol должно было быть предупреждение.
вопрос. скорее просьба. процитируйте выражение, где используется эта функция с этим параметром
ord(i,VAL_SYMBOL)
всего 16 подобных фрагментов в тексте
for i=1 to TotalTrades Begin
if ord(i,VAL_SYMBOL) != Symbol then continue ;
...
end;
похоже Вы на верном пути, поскольку проблемы начались (вернее я их заметил) примерно после того, как я стал интенсивно использовать эту функцию с этим параметром. раньше она у меня примерно раз за один тик вызывалась.
всего 16 подобных фрагментов в тексте
for i=1 to TotalTrades Begin
if ord(i,VAL_SYMBOL) != Symbol then continue ;
...
end;
похоже Вы на верном пути, поскольку проблемы начались (вернее я их заметил) примерно после того, как я стал интенсивно использовать эту функцию с этим параметром. раньше она у меня примерно раз за один тик вызывалась.
спасибо. будем разбираться
not enough memory
У меня была похожая история сразу после старта МТ 3.34.
Полечилось удалением части котировок из истории.
У меня была похожая история сразу после старта МТ 3.34.
Полечилось удалением части котировок из истории.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
MT 3.34, пробовал уже и на MT 3.40
Работаю на WinXP, Pentium 4/1700/512МБ
После достаточно продолжительной работы эксперта в режиме тестирования (порядка 5 минут - эксперт достаточно тяжелый) журнал заваливается сообщениями
01:10:27 Expert: not enough memory for temp string 'EURUSD' returned from function
При этом у системы в этот момент достаточно много свободной памяти - более 300 МБ.
Сам я строку 'EURUSD' в эксперте не использую.
В каком направлении искать?
Захожу за границы массивов?
...???
pyrat