Различная скорость выполнения скрипта и советника... - страница 4

 
komposter:
Оставил комп на час, эксперт так и не загрузился...
Всё это время загрузка ЦП - 100%, новых сообщений в логах не появляется. ..
Последнее, что видно из "продуктов жизнедеятельности" этого эксперта -
2006.04.03 15:34:23 =MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error CSV_String_00399: nSize(65635) != 65950
Это было больше часа назад. С тех пор - ничего.

Теперь надо вспоминать, как исхитриться, чтоб загрузить терминал без него =)
Открыть соответствующий chr-файл и вытереть из него строчку "Expert=бла-бла-бла"
 
На компьютере P4 3.4 GHz RAM 2Gb этот скрипт-эксперт выполняется за 17500 миллисекунд
 
Прошу прощения. Ошибку зависания при чтении очень больших строк мы исправили, но это исправление будет доступно только в сегодняшнем пребилде.
 
stringo:
На компьютере P4 3.4 GHz RAM 2Gb этот скрипт-эксперт выполняется за 17500 миллисекунд
Слава, у меня, конечно, послабее комп, но 17 секунд и полтора часа - слишком большая разница. Вы не находите?

Или вы тестируете на новом билде?

Открыть соответствующий chr-файл и вытереть из него строчку "Expert=бла-бла-бла"
У меня получилось просто закрыть график с экспертом и снять задачу терминала. При следующей загрузке графика не было ;)
 
komposter:
Или вы тестируете на новом билде?
На новом тестирую.
На официальном 191 билде у меня тоже было бы зависание
 
А какой смысл этого скрипта? Убить терминалы ползователей? :)
Я думаю теперь стоит ли его вообще запускать?
А примерчик у себя я сейчас сделаю, который бы загружал функцию старт в цикле но не бесконечном. Например пометил бы номерами все бары в истории при первом старте советника или сложил бы клоуз текущего бара и предыдущего если его хай больше предыдущего. Так для тесту и посмотрю как этот код у меня исполняется ввиде эксперта и советника по скорости.
 
elritmo:
Я думаю теперь стоит ли его вообще запускать?
А почему нет?
Пару раз запустите, пожалуйста. Но не сейчас, а когда будет выложен prebuild 192. Примерно через полчаса.
 
Хорошо. Хочу поучавствоать в улучшении мт :)
А вообще какой смысл этого скрипта? Он тоже тестирует скорость исполнения в различных потоках?
 
Я же сказал, что уполовинил один из наших тестовых скриптов.
У нас есть целый набор скриптов, которые мы постоянно гоняем и которые помогают нам вылавливать баги, утечки памяти, утечки ресурсов, снижение скорости выполнения.
Кстати, ошибка чтения большой строки из файла была выявлена при помощи именно этого скрипта. У нас он тоже завис, после первого же запуска.
 
Прогнал ваш скрипт на новом секретном билде и вот лог
P4 1.8 RAM 512M, XP SP2


