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

 
Вот чего я не понимаю..
Почему надо писать код так безобразно? Ничего же нельзя понять.
Я должен задавать наводящие вопросы, чтоб понять в чём твоя проблема?

Вложенные эти циклы или не вложенные?
Если вложенные, то где скобки? Если нет, то накой ты это сюда вывалил?
Нигде в индексах циклом по d и не пахнет.
Зачем в цикле присваивать одной и той же переменной разные значения, никак их не обрабатывая?

Пожалуй, пойду себе..)
 
а может быть, ДЛЛку сляпать

Чего уж мелочиться? С Вашими способностями можно сразу приступать за написание кода всего терминала.
 
циклы конечно вложенные!
со скобками там всё в порядке.
блин.

это всего лишь тест скорости. неужели не понятно?
и стиль такой корявый поэтому же.
ну, давайте отформатирую..
   
////////////////////////////
int init(){  double x,y,z;
////////////////////////////
int t2=LocalTime();
for(int d=5000 ;d>0;d--) {
   for(int 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];   
   }
} 
Print("Done in ",LocalTime()-t2," Seconds.");
}//////////////////////////


ещё раз поясню суть моей проблемы.
обращение к массиву работает раз в десять медленнее чем к локальным переменным. как это обойти?

 
а может быть, ДЛЛку сляпать

Чего уж мелочиться? С Вашими способностями можно сразу приступать за написание кода всего терминала.

фсмысле? я велосипед изобретаю?
 
Если циклы вложенные, то 5000 х 5000 = 25млн циклов
но инициализация занимает 10-30 секунд

Грубо 1млн циклов в секунду!
А если учесть, вычисление индексов, обращение к массивам и иполнение оператора присваивания, то получается грубо около 10млн операций в секунду.

По моим понятиям это совсем не мало.
Наверное, во всём Форексе столько информации нет, сколько может обработать МТ за 1 сек. :)
 
циклы конечно вложенные!
со скобками там всё в порядке.
блин.

это всего лишь тест скорости. неужели не понятно?
и стиль такой корявый поэтому же.
...
ещё раз поясню суть моей проблемы.
обращение к массиву работает раз в десять медленнее чем к локальным переменным. как это обойти?


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

"Дзинь" - сказала японская бензопила.
"А-га" - сказали сибирские мужики.

Ну мы будем таки деньги зарабатывать или выигрывать? (вопрос риторический).
 
!:)
Я слышал, они сказали "То-то же!"
Говорят, ещё там ползал один японец, всё мужиков за рукав дёргал, говорил "ненада, ненада"
Мужики отвечали "блин".

В самом деле, пойду работать..:)
 
спасибо, рассмешили. :))))))))

я не говорю, что MQL4 медленно работает. совсем даже напротив.


но! ээ...
вопрос только в том, будет ли работать заметно быстрее, если обработку массивов вынести в DLL?

у кого проинсталирован компилятор какой-нибудь? проверьте пожалуйста! не уж то настолько влом?
 
спасибо, рассмешили. :))))))))

я не говорю, что MQL4 медленно работает. совсем даже напротив.


но! ээ...
вопрос только в том, будет ли работать заметно быстрее, если обработку массивов вынести в DLL?

у кого проинсталирован компилятор какой-нибудь? проверьте пожалуйста! не уж то настолько влом?


работает значительно быстрее. раз эдак в 10 если грамотно написать
 
Begun, спасибо огромное!

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

осталось найти какой-нибудь маленький компилятор.............