Особенности языка mql5, тонкости и приёмы работы - страница 80

 
Vitaly Muzichenko:

Сделал, показало не бред. Смущает то, что сдвиг скорее всего должен быть -720

P.S. Ну и опять-же, это Я знаю что сдвиг +2 часа - написано на сайте, но робот этого не знает.

Не нужно верить сайтам. Сдвиг по факту 3 часа.

требуемый результат: "Узнать текущее время сервера TimeServer()" Я его так и не получил правильное, может что делаю не так.

// https://www.mql5.com/ru/docs/dateandtime/timetradeserver
datetime TimeTradeServer()
{
  return(TimeGMT() - TimeServerGMTOffset());
}
 
fxsaber:

Не нужно верить сайтам. Сдвиг по факту 3 часа.

Проверил на 4 терминалах, показывает верно.


Спасибо за уделённое время!

 

Forum on trading, automated trading systems and testing trading strategies

Discussion of article "Cross-Platform Expert Advisor: Signals"

fxsaber, 2018.04.03 06:26

MQLInfoInteger(MQL_TESTER) || MQLInfoInteger(MQL_OPTIMIZATION) == MQLInfoInteger(MQL_TESTER)
 

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

Библиотеки: Symbol

fxsaber, 2018.04.06 08:20

Если нужно поменять некоторые свойства кастомного символа, то в некоторых случаях это нужно делать ДО импорта котировок.

Поэтому для надежности результата настоятельно рекомендую сначала устанавливать все свойства символа, а только потом производить импорт.

Например, если Вы хотите задать SYMBOL_TRADE_TICK_VALUE и SYMBOL_TRADE_TICK_SIZE, то это обязательно нужно сделать до импорта тиков/баров.

 
// Копирование всех баров без обращения к торговому серверу
CopyRates(Symb, PERIOD_M1, 0, (int)SeriesInfoInteger(Symb, PERIOD_M1, SERIES_BARS_COUNT), Rates);
 
fxsaber:

Большие массивы это конечно хорошо, но нужно помнить про то, что размер имеет значение.

 
Nikolai Semko:

Большие массивы это конечно хорошо, но нужно помнить об этом.

Здесь это никаким боком.

 
fxsaber:

Здесь это никаким боком.

Ну как знать...
Ведь один элемент MqlRates весит 60 байт.

Конечно если вы используете только один массив из 10000 элементов, тогда нормально.

А если наплодили кучу подобных массивов из синтетических символов, да еще по 100000 размером каждый, тогда ждите резкое (более чем на порядок) падение скорости доступа к элементу массива.

Следить за оптимизацией размеров массивов не помешает и это хороший стиль. Только и всего. Я только сказал, что об этом нужно помнить.

 
Nikolai Semko:

Ну как знать...
Ведь один элемент MqlRates весит 60 байт.

Конечно если вы используете только один массив из 10000 элементов, тогда нормально.

А если наплодили кучу подобных массивов из синтетических символов, да еще по 100000 размером каждый, тогда ждите резкое (более чем на порядок) падение скорости работы.

Следить за оптимизацией размеров массивов не помешает и это хороший стиль. Только и всего. Я только сказал, что об этом нужно помнить.

Там пример ну никак не касается размеров массивов. Речь шла о том, чтобы не вызывать запрос истории с торгового сервера и, соответствено, максимально быстро получить бары, что уже имеются в Терминале.

 
fxsaber:

Там пример ну никак не касается размеров массивов. Речь шла о том, чтобы не вызывать запрос истории с торгового сервера и, соответствено, максимально быстро получить бары, что уже имеются в Терминале.

ну да, я не знаю о чем там была речь. 

Я просто увидел вашу строчку кода, которая наверняка создаст массив превышающий размер кеша процессора.

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