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

 
Комбинатор:
Без ссылки по логике тоже не должен работать (имхо). это возможно особенность mql указателей - то что их разыменовывать не надо

Просьба ко всем, кто понимает данную тему, давайте выясним. Сейчас какая-то каша.

Раньше думал, что оператор - это просто один из методов, который удобно использовать из-за своего синтаксиса. И больше никаких отличий. Теперь выясняется, что это не всегда так.

 
fxsaber:

Раньше думал, что оператор - это просто один из методов

любой оператор да. но

1. оператор = один из самых востребованных

2. единственный оператор который генерится компилятором

 
Комбинатор:

любой оператор да. но

1. оператор = один из самых востребованных

2. единственный оператор который генерится компилятором

Так перегрузил/перезадал оператор.

 

я ошибся, без ссылки должно работать. значит со ссылкой не работает из-за нюансов подстановки.

в плюсах и со ссылкой работает.

если у вас по таким вещам вопросы лучше проверять на эталоне, т.е. на С++. правда синтаксис может немного отличаться

operator_fxsaber, C++ (gcc) - rextester
  • rextester.com
operator_fxsaber in C++ (gcc)
 
Комбинатор:

я ошибся, без ссылки должно работать. значит со ссылкой не работает из-за нюансов подстановки.

в плюсах и со ссылкой работает.

если у вас по таким вещам вопросы лучше проверять на эталоне, т.е. на С++. правда синтаксис может немного отличаться

Спасибо! К сожалению, не владею языками, кроме MQL. Да и MQL слабо понимаю. Учусь ООП на MQL.

 

Сначала я подумал что совсем не знаю арифметику.


Как из этих двух чисел могло получиться 138.95 и как может при сложении двух нулей может получиться -24.34???

Но потом понял:

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

Если изменить глубину отображаемой истории и потом опять выбрать "Сегодня", то все потерянные позиции вернутся на своё место.


Будет-ли указанный баг исправлен? Или это никому не надо?

 

Сегодня ночью решил перевести с английского страницу -

"Сайт использует cookie-файлы. Узнайте больше о нашей политике по использованию cookie-файлов."

Забил ссылку в Яндекс переводчик, прочел перевод. При заходе на сайт MQL5 получил следующее:

Как здесь правильно переводить страницы с других языков, что бы не получить подобное? 
 
Vladimir M.:

Сегодня ночью решил перевести с английского страницу -

"Сайт использует cookie-файлы. Узнайте больше о нашей политике по использованию cookie-файлов."

Забил ссылку в Яндекс переводчик, прочел перевод. При заходе на сайт MQL5 получил следующее:

Как здесь правильно переводить страницы с других языков, что бы не получить подобное? 

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

 

Друзья, взываю к вашему опыту и прошу направить  к верному решению.

Есть советник, который с определённой периодичностью (раз в несколько минут) выгружает данные в файл, запускает внешнюю программу и читает данные из файла . Весь цикл выполняется за ~600 милисекунд.

Как сделать при тестировании стратегии так, чтобы программа дожидалась завершения внешней программы (т.е. в это время должен приостанавливаться ценовой поток, ну или в идеале пропускать тики в течении 600 милисекунд)?

Иначе сейчас за время выполнения внешней программы при тестировании стратегии пролетает несколько дней тиков :-(. В визуальном тестере советник работает. Однако для тестирования стратегии на нескольких годах истории потребуется неимоверно много времени.

 
fxsaber:

Что-то совсем перестал понимать. Вот код

Почему-то ругается на передачу указателя по ссылке. При этом функция f спокойно по ссылке принимает указатель.


Результат

Оператор с int-ом вызвался без проблем, а оператор с указателем - нет.

Да, есть такая проблема.  При передаче указателя по ссылке в перегруженный оператор выдаётся ошибка.  Это появилось в последних билдах, раньше всё было ок.  Я уже пару месяцев как отправил заявку в сервис-деск, но там глухо, как обычно.  Ни ответа, при привета.

Особенно критично это для массива указателей, так как их по другому и не передашь, кроме как по ссылке:

class A
{
 public: 
  A* operator+(const A*const& array[]) { return NULL; }
};

Так что я по-прежнему сижу на 1554 билде.