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

 
Nikolai Semko:
Вау.  Ничего не понимаю.

а чего тут понимать? - в тестере GetMicrosecondCount() ,  GetTickCount() , GetTickCount64() привязаны к старту тестера https://www.mql5.com/ru/forum/35402/page5#comment_15165640

и конструкцию из справки MathSrand(GetTickCount());

разработчики должны были сделать как работу Print() - она в тестере в режиме ГА не выводит сообщения ,

так и MathSrand(GetTickCount()); должен инициализироваться временем ..... фиг его знает каким временем, но не временем запуска ГА это точно - сейчас не работает MathSrand() как ожидалось

 
Igor Makanu:

а чего тут понимать? - в тестере GetMicrosecondCount() ,  GetTickCount() , GetTickCount64() привязаны к старту тестера https://www.mql5.com/ru/forum/35402/page5#comment_15165640

и конструкцию из справки MathSrand(GetTickCount());

разработчики должны были сделать как работу Print() - она в тестере в режиме ГА не выводит сообщения ,

так и MathSrand(GetTickCount()); должен инициализироваться временем ..... фиг его знает каким временем, но не временем запуска ГА это точно - сейчас не работает MathSrand() как ожидалось

значит не время использовать для сранд, а какой-нибудь хендл, который меняется каждый раз.
 
Nikolai Semko:
значит не время использовать для сранд, а какой-нибудь хендл, который меняется каждый раз.

как решить эту проблему я знаю - в WinAPI время возьму, но это очередная особенность которую нужно постоянно проверять? ))))

ЗЫ: в алглиб был генератор повышенной точности.... но опять же вопрос в корректности работы примера из справки 

 
Igor Makanu:

как решить эту проблему я знаю - в WinAPI время возьму, но это очередная особенность которую нужно постоянно проверять? ))))

Если проходы не молниеносные и нужно без DLL, то можно так.

MathSrand((uint)GetTimeLocal()); // https://www.mql5.com/ru/forum/170952/page105#comment_9044250

Как такое сказывается на SSD - не знаю. Использую RAMDrive.

 
fxsaber:

Если проходы не молниеносные и нужно без DLL, то можно так.

Как такое сказывается на SSD - не знаю. Использую RAMDrive.

проверил выводом в OnTester()

картинка как и выше 

тут в общем вопрос в уверенности, что если оптить НС через ГА тестера - то не факт, что все локальные ядра процессора не будут работать с одной и той же начальной конфигурацией весов НС - это портит результаты обучения, имхо

 

Простите, что вставляю сюда карман, но очень нужно понять, что делать.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибка с загрузкой индикаторов с старших ТФ (D1 например)

Vladislav Andruschenko, 2020.02.27 18:42

Итак суть:

В начале заметил ошибку и тормоза при обращении к старшим ТФ D1 и W1 из советника, который установлен например на М5 (НЕВАЖНО КАКОЙ ТФ). 

Сейчас я обнаружил такую же ошибку в тестере стратегий на другом эксперте (который никак не пересекается с предыдущем)

Мои действия:

  1. Советник проверяет комплекс сигналов с 3 индикаторов (2 индикатора + 3 ТФ)
  2. Если эти индикаторы и ТФ берут данные с любых ТФ до D1 (все что ниже)! тогда ошибок нет! И тест с Визуализацией и без визуализации проходит одинаково! 
  3. Но если выбрать любой индикатор с  ТФ D1 и выше, то результаты получаются разные (Визуализация и без визуализации). 
 
Igor Makanu:

проверил выводом в OnTester()

картинка как и выше 

тут в общем вопрос в уверенности, что если оптить НС через ГА тестера - то не факт, что все локальные ядра процессора не будут работать с одной и той же начальной конфигурацией весов НС - это портит результаты обучения, имхо

можно какую-то функцию от номера прохода попробовать использовать как базу генерации.

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

 
Igor Zakharov:

можно какую-то функцию от номера прохода попробовать использовать как базу генерации.

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

Можно сгенерить/найти массив символов, относительно рандомный, на несколько килобайт (текст Пушкина:) ). Все сводится что надо свою хитровыделанную реализацию рандома под требования задач, если предложенная не проверена, помнится такие запары во многих библиотеках.

Коллеги, а подскажите, если открываю чарт ChartOpen(), то как потом не закрывая его вернуть фокус (активность, видимость) на свой чарт, из которого работает советник.

и ещё кто знает почему Бид, Аск не совпадает с ценой графика Close[0]  https://www.mql5.com/ru/forum/160683/page1082#comment_15152111

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2020.02.25
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
Aleksey Mavrin:

 Все сводится что надо свою хитровыделанную реализацию рандома под требования задач

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

 
Igor Zakharov:

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

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