Ошибки, баги, вопросы - страница 2491
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Раз речь зашла про rates_total, тогда спрошу у сообщества, какая конструкция в OnCalculate изящнее и оптимальнее?
Раньше я в OnCalculate использовал конструкцию типа такой:
но после того, как понял, что могут возникать ситуации, когда prev_calculated>rates_total, понял, что ничего не понимаю, махнул рукой и, если пересчет всех баров занимает не больше пару секунд, то стал использовать такую конструкцию:
как кто делает и как, вообще, грамотно?
Грамотно так как сам понимаешь что происходит. Замечание по поводу вашей конструкции: Вместо ==1 я-бы написал >=1 или просто if(rates_total > prev_calculated) для того, чтобы если подкачались пропущенные бары их пересчитать.
Плюс ко всему, в mql5 и с директивой strict в mql4 чтобы не выскочить за пределы массива надо учитывать сколько баров могут быть задействованы в расчётах от крайнего левого бара. Вот и получается, что шаблона как такового на все случаи жизни лично у меня нет.
Раз речь зашла про rates_total, тогда спрошу у сообщества, какая конструкция в OnCalculate изящнее и оптимальнее?
Раньше я в OnCalculate использовал конструкцию типа такой:
но после того, как понял, что могут возникать ситуации, когда prev_calculated>rates_total, понял, что ничего не понимаю, махнул рукой и, если пересчет всех баров занимает не больше пару секунд, то стал использовать такую конструкцию:
как кто делает и как, вообще, грамотно?
Раз речь зашла про rates_total, тогда спрошу у сообщества, какая конструкция в OnCalculate изящнее и оптимальнее?
Раньше я в OnCalculate использовал конструкцию типа такой:
но после того, как понял, что могут возникать ситуации, когда prev_calculated>rates_total, понял, что ничего не понимаю, махнул рукой и, если пересчет всех баров занимает не больше пару секунд, то стал использовать такую конструкцию:
как кто делает и как, вообще, грамотно?
в принципе вопрос актуальный, в примерах от разработчиков (поставка МТ) разные способы подсчета, даже BarsCalculated() в Bears.mql5 используется
недавно под МТ4 обсуждали, я пока на таком шаблоне остановился: https://www.mql5.com/ru/forum/314931/page2#comment_11946579
под МТ5 нужно проверить, но чарты по разному себя ведут (МТ4 / МТ5), в МТ5 если прокрутить колесиком мыши к началу истории, кажется будет сбрасываться в ноль prev_calculated - в прошлом году писал индикатор под МТ5 был удивлен такому поведению
ЗЫ: кастомный график нужно сделать и по таймеру быстро историю пробрасывать - так сказать испытательный стенд нужен, чтобы поведение rates_total и prev_calculated отследить, я пару страниц назад тут писал, про несоответствие rates_total и iBars() - это тоже нужно учитывать
ЗЫЗЫ: как вариант коды Младена по изучать, мне нравится его стиль написания индикаторов - все продумано до мелочей, единтсвенная проблема в его кодах - очень своеобразный стиль форматирования исходника
...........................
очень своеобразный стиль форматирования исходника
я умею пользоваться стилизатором, но стилизатор не работает если в одну строку записать несколько операторов
;)
пример https://www.mql5.com/ru/code/22766Просто вопрос.
ulong имеет максимальное значение 18.........
Я получил значение 61........
А IntegerToString() этого значения выдаёт вообще выдаёт 90.............
Пришлось попотеть, пока нашёл проблему.
Можно ли как-то локализовать это?
Это нормально, что агенты после выполнения задания в облаке не освобождают оперативную память?
Версия 2085, 13 июня 2019.
Держит оперативную память минимум 1 час.
Это нормально, что агенты после выполнения задания в облаке не освобождают оперативную память?
Вопрос не полный. Сколько времени агенты у Вас держат память? Какой билд терминала?
Ошибка при выполнении:
Результат : 1
Ожидалось: 2 или (как в С++) - ошибка при компиляции
Спасибо за сообщение!
В MQL5 неподдерживается overriding (и/или hiding) методов классов.
Если мне не изменяет память, то несколько лет назад мы с Вами обсуждали уже эту особенность, правда речь тогда шла о том, какую перегрузку лучше вызывать ближайшую по наследованию или более точную по параметрам.
В новой версии компилятора, overriding будет работать, как в C++
Т.е. при переопределении родительского метода, вызвать его можно будет только через скоп "b.A::f()", попытка вызова b.f(10) приведёт к ошибке, метод b.f() - не имеет параметра, а метод A::f(int) недоступен (скрыт), т.к. бы переопределён.
Вопрос не полный. Сколько времени агенты у Вас держат память? Какой билд терминала?
Дополнил информацию
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
SEM, 2019.07.01 09:03
Это нормально, что агенты после выполнения задания в облаке не освобождают оперативную память?
Версия 2085, 13 июня 2019.
Держит оперативную память минимум 1 час.