Вопросы по MQL4 - страница 10

 
Slawa,
ОК. Спасибо.
Теперь мне надо малость помедитировать..
 
Скорей бы обновлённый МЕ и новый билд.
Ничего ж толком написать нельзя..
Форум в этом смысле просто незаменим.
Еще раз спасибо.
 
Myxu,
попробуй использовать ArrayCopy();


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

а с локальными переменными раз в 5 быстрее.
 

пробовал. абсолютно нету смысла. скорость идентичная.
а с локальными переменными раз в 5 быстрее.


А сколько времени в твоём коде это занимает?
 
есть у меня один индюк, в котором это занимает всё время, практически. :)
статистический хронометрический паттерноанализатор :)

на каждом баре примерно 2000 раз обращается к разным Close[],
потом многое разносит в массивы. приходится перед каждым обращением к масиву кучей if() проверять его целесообразность.
даже уже не пытаюсь его переделать на HLC :)

а идею развить хочется, поскольку профиты она приносит.
 
1. Сколько всё же времени занимает задача?
2. Нет ли в индикаторе зацикливания или бесконечного цикла?
 
с индикатором всё отлично. я и IndicatorCounted() использую, но инициализация занимает 10-30 секунд на Athlon 1700.. а есть желание добавить ещё наворотов...

если всего лишь в одно место вставляю ту конструкцию, то скорость возрастает в 2 раза.

а вообще скорость обращения к массивам и к локальным переменным отличается раз в 10.
 
только что подумалось... а может быть, ДЛЛку сляпать..
кто-нибудь может порекомендовать маленький быстрый компилятор?
желательно Си иль Паскаль.
 
При таком большом времени явно что-то не так с кодом.
Я работаю в бесконечном цикле, ок. 2000 строк кода, включая обработку массивов и перерисовку граф. объектов. Один цикл занимает ок 10-12 мс. Между тиками удаётся обернуться 30-500 раз.
МТ оч. быстрый. Ищи проблему в своём коде.
 
эээ... попробуй сам типа такого..
    t2=LocalTime();
for(d=5000 ;d>0;d--) for(k=1;k<5000;k++){       z=Close[k];y=Close[k+1];x=Close[k+2];  z=Open[k];y=Open[k+1];x=Open[k+2];   }
Причина обращения: