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

 

В исходнике индикатора Fractals.mq5 в коде есть такие записи расчета фракталов (строки 74 и 79):

//---- Upper Fractal
if(high[i]>high[i+1] && high[i]>high[i+2] && high[i]>=high[i-1] && high[i]>=high[i-2])

//---- Lower Fractal
if(low[i]<low[i+1] && low[i]<low[i+2] && low[i]<=low[i-1] && low[i]<=low[i-2])

В этих расчетах меня смущают знаки равенства в >= и <= (красным цветом).

Всегда считал, что фрактал вверх формируется тогда, когда в комбинации из минимум пяти баров средний бар имеет самый большой максимум, т.е. всегда выше (не выше или равен) двум соседним максимумам по левой и правой стороне. С фракталом вниз соответственно. В вышеприведенной части кода видно, что равенство допускается. Пожалуйста проверьте, нет ли в коде Fractals.mq5 ошибки.

 

У меня есть сигнал, на мониторинге 100 процентов слив, на счете все нормально, третий день стучусь и в сервисдеск и сотрудникам компании. Ответа нет...

Как дальше решать вопрос....? 

 
Stanislav Olhovsky:

У меня есть сигнал, на мониторинге 100 процентов слив, на счете все нормально, третий день стучусь и в сервисдеск и сотрудникам компании. Ответа нет...

Как дальше решать вопрос....? 

Снимать нужно не более заработанного, тогда и кривая баланса не будет идти в ноль.
 

Писал в "Новшества в избранном" - там тишина. Напишу сюда:

Windows 10 x64, Mozilla Firefox 39.0. Не отправляются в личке прикреплённые изображения, файлы...

 
Karputov Vladimir:
Снимать нужно не более заработанного, тогда и кривая баланса не будет идти в ноль.

Сигнал работает почти 4 месяца, добавления только рибейт, никто там ничего не снимал, все было нормально, стабильный рост... в терминале то данные нормальные и в другом онлайн мониторинге....

 

Скрин с майбука прилагаю, там все нормально.

 

Ответ брокера, история хранится 1 месяц, но тогда уже два три месяца назад на сигналах было бы тоже самое... 

Файлы:
Error.png  36 kb
 
И снова о "Личке". Косяки продолжаются...
 

Уважаемые разработчики!

Разные показания индикатора Bands и iBands. В индикаторе Bands рассчет стандартного отклонения производится в функции StdDev_Func, а в iBands в методе GetData. При сравнении отрисовки на чарте, видна большая разница в состоянии буфферов отвечающих за уровни отклонения. Столкнулся с этим в MQL4, возможно в MQL5 то же самое.

 

Как-то раньше не заострял внимание, но сейчас при работе с большими массивами объектов классов обратил внимание на черезчур большой расход памяти.  Проверил по sizeof() - абсолютно пустой класс занимает 16 байт.  А учитывая, что классы тут управляемые, то добавляем ещё 8 байт на указатель.  Итого 24 байт.  Как-то черезчур накладно.

Залез в документацию и вот что там обнаружил:

объекты классов всегда имеют таблицу виртуальных функций, даже если в классе не объявлено ни одной виртуальной функции.

Спрашивается:  зачем в простых классах (не участвующих в наследовании) нужна таблица виртуальных функций?  Ведь об этих классах всё известно на этапе компиляции.

Выходит, что методы в них вызываются точно так же, как и виртуальные методы, т.е. идёт дополнительное перенаправление доступа по таблице.   И где же хвалёная оптимизация компилятора?  Как можно после этого заявлять о каком-то сравнении производительности с С++?

 

Вы неправы.

Если метод не описан виртуальным, то он вызывается напрямую. Кроме того, есть оптимизации по снятию виртуальности. Деструктор у нас всегда виртуален, что и приводит к наличию виртуальной таблицы.

Про 24 байта странное утверждение - ссылка на объект к размеру не относится.

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

 
Renat Fatkhullin:
 

Деструктор у нас всегда виртуален, что и приводит к наличию виртуальной таблицы.

Так а почему же деструктор то не оптимизировать? Лишние 8 байт хранить только из-за него...

Про 24 байта странное утверждение - ссылка на объект к размеру не относится.

Ну я просто не в курсе, как у вас там всё реализовано. Вот допустим если имеется массив объектов:

CObj array[];

Хранятся ли в системе ссылки (указатели) для каждого элемента?

Если хотите чистый размер, используйте структуры.

Это то понятно, но на структуру у вас нельзя брать указатель, и это снижает удобство пользования ею.  Поэтому тут порой приходится делать мучительный выбор...   Вот если бы размер класса удалось уменьшить, то было бы замечательно.  А если ещё и указатель на структуру появится, то вообще красота )
Причина обращения: