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

 
Alexey Viktorov:

Всё это просто придирки. Вот так было, я так хочу, менять свои привычки сложно и прочие причины.

Конструкцию if else легко заменить на

ну если быть придирчивым, то в советах по увеличению быстродействия на С++ или C# как раз и рекомендуют не использовать "условный оператор ? : " , кажется на Хабре статью когда то читал (не тестировал, сам пишу как удобнее )

;)

 
Igor Makanu:

ну если быть придирчивым, то в советах по увеличению быстродействия на С++ или C# как раз и рекомендуют не использовать "условный оператор ? : " , кажется на Хабре статью когда то читал (не тестировал, сам пишу как удобнее )

;)

Ну тут компилятор не идиот же, и оптимизирует получше, чем "гуру" на хабре
 
Artyom Trishkin:
Ну тут компилятор не идиот же, и оптимизирует получше, чем "гуру" на хабре

в таких случаях я всегда повторяю: "утром солнце всходит, а вечером заходит..." - Вы видите тут логику? - да это логично, а информация есть в моей фразе? - ее нет

я не буду тестировать ? : , компилятор машина.... Хабр, хороший...

 
Igor Makanu:

я не буду тестировать ? : 

протестировал МТ5:

2019.06.30 13:37:04.230 tst (EURUSD,H1) Testing if()  циклов=9999999999 время=10859 мс

2019.06.30 13:37:15.116 tst (EURUSD,H1) Testing ? :  циклов=9999999999 время=10891 мс

2019.06.30 13:38:05.348 tst (EURUSD,H1) Testing if()  циклов=9999999999 время=10843 мс

2019.06.30 13:38:16.190 tst (EURUSD,H1) Testing ? :  циклов=9999999999 время=10844 мс

2019.06.30 13:38:32.111 tst (EURUSD,H1) Testing if()  циклов=9999999999 время=10860 мс

2019.06.30 13:38:42.955 tst (EURUSD,H1) Testing ? :  циклов=9999999999 время=10843 мс

протестировал МТ4:

2019.06.30 13:46:09.087 tst EURUSD,H1: Testing ? :  циклов=9999999999 время=33234 мс

2019.06.30 13:45:35.854 tst EURUSD,H1: Testing if()  циклов=9999999999 время=32953 мс

2019.06.30 13:44:43.421 tst EURUSD,H1: Testing ? :  циклов=9999999999 время=33328 мс

2019.06.30 13:44:10.094 tst EURUSD,H1: Testing if()  циклов=9999999999 время=33016 мс

2019.06.30 13:42:56.925 tst EURUSD,H1: Testing ? :  циклов=9999999999 время=33344 мс

2019.06.30 13:42:23.584 tst EURUSD,H1: Testing if()  циклов=9999999999 время=32953 мс

разработчики МТ, как всегда на высоте!
 
Давно замечаю, что подсветка имён пользовательских макросов в большом проекте работает далеко не всегда.  Многие макросы, определённые в других файлах, почему-то не подсвечиваются.  Пока не могу выяснить закономерности.  Вижу лишь, что все макросы, определённые в некотором файле после некоторой строчки, перестают подсвечиваться в других файлах.  Кто-нибудь ещё наблюдает у себя подобное?
 
Alexey Navoykov:
Давно замечаю, что подсветка имён пользовательских макросов в большом проекте работает далеко не всегда.  Многие макросы, определённые в других файлах, почему-то не подсвечиваются.  Пока не могу выяснить закономерности.  Вижу лишь, что все макросы, определённые в некотором файле после некоторой строчки перестают подсвечиваться в других файлах.  Кто-нибудь ещё наблюдает у себя подобное?

Я замечал что если писать в качестве параметра какой-либо функции, то не подсвечивает. Думаю что это от не полного соответствия типа. Или как это назвать точней не знаю.

 
Alexey Navoykov:
Давно замечаю, что подсветка имён пользовательских макросов в большом проекте работает далеко не всегда.  Многие макросы, определённые в других файлах, почему-то не подсвечиваются.  Пока не могу выяснить закономерности.  Вижу лишь, что все макросы, определённые в некотором файле после некоторой строчки, перестают подсвечиваться в других файлах.  Кто-нибудь ещё наблюдает у себя подобное?
Да
 
Alexey Navoykov:
Давно замечаю, что подсветка имён пользовательских макросов в большом проекте работает далеко не всегда.  Многие макросы, определённые в других файлах, почему-то не подсвечиваются.  Пока не могу выяснить закономерности.  Вижу лишь, что все макросы, определённые в некотором файле после некоторой строчки перестают подсвечиваться в других файлах.  Кто-нибудь ещё наблюдает у себя подобное?

Подмечал что-то подобное. За точность ситуации не ручаюсь.

 
Alexey Navoykov:
Давно замечаю, что подсветка имён пользовательских макросов в большом проекте работает далеко не всегда.  Многие макросы, определённые в других файлах, почему-то не подсвечиваются.  Пока не могу выяснить закономерности.  Вижу лишь, что все макросы, определённые в некотором файле после некоторой строчки, перестают подсвечиваться в других файлах.  Кто-нибудь ещё наблюдает у себя подобное?

да, и еще бывает на новые переменные или поля класса не работает автоподстановка, лечится обычно перекомпиляцией проекта 

насколько я понимаю, в МЕ в фоне работает процесс который занимается подсветкой define и автоподстановкой, в какие то моменты он не всю инфу успевает (или не хочет) обновлять

 
Раз речь зашла про rates_total, тогда спрошу у сообщества, какая конструкция в OnCalculate изящнее и оптимальнее?
Раньше я в OnCalculate использовал конструкцию типа такой:
if (rates_total==prev_calculated) {}        // новый тик, перерисовываем последний бар, все бары на своих местах
else if (rates_total-prev_calculated==1) {} // момент формирования нового бара 
else {}                                     // пересчитываем последние(rates_total-prev_calculated) бар


но после того, как понял, что могут возникать ситуации, когда prev_calculated>rates_total, понял, что ничего не понимаю, махнул рукой и, если пересчет всех баров занимает не больше пару секунд, то стал использовать такую конструкцию:

if (rates_total==prev_calculated) {}        // новый тик, перерисовываем последний бар, все бары на своих местах
else if (rates_total-prev_calculated==1) {} // момент формирования нового бара 
else {}                                     // пересчитываем все бары

как кто делает и как, вообще, грамотно?