21:27:23 MQL4_TC_s_QUICK_CHECK EURUSD,H1: loaded successfully
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FABS_0014: Open: dDestArray[320][1](1. 3057) != 1.3054
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FABS_0015:Low: dDestArray[320][2](1. 3054) != 1.3053
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FABS_0016:High: dDestArray[320][3](1. 3125) != 1.3121
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FABS_0017:Close: dDestArray[320][4](1. 3104) != 1.3102
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FABS_0018:Volume: dDestArray[320][5](12448) != 12175
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Время начала бара с максимальным Open для EURUSD на D1 2004.12.31 00:00, dDestOpenSeriesArray[326] == 1.3632
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FAMa_0087: dDestOpenSeriesArray[nMaximumOpenIndex](1. 4436) != 1.3632; Дата: 2004.12.31
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Время начала бара с максимальным High для EURUSD на D1 2004.12.30 00:00, dDestHighSeriesArray[327] == 1.3668
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FAMa_0090: dDestHighSeriesArray[nMaximumHighIndex](1. 4436) != 1.3668; Дата: 2004.12.30
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Время начала бара с минимальным Open для EURUSD на D1 2005.11.17 00:00, dDestOpenSeriesArray[97] == 1.1671
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FAMi_0093: dDestOpenSeriesArray[nMinimumOpenIndex](0. 8266) != 1.1671; Дата: 2005.11.17
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Время начала бара с минимальным Low для EURUSD на D1 2005.11.15 00:00, dDestLowSeriesArray[99] == 1.1639
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FAMi_0096: dDestLowSeriesArray[nMinimumLowIndex](0.8225) != 1.1639; Дата: 2005.11.15
21:27:25 stdlib EURUSD,H1: loaded successfully
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FARa_0097: ArrayRange(dDestOpenSeriesArray): error == no error(0)
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FARa_0098: nDimensionValue(1) == 512
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Предупреждение FARa_0056: Должно появиться следующее сообщение: range number 4 for ArrayRange function is incorrect
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: range number 4 for ArrayRange function is incorrect
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FARa_0111: ArrayRange(dDestArray-RatesArray): error == no error(0)
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FARa_0112: nDimensionValue(6) == 512
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Предупреждение FARe_0061: Должно появиться следующее сообщение: cannot array resize
21:27:25 MQL4_TC_s_QUICK_CHECK EURUSD,H1: cannot array resize
21:27:26 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Предупреждение FARe_0066: Должно появиться следующее сообщение: cannot array resize
21:27:26 MQL4_TC_s_QUICK_CHECK EURUSD,H1: cannot array resize
21:27:26 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FASi_0149: ArraySize(dDestOpenSeriesArray-SeriesArray): error == no error(0)
21:27:26 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FASi_0150: nSizeValue() == 512
21:27:26 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FASi_0155: ArraySize(dDestArray-RatesArray): error == no error(0)
21:27:26 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FASi_0156: nSizeValue(24648) == 3072
21:27:30 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error BTChM30_0013: iBars(): error == no error(0)
21:27:30 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error BTChM30_0014: nM30BarsAmount == 1
21:27:31 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FITA_0182: IsTradeAllowed(): error == no error(0)
21:27:31 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FITA_0183: bIndexIsTradeAllowed(0) == 0
21:27:31 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FMI_0209: MarketInfo(): error == no error(0)
21:27:31 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FMI_0210: dSWAPLONGMarketInfo(-0. 78) == -0.84
21:27:31 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FMI_0211: MarketInfo(): error == no error(0)
21:27:31 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FMI_0212: dSWAPSHORTMarketInfo(0. 52) == 0.6
21:27:31 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FPe_0215: Period(): error == no error(0)
21:27:31 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FPe_0216: nPeriodNumber(1440) == 60
21:27:31 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FRR_0217: RefreshRates(): error == no error(0)
21:27:31 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FRR_0218: bIndexRefreshRates(0) == 1
21:27:31 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FSA_0220: ServerAddress(): error == no error(0)
21:27:31 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FSA_0221: sServerAddressString(MetaQuotes-Demo) != Alpari-Demo
21:27:37 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Warning FRR_0244a: вызов DLL-функций не разрешены
21:27:37 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Warning FGTC_0258: Время выполнения скрипта == 00:00:05 секунд и 266 миллисекунд
21:27:37 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Warning FCTS_0006: Должно появиться следующее сообщение: invalid integer number as parameter 1 for CharToStr function
21:27:37 MQL4_TC_s_QUICK_CHECK EURUSD,H1: invalid integer number as parameter 1 for CharToStr function
21:27:37 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FLT_0015: TimeDifference(7140) != 7200
21:27:37 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Error FCT&LT_0084: nCurTimeValue + 7200(2006.04.03 21:28:00) != nLocalTimeValue(2006.04.03 21:27:00)
21:27:37 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Warning BIN_DoubleArray_00266: Must appear following message: handle 1 does not exist in FileSeek
21:27:37 MQL4_TC_s_QUICK_CHECK: handle 1 does not exist in FileSeek
21:27:37 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Warning BIN_DoubleArray_00268: Must appear following message: handle 1 does not exist in FileWriteArray
21:27:37 MQL4_TC_s_QUICK_CHECK: handle 1 does not exist in FileWriteArray
21:27:37 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Время работы 13234 миллисекунд
21:27:37 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Warning CFIS_0003: Скрипт =MQL4_TC_s_QUICK_CHECK самостоятельно завершил свою работу
21:27:37 MQL4_TC_s_QUICK_CHECK EURUSD,H1: Warning CFUIR_0006: Скрипт =MQL4_TC_s_QUICK_CHECK самостоятельно завершил свою работу
21:27:37 MQL4_TC_s_QUICK_CHECK EURUSD,H1: deinitialized
21:27:37 stdlib EURUSD,H1: removed
21:27:37 MQL4_TC_s_QUICK_CHECK EURUSD,H1: removed
Причина обращения: