Сегодня опять по XAUUSD советник наторговал по странной цене:
Сервер AlpariNZ-MT5, демо-счет.
Это что, простой нерыночный выброс цены? Кто-нить сталкивался?
Это же демо, был бы реал можно было бы спросить у брокера и на основании его ответа уже задавать вопросы в сервисдеск. А к игрушкам претензий быть не может.
zfs: Это же демо, был бы реал можно было бы спросить у брокера и на основании его ответа уже задавать вопросы в сервисдеск. А к игрушкам претензий быть не может.
Я бы и на реале от такого 'заскока' не отказался... ;-)
Но подобная ситуация встречается уже не в первый раз, и она путает статистику советника.
У меня претензий нету, просто интересно - из-за чего это происходит.
Совершенствования чистоты программирования ради хочу поинтересоваться у общественности вот чем.
Предположим, имеется некий флаг (bool Flag), объявленный на глобальном уровне. При наступлении некоторых событий/условий, необходимо установить определённое его значение.
Первый вариант:
Второй вариант:
Какой из вариантов:
1. Быстрее с точки зрения производительности?
2. Если так можно сказать, "более профессионален"?
Предполагается, что в эту секцию кода управление будет попадать достаточно часто, например, каждый тик.
Renat: Конечно первый вариант быстрее. Меньше инструкций, да еще и на одно сравнение/ветвление меньше.
voix_kas: Спасибо.
Всё-таки решил проверить наверняка. Как ни странно, результаты показывают, что операция сравнения выполняется быстрее операции присваивания.
voidOnStart(void) {
int Count = 1000000000;
bool Value1 = true;
uint start = GetTickCount();
for (int i = 0; i < Count; i++) {
Value1 = false;
}
Print("Without 'if' = " + IntegerToString(GetTickCount() - start));
start = GetTickCount();
for (int i = 0; i < Count; i++) {
if (Value1) Value1 = false;
}
Print("With 'if' = " + IntegerToString(GetTickCount() - start));
}
Результат:
2013.04.30 18:35:41 Test (EURUSD,M5) With 'if' = 1856
2013.04.30 18:35:39 Test (EURUSD,M5) Without 'if' = 2418
2013.04.30 18:31:03 Test (EURUSD,M5) With 'if' = 1857
2013.04.30 18:31:02 Test (EURUSD,M5) Without 'if' = 2418
2013.04.30 18:30:54 Test (EURUSD,M5) With 'if' = 1888
2013.04.30 18:30:52 Test (EURUSD,M5) Without 'if' = 2418
Знатоки, не могли бы вы прокомментировать ситуацию?
voix_kas: Не могли бы Вы объяснить мне разницу? Искренний вопрос, без троллинга.
Постарайтесь сами, это самый лучший способ обучения.
Хотя, если дополнить первый вопрос условием, что флаг изначально true и целевое использование кода "сработать всего 1 раз и миллион раз пропустить присвоение", то совет будет другой. Но исходный вопрос не содержал таких уточнений.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Приветствую!
Сегодня опять по XAUUSD советник наторговал по странной цене:
Сервер AlpariNZ-MT5, демо-счет.
Это что, простой нерыночный выброс цены? Кто-нить сталкивался?
Здравствуйте, пропала вкладка сигналы в МТ4, утром была, вечером пришел и ее нет. И теперь пописка не исполняется, что делать подскажите
Это же демо, был бы реал можно было бы спросить у брокера и на основании его ответа уже задавать вопросы в сервисдеск. А к игрушкам претензий быть не может.
Я бы и на реале от такого 'заскока' не отказался... ;-)
Но подобная ситуация встречается уже не в первый раз, и она путает статистику советника.
У меня претензий нету, просто интересно - из-за чего это происходит.
Я бы и на реале от такого 'заскока' не отказался... ;-)
Но подобная ситуация встречается уже не в первый раз, и она путает статистику советника.
У меня претензий нету, просто интересно - из-за чего это происходит.
Совершенствования чистоты программирования ради хочу поинтересоваться у общественности вот чем.
Предположим, имеется некий флаг (bool Flag), объявленный на глобальном уровне. При наступлении некоторых событий/условий, необходимо установить определённое его значение.
Первый вариант:
Второй вариант:
Какой из вариантов:
1. Быстрее с точки зрения производительности?
2. Если так можно сказать, "более профессионален"?
Предполагается, что в эту секцию кода управление будет попадать достаточно часто, например, каждый тик.
Конечно первый вариант быстрее. Меньше инструкций, да еще и на одно сравнение/ветвление меньше.
Спасибо.
Всё-таки решил проверить наверняка. Как ни странно, результаты показывают, что операция сравнения выполняется быстрее операции присваивания.
Результат:
Знатоки, не могли бы вы прокомментировать ситуацию?
Всё-таки решил проверить наверняка. Как ни странно, результаты показывают, что операция сравнения выполняется быстрее операции присваивания.
Результат:
Знатоки, не могли бы вы прокомментировать ситуацию?
Неужели сами не видите, что во втором случае присвоение выполняется только один раз?
То есть, остается лишь сравнение, что гораздо быстрее прямого присвоения, которое есть в первом тесте. Результаты абсолютно верные.
Неужели сами не видите, что во втором случае присвоение выполняется только один раз?
То есть, остается лишь сравнение, что гораздо быстрее прямого присвоения, которое есть в первом тесте. Результаты абсолютно верные.
Т.е., выходит, что в первый раз я сформулировал свой вопрос иначе?
Безусловно.
И очень плохо, что Вы не понимаете таких простых вещей.
Безусловно.
И очень плохо, что Вы не понимаете таких простых вещей.
Не могли бы Вы объяснить мне разницу? Искренний вопрос, без троллинга.
Постарайтесь сами, это самый лучший способ обучения.
Хотя, если дополнить первый вопрос условием, что флаг изначально true и целевое использование кода "сработать всего 1 раз и миллион раз пропустить присвоение", то совет будет другой. Но исходный вопрос не содержал таких уточнений.