Новый клиентский терминал MetaTrader 4 build 201 - страница 2

 
Renat, сейчас такое же наблюдается у многих. При первой установке моего индикатора на последних билдах метатрейдера также программа ругается на память. У многих. Но не увсех. Кто устанавливал индикатор ранее, на более ранних билдах метатрейдера, все работает без сбоев.
Выходим из положения следующим образом. Устанавливаем 197 билд. Устанавливаем индикатор. После этого апдейтим до 201 билда. И только после такой операции метатрейдер не грешит на память. Начинает нормально работать.
 
Прокомментируйте, пожалуйста (201 билд):
2007.01.08 10:27:26 test_ave EURUSD,M5: error(4002): array index is out of range
2007.01.08 10:32:48 Memory handler: cannot allocate 2 088 773 148 bytes of memory

200 билд:
После работы тестера с историей в полгода, начинает вываливаться сообщение error resize на этот совершенно безобидный оператор
ArrayResize(Up,Bars);

В 199 билде всё работало.

Вероятно, Вы стали использовать миллионы баров истории, не задумываясь, откуда возьмется память для Ваших массивов.
Вы не заметили, что пытаетесь перевыделить 2 гигабайта памяти?

Да нет, мы не стали использовать миллионы баров истории. Мы их уже года полтора используем. И задумываемся, и заметили. И ещё знаем, что раньше, например, у меня, всё прекрасно работало (только медленно) при 512 мб ОЗУ, а пару месяцев назад добавил ещё 512. И баров в истории сколько было, столько и есть. Ну разве что за декабрь-январь докачал котировки.

P.S. Честь и хвала Вам за МетаТрейдер. Я пользователь Вашего продукта уже шестой год и вполне им доволен. За исключением возникающих порой недоразумений. Всё это приводит к потере ни минут, ни часов. ДНЕЙ. Когда программа, находящаяся в стадии разработки, вдруг начинает глючить, что делает любой программер? Начинает искать ошибку. У себя. А вы знаете, что такое работать с полным отсутствием средств отладки? И когда "выходишь" в конце концов на "источник", и идешь с вопросами в этот форум, то на обвинение в невежестве как бы не рассчитываешь. А после Вашего ответа почуствовал себя исключительно тупым ламером.
 
avm , в соседней верке по 199 билду привел переписку по этому же поводу. Посмотрите. Интересно.
Причем о тестировании и речи не идет. Просто на последних билдах метатрейдера индикатор не устанавливается на график у новичков. А кто ранее использовал индикатор никаких проблем не имеют - работает все нормально и на последних билдах.
Один человек написал письмо Метаквотам. Ответ был - обращайтесь к разработчику индикатора...
 
Почему бы точно не указать - сколько баров используется? Ведь использовали же History Center.

Не надо спорить и прятать/недоговаривать информацию. Если речь о программировании, то подробные технические детали должны быть озвучены сразу же вместе с вопросом.
 
Renat, сейчас такое же наблюдается у многих.

Поэтому надо читать вот эту ветку: "MQL4: Претензия к программистам и разработчикам."

Надо же отдавать себе отчет в том, что работа с миллионами баров требует ресурсов, сильно отличных от ранее использованных десятков тысяч баров.
 
Renat, сейчас такое же наблюдается у многих.

Поэтому надо читать вот эту ветку: "MQL4: Претензия к программистам и разработчикам."

Надо же отдавать себе отчет в том, что работа с миллионами баров требует ресурсов, сильно отличных от ранее использованных десятков тысяч баров.
Мы о разных вещах говорим. Причем здесь миллионы баров? Если в версиях до 197 билда индикатор работает. А в в версиях, начиная с 199, он даже не устанавливается на график. Никакого визуального тестирования не делается. ПРИ УСТАНОВКЕ НА ГРАФИК ИНДИКАТОРА на вкладке ЭКСПЕРТЫ и ЖУРНАЛ отображается примерно такая же строчка: 2007.01.08 10:32:48 Memory handler: cannot allocate 2 088 773 148 bytes of memory.
Причем у большинства работает. Загляните в соседнюю верку по 199 билду. Там все описано.

Все установки метатрейдера по умолчанию. Никаких миллионов баров никто не задает.

Проверим. Написал, чтобы все уменьшили количество баров окне. Если не поможет, сообщу.

