Новая версия платформы MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5 - страница 52

 
Ilyas:

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

Наверное, оптимально создавать сразу StrArray[] размером StringLen(StrSource) всегда, а не только для пустых случаев. А под конец StringSplit делать ArrayResize на нужное количество.


Но на самом деле хорошо бы один раз пройтись по StrSource, создав индексы, где находятся новые строки. А потом один раз выделить нужное количество памяти, перекинув туда по индексам куски.

 
Ilyas:

Скажите, почему Reserve в советниках не сработал в этой ситуации?

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

Особенности языка mql4, тонкости и приёмы работы

fxsaber, 2018.12.03 15:06

Перегрузил 16Gb RAM задачами. По итогу Хром завис, MT5 c запущенной Оптимизацией - без проблем. Но интереснее - MT4.

Индикаторы остались пахать, а советники из-за отсутствия проверки результата ArrayResize остановились из-за "out of range".

Не всегда хочется проверять ArrayResize, но вот подтверждение, что отсутствие этой проверки может остановить, например, боевой советник на VPS.


Вот только чего понять не могу, как получилось "out of range", если ArrayResize был ранее сделан с большим Reserve?

А в индикаторах - сработал.

 
2018.12.03 09: 58: 06.898 TicksInfo (EURUSD, M5) EURUSD: 1 галочка: 2018.12.03 00: 52: 27.671 1.13338 / 1.13354 / 0.00000 0 флаги: 230
2018.12.03 09: 58: 06.898 TicksInfo (EURUSD, M5) EURUSD: 2 tick: 2018.12.03 00: 52: 27.743 1.13335 / 1.13348 / 0.00000 0 флаги: 230
2018.12.03 09: 58: 06.898 TicksInfo (EURUSD, M5) EURUSD: 3 tick: 2018.12.03 00: 52: 27.821 1.13327 / 1.13343 / 0.00000 0 флаги: 230
2018.12.03 09: 58: 06.898 TicksInfo (EURUSD, M5) EURUSD: 4 tick: 2018.12.03 00: 52: 27.888 1.13326 / 1.13343 / 0.00000 0 флаги: 226
2018.12.03 09: 58: 06.898 TicksInfo (EURUSD, M5) EURUSD: 5 tick: 2018.12.03 00: 52: 27.965 1.13327 / 1.13345 / 0.00000 0 флаги: 230
2018.12.03 09: 58: 06.898 TicksInfo (EURUSD, M5) EURUSD: 6 tick: 2018.12.03 00: 52: 28.194 1.13328 / 1.13346 / 0.00000 0 флаги: 230
2018.12.03 09: 58: 06.898 TicksInfo (EURUSD, M5) EURUSD: 7 tick: 2018.12.03 00: 52: 28.265 1.13328 / 1.13346 / 0.00000 0 флаги: 96
2018.12.03 09: 58: 06.898 TicksInfo (EURUSD, M5) EURUSD: 8 tick: 2018.12.03 00: 52: 28.327 1.13326 / 1.13344 / 0.00000 0 флаги: 230
2018.12.03 09: 58: 06.898 TicksInfo (EURUSD, M5) EURUSD: 9 tick: 2018.12.03 00: 52: 28.405 1.13326 / 1.13344 / 0.00000 0 флаги: 96
2018.12.03 09: 58: 06.899 TicksInfo (EURUSD, M5) EURUSD: 10 tick: 2018.12.03 00: 52: 28.809 1.13326 / 1.13344 / 0.00000 0 флаги: 96
2018.12.03 09: 58: 06.899 TicksInfo (EURUSD, M5) EURUSD: 11 tick: 2018.12.03 00: 52: 29.289 1.13326 / 1.13344 / 0.00000 0 флаги: 96
Очевидно, что флаг бит на бит 7 (значение 128, недокументированный ), возможно ли знать значение?
 

@Slava @Ilyas

Любые новости об этой проблеме? Все еще присутствует на сборке 1955. Пожалуйста, дайте несколько отзывов, спасибо.

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

Новая версия платформы MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5

Alain Verleyen, 2018.11.30 19:01

@Slava

Существует проблема, пожалуйста, проверьте. Построить Build 1953.

  • С TesterStop (). После 45 минут принудительно остановился.

2018.11.30 12:43:02.416    Statistics    local 24646 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
2018.11.30 12:43:02.655    Tester    241 new records saved to cache file 'tester\cache\Expert_TesterStop.EURUSD.H1.20180915.20181125.21.98F63FC4AC8C11DD3EC5EB7814DDE79D.opt'

  • С помощью ExpertRemove (). Все было сделано правильно менее чем за 10 минут.

2018.11.30 12:54:51.281    Statistics    optimization done in 7 minutes 31 seconds
2018.11.30 12:54:51.281    Statistics    local 3542 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
2018.11.30 12:54:51.587    Tester    3422 new records saved to cache file 'tester\cache\Expert_TesterStop.EURUSD.H1.20180915.20181125.21.55BB0D18F2B7095B1EC7CEC4532B80D0.opt'

Полный доступ к журналам, коду и настройкам.

Все файлы прилагаются в оригинальной записи.
 
Только у меня справка в метаедиторе стала показывать все что угодно кроме описания функции на которой нажата F1 ???
 
Vladimir Pastushak :
Только у меня справка в метаедиторе стала показывать все что угодно кроме описания функции на которой нажата F1 ???
Я подтверждаю. Очень надоедливый.
 
Alain Verleyen:
Я подтверждаю. Очень надоедливый.

Просто все читают только себя.
https://www.mql5.com/ru/forum/285631/page50#comment_9657796

Новая версия платформы MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5
Новая версия платформы MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5
  • 2018.12.02
  • www.mql5.com
26 октября 2018 года будет выпущена обновленная версия платформы MetaTrader 5...
 
User_mt5 :

Просто все читают только себя.
https://www.mql5.com/ru/forum/285631/page50#comment_9657796

Извините, я пропустил это.
 
Снова нарвался на тормоза
#property strict

#define BENCH(A)                                                              \
{                                                                             \
  const ulong StartTime = GetMicrosecondCount();                              \
  A;                                                                          \
  Print("Time[" + #A + "] = " + (string)(GetMicrosecondCount() - StartTime)); \
}  

void Comment( void )
{
  for (int i = 0; i < 1000; i++)
    Comment("");
}

void OnStart()
{    
  BENCH(Comment()); // Time[Comment()] = 3030998
}
 
Vladimir Pastushak:
Только у меня справка в метаедиторе стала показывать все что угодно кроме описания функции на которой нажата F1 ???

Это из-за необновленного индексного *.chw файла после автоматического обновления chm хелпов. Раньше Windows Help автоматически перестраивал индексный файл, а сейчас что-то перестал.

Стерите все C:\Users\%username%\AppData\Roaming\MetaQuotes\Terminal\Help\*.chw файлы, пожалуйста. Индексы построятся заново.

В следующем билде мы принудительно будем стирать *.chw индексы при обновлении хелпов.

Причина обращения: