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

 
Nikolai Semko #:

проверил. Удалил с компьютера тиковые файлы.
Все норм.

При запуске тестера в режиме реальных тиков происходит вся загрузка тиков.

Да, но вот что получается:

1. Удаляю все тики, заново запускаю терминал.

2. Запускаю прогон вашего советника за период с 2022.06.01 по 2022.08.28.

 в логе имею

2022.08.29 20:03:38.687 EURUSD: history ticks synchronized from 2022.06.01 to 2022.08.26
...
2022.08.29 20:03:40.255 EURUSD : real ticks begin from 2022.06.01 00:00:00

CopyTicks возвращает при первом запросе -1, при втором 2, далее 3 и тд. НИкаких 150000.

3. Жду несколько минут. Опять запускаю прогон с той же даты. те же результаты.

4. Запускаю прогон с даты 2022.05.15.

2022.08.29 20:08:22.650 EURUSD: history ticks synchronized from 2022.05.16 to 2022.08.26
...
2022.08.29 20:08:24.329 EURUSD : real ticks begin from 2022.05.16 00:00:00

CopyTicks  опять возвращает 2,3,4 .. тиков.

5.  И сразу  прогон опять  с  2022.06.01. И CopyTicks сразу возвращает 150000!

логи:

2022.08.29 20:08:22.650 EURUSD: history ticks synchronized from 2022.05.16 to 2022.08.26
...
2022.08.29 20:08:24.329 EURUSD : real ticks begin from 2022.05.16 00:00:00
 
mktr8591 #:


Это и есть подтверждение бага, о котором я пытаюсь донести разработчику.
Только вы запускаете на стандартном символе, где присутствует синхронизация с сервером.
Я запускаю на кастомном символе, со своей историей.
А проблема одна и таже.

Функции "Копи тики" могут неожиданно потерять реальную тиковую историю.
И так же неожиданно её найти.
И если история не найдена,  "Копи тики" начинают отдавать 1,2,3 и т.д. с даты старта.
А по факту история есть, я это знаю точно, потому что она у меня в кастоме.

Про эмуляцию я вообще молчу, хотя надо трубить, чтоб её отменили для реальных тиков.
Возможно в этой подмене и зарылся ЖУК.

 
Roman #:

Это и есть подтверждение бага, о котором я пытаюсь донести разработчику.
Только вы запускаете на стандартном символе, где присутствует синхронизация с сервером.
Я запускаю на кастомном символе, со своей историей.
А проблема одна и таже.

Функции "Копи тики" могут неожиданно потерять реальную тиковую историю.
И так же неожиданно её найти.
И если история не найдена,  "Копи тики" начинают отдавать 1,2,3 и т.д. с даты старта.
А по факту история есть, я это знаю точно, потому что она у меня в кастоме.

Про эмуляцию я вообще молчу, хотя надо трубить, чтоб её отменили для реальных тиков.
Возможно в этой подмене и зарылся ЖУК.

печально
 
mktr8591 #:
печально

Печально, что разработчики знают об этой проблеме, но ничего не делают по её устранению.
Пробрасывать тики не спроста сказал fxsaber.
Этот термин я давно слышал тут, но не понимал его смысл.
Так как не пользовался тестером вообще.
А тут появилось много нового, в плане матриц, векторов и так далее, уже поинтереснее и можно потестить.
Ага, без костылей как всегда не обойтись.
Так вот, проброска тиков в тестере, это своего рода "разогрев" истории, как любят тут выражаться.
Почему этот разогрев должен делать пользователь?
Почему тестер начинает отдавать тики без разогрева истории под капотом? 
Да ещё и эмулировать на реальных тиках (со слов Николая)
Вот, что печально.

Правильно сказал Николай.
Я перефразирую его слова по другому.
Как был тестер для развода лохов, так он таким и остался.
По этой причине я и не пользовался тестером, и скорее всего не буду.
Столько лет прошло, а политика всё таже.
 
Roman #:

Как был тестер для развода лохов, так он таким и остался.
По этой причине я и не пользовался тестером, и скорее всего не буду.
Столько лет прошло, а политика всё таже.

"Мне в булочной нахамили, поэтому хлеб больше покупать не буду".

fxsaber же дал прогу для подкачки истории, пользуйтесь.

 
Roman #:

Печально, что разработчики знают об этой проблеме . . . . 

А в чем проблема ?  Нет никакой проблемы. Я на основе реальных тиков сделал виртуального тестировщика.

Надо только знать, что получить реальные тики через CopyTicks() возможно только до начальной даты тестирования.

И не понимаю почему в примерах CopyTicks()/Range стоит в OnTick() ???  Надо его вывести оттуда и вставить в OnInit(), a последующие тики после даты начала тестирования можно получить и добавить в массив через OnTick().

Никаких проблем не возникает.

 
Petros Shatakhtsyan #:

А в чем проблема ?  Нет никакой проблемы. Я на основе реальных тиков сделал виртуального тестировщика.

Надо только знать, что получить реальные тики через CopyTicks() возможно только до начальной даты тестирования.

И не понимаю почему в примерах CopyTicks()/Range стоит в OnTick() ???  Надо его вывести оттуда и вставить в OnInit(), a последующие тики после даты начала тестирования можно получить и добавить в массив через OnTick().

Никаких проблем не возникает.

Проблема была в том, как сделать тики, которые ДО начальной даты, видимыми в тестере.  Например, есть тики кастомного символа с 01.01.2022, запускаем тест с 01.02.2022, в OnInit делаем CopyTicks, а тики за январь не возвращаются, как бы их нет. Нужны несложные дополнительные манипуляции, чтобы они стали видны.

 
mktr8591 #:

Проблема была в том, как сделать тики, которые ДО начальной даты, видимыми в тестере.  Например, есть тики кастомного символа с 01.01.2022, запускаем тест с 01.02.2022, в OnInit делаем CopyTicks, а тики за январь не возвращаются, как бы их нет. Нужны несложные дополнительные манипуляции, чтобы они стали видны.

Спасибо. Получается проблема в тиках кастомного символа. Я не использую их. И думаю что и без них можно делать всё что угодно. 
 

При компиляции все group советника/индикатора снова разворачиваются, лишая тем самым программиста MQL5 возможности наслаждаться эстетически и практически умело им же сгруппированными параметрами.

Прошу исправить. 

код для воспроизведения:

input group "Inp1";
input int Input1 = 0;
input group "Inp1";
input int Input2 = 0;
void OnTick() {}

Так выглядят параметры советника в тестере ДО компиляции (следующей):

А так после компиляции:

Т.е., изначальный смысл групп параметров отсутсвует на этапе разработки программы.

Вторая просьба, добавить возможность добавлять комментарий к input параметрам типа group так же, как это сейчас работает и со всеми остальными типами параметров input.

Кстати, из скриншортов видно, что имена групп вполне могут иметь одинаковые имена - не знаю, баг ли это или так задумано.

 

Существенная недоработка MetaEditor

Последовательность действий:

1) Создать в MetaEditor несколько файлов-вкладок


2) Закрыть MetaEditor

3) Через проводник удалить файл file2.mqh

4) Открыть MetaEditor

Результат:


Т.е. исчезает не только несуществующий file2.mqh, но и все располагающиеся за ним файлы