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

 
A100:

Не выдает ошибку, при попытке изменениия указателя, объявленного как const

А разве можно объявлять конструктор в приватной секции? Компилятор не ругается?
 

Итак, уважаемые разработчики дали ответ на заявку:

 Support Team 2014.04.16 15:58

Выставление флага остановки мы сделаем, но в индикаторах его применение не имеет большого смысла. Индикаторы не предназначены для выполнения сверхтяжелых или зацикленных вычислений в OnCalculate, т.к. в отличии от экспертов и скриптов не выполняются в отдельных потоках. Т.е. зациклив поток индикатора вы как минимум остановите формирование истории (синхронизацию, добавление тиков и т.д.). 
Support Team 2014.04.16 15:59
Статус: Открыта Завершена
 
Fleder:
А разве можно объявлять конструктор в приватной секции? Компилятор не ругается?

Можно, потому, что само по себе это не вызывает противоречий, а любое ограничение должно быть обосновано. Такой объект может быть создан внутри самого класса, а указатель на такой объект может быть создан и вне класса

 
A100:

Можно, потому, что само по себе это не вызывает противоречий, а любое ограничение должно быть обосновано. Такой объект может быть создан внутри самого класса, а указатель на такой объект может быть создан и вне класса

Если можно, то почему компилятор говорит, что нельзя:

 

 
mql5:
Теперь статические члены обязательно размещать.

Спасибо. Правда, непонятно где их надо размещать... Первые попытки затолкать их в корень, перед функцией или непосредственно рядом с классами не увенчались успехом - просто тип ошибок меняется на redefinition. Но ладно, еще потыкаюсь, может найду подходящее место.


Fleder:А ещё лучше - стараться избегать их использования.

Ну, скажите, тоже... А как иначе хранить всю ту информацию, которую нужно вычислять раз в Х (где-то минуту, а где-то и целую неделю), а использовать каждый тик в нескольких классах? Или по-вашему лучше каждый тик по-новой парсить всякие массивы с новостями, уровни сопротивления и высчитывать статистику за последние 10000 свечей? :) Да еще по местами по нескольку раз тик, отдельно для каждого объекта класса? Тогда, я подозреваю, прогон в тестере на полтора года будет занимать не час, как сейчас, а все реальные полтора года :)
 
Lone_Irbis:

Спасибо. Правда, непонятно где их надо размещать... Первые попытки затолкать их в корень, перед функцией или непосредственно рядом с классами не увенчались успехом - просто тип ошибок меняется на redefinition. Но ладно, еще потыкаюсь, может найду подходящее место.


Ну, скажите, тоже... А как иначе хранить всю ту информацию, которую нужно вычислять раз в Х (где-то минуту, а где-то и целую неделю), а использовать каждый тик в нескольких классах? Или по-вашему лучше каждый тик по-новой парсить всякие массивы с новостями, уровни сопротивления и высчитывать статистику за последние 10000 свечей? :) Да еще по местами по нескольку раз тик, отдельно для каждого объекта класса? Тогда, я подозреваю, прогон в тестере на полтора года будет занимать не час, как сейчас, а все реальные полтора года :)
И тестер лучше тоже не использовать.
 
Fleder:

Если можно, то почему компилятор говорит, что нельзя: 

А мне не говорит

class B {
        B() {}
};
void OnStart()
{
        B *b;
}
Повторюсь: Такой объект может быть создан внутри самого класса, а указатель на такой объект может быть создан и вне класса
 

Что то я не понял, как сканировать сервера при подключении? Раньше я вводил имя сервера и вылетал список, я добавлял нужные (картинка 2, там добавлены сервера около  двух недель назад)  На картинке один уже не сканируются нужные сервера, не могу добавить. Что уже нельзя или как вы сами это делаете?


 
Fleder:
И тестер лучше тоже не использовать.

Ага, и форекс тоже вообще лучше не использовать. Да и компьютер, если на то пошло :) Вредно вообще все это. 

А вообще фикс уже нашелся. Не очень красивый, но работает. Фикс называется "к черту это ваше ООП". %) Ошибки удалось устранить, повыпиливав все статические переменные из классов, убрав от них приставку static и сложив аккуратной кучкой рядышком. 

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

 
Lone_Irbis:

Ага, и форекс тоже вообще лучше не использовать. Да и компьютер, если на то пошло :) Вредно вообще все это. 

А вообще фикс уже нашелся. Не очень красивый, но работает. Фикс называется "к черту это ваше ООП". %) Ошибки удалось устранить, повыпиливав все статические переменные из классов, убрав от них приставку static и сложив аккуратной кучкой рядышком. 

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

Просто автоматическую инициализацию заменили явным размещением.

А если стремиться к совершенству, то:

1. самый лучший способ торговли - не торговать.

2. самый лучший способ прожить жизнь - не рождаться. 

Причина обращения: