Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1858

 
Владимир Казаков #:
А подскажите, есть разница в скорости обработки статического массива и динамического?

Если сравнить обработку двух очень больших массивов, статический и динамический, то может и будет разница, а может быть и нет... При обычном использовании разницы практически нет никакой.

 

Mihail MatkovskijAndrey Sokolov, спасибо друзья, за понятный и быстрый ответ!! 

Там правда была ошибка с OP_SELL, OP_BUY (перепутаны по невнимательности). Все нормализовал по nDigits, добавил проверку по OrderSend на ошибки. Надеюсь все будет работать. Пока проверить не могу рынок закрыт )). Теперь до понедельника

 
Mihail Matkovskij #:

Если сравнить 2 очень больших массива, статический и динамический, то может и будет разница, а может быть и нет... При обычном использовании разницы практически нет никакой.

есть к сожалению..

разница в использовании двух функций :

double foo(someargs..) {
   double tmpdata[];
   ArrayResize(tmpdata,100);
   ...
}
static double tmpdatabar[100];
double bar(someargs..) {
   ...
}

будет существенной.

если заранее известен максимальный объём массива и он не слишком велик 🚲

то лучше его распределить загодя

 
Владимир Казаков #:
А подскажите, есть разница в скорости обработки статического массива и динамического?

Что понимать под обработкой? 

В любом случае наличие разницы и ее размер к конкретному случаю можно узнать из профилирования.

 
Maxim Kuznetsov #:

исторически бывали ситуации когда Ask Bid приходил ненормализованым 

те приходили с большим количеством знаков чем на символе?

 

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

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам

Maxim Kuznetsov, 2022.01.15 11:29

есть к сожалению..

разница в использовании двух функций :

double foo(someargs..) {
   double tmpdata[];
   ArrayResize(tmpdata,100);
   ...
}
static double tmpdatabar[100];
double bar(someargs..) {
   ...
}

будет существенной.

если заранее известен максимальный объём массива и он не слишком велик 🚲

то лучше его распределить загодя

А кто так делает, когда нужна скорость, стесняюсь спросить?

Вот как делается:

Далее используем как любой массив и не важно какой он.

Это же простые вещи! Но нет. Сейчас разжуем на 100 страниц то что и так очевидно... 

 
Andrey Sokolov #:

те приходили с большим количеством знаков чем на символе?

????

каких знаков ?

 
Maxim Kuznetsov #:

????

каких знаков ?

Сейчас еще будет доказывать о том какими приходят Ask и Bid. А в новом билде случится сбой и цена не будет приходить нормализованной. Или разработчики решат поменять концепцию (раз СЛ и ТП подлежат нормализации то можно и цены входа сделать по тому же принципу). И напишут что Ask и Bid теперь обязательно следует нормализировать. Вот тогда он забегает. Начнёт переписывать все свои приложения. И те кому он писал приложения на заказ на фрилансе останутся недовольны (поскольку ордера перестанут нормально открываться) и потребуют доработки.

 
Andrey Sokolov #:

те приходили с большим количеством знаков чем на символе?

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

Если нужно построить граф объект на терминале - там можно не нормализовывать, а при запросе на сервер - нужно 

 
Да включите наконец-то мозги… Если сервер не принимает не нормализованные значения цены или размера лота, то и иметь не нормализованных не может.