Похоже, из-за этой путаницы (+typedef) идет выбор неправильной сигнатуры.
class A
{
public:
void f() const { Print(typename(&this)); } // "class A const *" - константный указатель на неконстантный объект.
};
voidOnStart()
{
const A* const a1 = NULL; // Константный указатель на константный объект.
A* const a2 = NULL; // Константный указатель на неконстантный объект.const A* a3 = NULL; // Неконстантный указатель на константный объект.const A a; // Констанстый объект
A b; // Неконстатный объект.Print(typename(a1)); // class A const *Print(typename(a2)); // class A const *Print(typename(a3)); // class A const *Print(typename(&a)); // class A const *
a.f(); // class A const *
b.f(); // class A const *
}
Обратил внимание, что если один и тот же .mq5 файл в папке Индикаторы сначала скомпилировать как Советник, а потом как Индикатор, то иконка в Навигаторе (с Советника на Индикатор) - не изменится до перезагрузки Терминала, даже если нажать Обновить
Обратил внимание, что если один и тот же .mq5 файл в папке Индикаторы сначала скомпилировать как Советник, а потом как Индикатор, то иконка в Навигаторе (с Советника на Индикатор) - не изменится до перезагрузки Терминала, даже если нажать Обновить
что может вызвать путаницу
одинаковые названия при одинаковых расширениях в разных папках это зло. конечно разнести расширениями было дальновидно бы. но как есть. Обновить пути вряд ли обновляет к иконке. Это внешнее к файлу свойство, обновить внутри файла обновляет.
Главная проблема это производительность. Стандартная функция round() в несколько раз медленнее Round (), которую приводил выше.
Проверил)
Получилась в два с половиной раза штатная медленнее.
Вроде ничего не теряет.
round уберите.
Умножение на 10 это изменить биты в экспоненте? Откуда 9 в периоде появляется?
Было: 5
Стало: 10
Двойной (!) const не спас от изменения значения
Ошибка при выполнении:
Было: 5
Стало: 10
Двойной (!) const не спас от изменения значения
Похоже, из-за этой путаницы (+typedef) идет выбор неправильной сигнатуры.
Похоже, из-за этой путаницы (+typedef) идет выбор неправильной сигнатуры.
Нет с a2 - это ошибка сама по себе была:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
A100, 2023.11.22 10:04
Ошибка при выполнении: Результат в (1) случае: true, а во (2) - false. A какая принципиальная разница?Знатоки, столкнулся с задачей посчитать сумму выведенных средств с торгового счета.
Но что то никак не получается.
DEAL_TYPE_BALANCE - не помогает.
Может я гдето что то потерял ?
К сожалению, она не подойдет для этого случая.
Проверил)
Получилась в два с половиной раза штатная медленнее.
Обратил внимание, что если один и тот же .mq5 файл в папке Индикаторы сначала скомпилировать как Советник, а потом как Индикатор, то иконка в Навигаторе (с Советника на Индикатор) - не изменится до перезагрузки Терминала, даже если нажать Обновить
что может вызвать путаницуОбратил внимание, что если один и тот же .mq5 файл в папке Индикаторы сначала скомпилировать как Советник, а потом как Индикатор, то иконка в Навигаторе (с Советника на Индикатор) - не изменится до перезагрузки Терминала, даже если нажать Обновить
что может вызвать путаницуодинаковые названия при одинаковых расширениях в разных папках это зло. конечно разнести расширениями было дальновидно бы. но как есть. Обновить пути вряд ли обновляет к иконке. Это внешнее к файлу свойство, обновить внутри файла обновляет.