Ошибки, баги, вопросы - страница 1903

 
Vladimir Gribachev:

только что открыл терминал MT4 в том что веду разработки и был в шоке

слетели все счета - но это исправимо

пропали все коды с Метаидитора, а я ведь вчера пару проэктов так и не синхронизировал с хранилищем. 

день работы коту под хвост

Можете прокомментировать сложившуюся ситуацию?


на другом терминале тоже самое
 
В MqlRates поле spread - это минимальный, максимальный или средний спред за бар? Документация, как обычно, отдыхает.
 
Vladimir Gribachev:

пропали все коды с Метаидитора, а я ведь вчера пару проэктов так и не синхронизировал с хранилищем. 

Скорее всего не пропали.

Если слетели счета, почти наверняка была создана новая папка в app data/roaming для данных терминала, просто поискать во всех папках.

 
-Aleks-:

MT4 стал часто вылетать с ошибкой виндовой (после обновления?) - раньше такого не наблюдалось, даже, если не хватало памяти - он просто косячил в вычислениях. Где искать проблему?

Напишите в сервисдекс, разберемся.
 

Возник вопрос: как из класса узнать количество имеющихся экземпляров этого самого класса?

Причина такая: внутри класса есть цикл, внутри которого нужно делать некоторые расчёты только если есть лишь один экземпляр класса, в остальных экземплярах нужно пропускать такие расчёты во избежание их дублирования и выполнения лишних расчётов (они были сделаны в самом первом экземпляре класса и переданы "в общее пользование" - доступны за пределами класса)

 
Artyom Trishkin:

Возник вопрос: как из класса узнать количество имеющихся экземпляров этого самого класса?

Причина такая: внутри класса есть цикл, внутри которого нужно делать некоторые расчёты только если есть лишь один экземпляр класса, в остальных экземплярах нужно пропускать такие расчёты во избежание их дублирования и выполнения лишних расчётов (они были сделаны в самом первом экземпляре класса и переданы "в общее пользование" - доступны за пределами класса)


Описать в классе статический счетчик объектов. В конструкторе - увеличивать, в деструкторе - уменьшать.
 
Artyom Trishkin:

Причина такая: внутри класса есть цикл, внутри которого нужно делать некоторые расчёты только если есть лишь один экземпляр класса, в остальных экземплярах нужно пропускать такие расчёты во избежание их дублирования и выполнения лишних расчётов (они были сделаны в самом первом экземпляре класса и переданы "в общее пользование" - доступны за пределами класса)

Почему не использовать ссылку на один экземпляр класса?

А внутри — либо рассчитывать (при появлении новых данных), либо возвращать готовый результат.

 
Artyom Trishkin:

Возник вопрос: как из класса узнать количество имеющихся экземпляров этого самого класса?

Причина такая: внутри класса есть цикл, внутри которого нужно делать некоторые расчёты только если есть лишь один экземпляр класса, в остальных экземплярах нужно пропускать такие расчёты во избежание их дублирования и выполнения лишних расчётов (они были сделаны в самом первом экземпляре класса и переданы "в общее пользование" - доступны за пределами класса)


Еще лучше все уникальные расчеты вынести в отдельный класс и сделать его синглтонтон.
 
Stanislav Korotky:

Еще лучше все уникальные расчеты вынести в отдельный класс и сделать его синглтонтон.

Расчёт не уникальный - если есть единственный экземпляр класса, то расчёт должен быть, если есть несколько экземпляров, то зачем дублировать один и тот же расчёт в других экземплярах этого же класса? Это занимает ресурсы.

В то же время делать в родительском классе ещё один длинный цикл для расчёта этих самых данных - тоже не оптимально (уже два длинных цикла), да и класс-потомок тогда уже станет не самодостаточным.

 
Andrey Khatimlianskii:

Почему не использовать ссылку на один экземпляр класса?

А внутри — либо рассчитывать (при появлении новых данных), либо возвращать готовый результат.

Андрей, можно чуть более развёрнуто? Не совсем понял.