Если действительно это из-за большого количества баров, а сейчас массово после 199 билда такое наблюдается, то надо в метатрейдере на уровне программы эту проблему решить.
Например, делать какую-то внутреннюю проверку и, если превышены допустимые границы, ьсправлять с помощью внутренней защиты. То есть уменьшать количесто баров в окне внутренним механизмом защиты. При этом в Журнале или еще где-то выводить соответствующее сообщение.

Простые пользователи, не программисты, с ситуацией переполнения памяти в большинстве случаев справиться не могут. Грамотных, понятных ответов от разработчиков также им сложно дождаться.
Ответ - обратитесь к разработчику индикатора - не грамотный. Разработчик индикатора также не знает, что разработчики метатрейдера в очередном билде сделали. И ситуация, когда у большинства нет никаких проблем, а кого-то возникают проблемы трудно объяснима.

Например, я не могу ничем объяснить такое. Старые версии индикатора работают, а новая, в которой практически ничего существенного не сделано, не работает. Причем у большинства и старые версии и новые работают. Но мне встретился один случай, когда старая версия работала, а новая нет.

Как объяснить ситуацию, когда ставим 197 билд и индикатор. Потом апдейтим метатрейдер и все начинает работать? И опять же фигуристо работает. У некоторых все работает. А мне также встретился один случай, что заработали все версии, кроме самой последней. И еще. Если с 197 билдом не установишь индикатор, то после апдейта до последней версии метатрейдера, индикатор не работает. Как все это объяснить? Нехваткой памяти?.. Что-то здесь не так.

Расчеты по распределению памяти можно проводить. Но, я считаю, что это отписка, как и предложение - обратитесь к разработчику индикатора. И просто нежелание разработчиков метатрейдера вникать в проблемы...
 
Так почему бы (это обязательное требование):
1) не написать, сколько баров на графике - это нужно посмотреть в History Center
2) не опубликовать полный код индикатора, который требует выделить 2 гигабайта памяти?

Если Вы общаетесь с разработчиками, то будьте добры обращаться с техническими деталями (цифры, характеристики, отчеты, код эксперта/индикатора). Пока я вижу цифры 199, 201, 2 Gb, повторяемые раз за разом. Не нужно слов - нужны цифры и детальные характеристики.
 
Если действительно это из-за большого количества баров, а сейчас массово после 199 билда такое наблюдается, то надо в метатрейдере на уровне программы эту проблему решить.

Хорошо, что признали факт использования миллионов баров из хистори центра.

Писать надо эффективные индикаторы - это не имеет отношения к языку MQL4 и самому терминалу МТ4. Если написан неэффективный индикатор, то при десятках тысяч баров все еще как-то может работать, но при миллионах баров все проблемы сразу же вылезают наружу.

Как Вы указали, проблемы в Ваших собственных массивах, которые Вы постоянно перевыделяете.
 
Детальные характеристики. К Вам обратился человек, у которого была эта проблема. Вы сказали ему - обращайся к разработчику индикатора. А могли бы у него запросить, какие у него проблемы. Он оставил сообщение, что Вы ему сказали. И выразил Вам особую благодарность за помощь... Это на другом форуме. Сейчас его я просто найти не могу. У меня проблем нет ни разу никаких сбоев не было. А пользователи обращаются часто.
Индикатор можно скачать здесь http://onix-trade.net/forum/index.php?s=&showtopic=118&view=findpost&p=145576
Он в свободном доступе. Никаких секретов нет. И все версии индикатора там же можно найти. В начале кода индикатора есть ссылки на описание и на страницу, где его можно скачать.
 
[quote]

Хорошо, что признали факт использования миллионов баров из хистори центра.
А где Вы увидели, что я признал использование миллионов баров? По моему я этого не говорил. Все используется по умолчанию. Я разбирался с такой ошибкой у моего знакомого. Тот человек, у которого такая ошибка возникла и понятия не имеет, что где-то можно менять количество баров в окне. Ему это просто не нужно. Обычный пользователь.
Вот здесь можно прочитать, что я попросил всех, у кого есть проблемы с памятью посмотреть, сколько баров в окне и попытаться их количество уменьшить.
http://onix-trade.net/forum/index.php?s=&showtopic=373&view=findpost&p=145385
http://onix-trade.net/forum/index.php?s=&showtopic=373&view=findpost&p=148276

В соседней ветке Putnik сообщал, что он на компьютере с маленькой памятью использует в нескольких окнах неколько десятков экземпляров индикатора. И все работает. Причем у Putnik'a для анализа используется вся доступная история. То есть он использует историю с где-то 1970 года.
А у кого возникают проблемы не могут установить один экземпляр индикатора на график. Как это можно объяснить?
Причина обращения: