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

fxsaber
14902
fxsaber  
Vitaly Muzichenko:

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

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

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

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

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

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

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


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

fxsaber
14902
fxsaber  

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)
fxsaber
14902
fxsaber  

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

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

fxsaber, 2018.04.06 08:20

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

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

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

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

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

fxsaber
14902
fxsaber  
Nikolai Semko:

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

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

Nikolai Semko
5134
Nikolai Semko  
fxsaber:

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

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

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

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

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

fxsaber
14902
fxsaber  
Nikolai Semko:

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

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

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

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

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

Nikolai Semko
5134
Nikolai Semko  
fxsaber:

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

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

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