Ну вообще это спорно, скорее всего, это какая-то MSVC специфичная штука. Но вот так точно должно работать:
но не работает.
У вас там #define M(a) пустой :) Но не суть, в MQL всё-равно это не работает. Так же как и мой вариант. Только не знаю, почему вы решили, что это специфичная штука. В gcc это не компилируется?
У вас там #define M(a) пустой :) Но не суть, в MQL всё-равно это не работает. Так же как и мой вариант. Только не знаю, почему вы решили, что это специфичная штука. В gcc это не компилируется?
Среди clang, gcc и msvc такое можно только в последнем.
Баг в Метаэдиторе. Если название поля или метода класса совпадает с названием какой-либо штатной MQL-функции, то происходит задержка ввода текста при попытке обратиться к внутренностям данного объекта.
В следующем коде отмечено место, где после точки мы хотим ввести название метода ContractSize, но все символы появляются с задержкой. И кроме того, не появляется список автоподстановки. Приходится вводить по памяти.
class CSymbol
{
public:
long ContractSize() { return0; }
};
class A
{
CSymbol _symbol;
public:
CSymbol* Symbol() { return &_symbol; }
};
class B : public A
{
public:
B() { Print(Symbol(). // Здесь происходят задержки при вводе
};
What if you try to do it with my data series? If you can do it normally that would mean I am doing something wrong. This is my tick data file for XAUUSD from 2003 to 2019.
Could you please confirm you can see the whole period in bars?
По одному символу 300 миллионов тиков в виде CSV. Они успешно импортируются в MT5 - 1.6Gb занимают в *.tkc.
Человек сетует, что не видит баров из этих тиков. Наверное, логично при импорте тиков иметь галочку "генерировать бары".
В своих скриптах работал с десятками миллионов тиков (памяти хватает все разом загрузить), но не с сотнями. 60 байт * 300 * 10^6 = 18Gb. А еще раздать каждому Агенту...
И это только один символ из многих... весело у некоторых.
С шифтом вверх/вниз воспринимать, как другое правило - хорошая идея. Но разработчики не услышат - не тот уровень проблемы.
Ну вообще это спорно, скорее всего, это какая-то MSVC специфичная штука. Но вот так точно должно работать:
но не работает.
У вас там #define M(a) пустой :) Но не суть, в MQL всё-равно это не работает. Так же как и мой вариант. Только не знаю, почему вы решили, что это специфичная штука. В gcc это не компилируется?
После последнего обновления, билд 1980 от 1 февраля:
Одиночное тестирование запускается через раз, приходится перезапускать МетаТрейдер.
"2019.02.05 08:56:42.453 Core 1 disconnected"
У вас там #define M(a) пустой :) Но не суть, в MQL всё-равно это не работает. Так же как и мой вариант. Только не знаю, почему вы решили, что это специфичная штука. В gcc это не компилируется?
Баг в Метаэдиторе. Если название поля или метода класса совпадает с названием какой-либо штатной MQL-функции, то происходит задержка ввода текста при попытке обратиться к внутренностям данного объекта.
В следующем коде отмечено место, где после точки мы хотим ввести название метода ContractSize, но все символы появляются с задержкой. И кроме того, не появляется список автоподстановки. Приходится вводить по памяти.
Запускать по реальным тикам за январь 2019 EURUSD M1 MQ-Demo.
Просьба исправить.
В 1980 билде появился баг со статическими переменными. Следующий код приводит к переполнению стека, хотя никакой рекурсии тут нет.
Forum on trading, automated trading systems and testing trading strategies
Why Doesn't MT5 synchronize imported tick data?
landmeister, 2019.02.05 17:30
What if you try to do it with my data series? If you can do it normally that would mean I am doing something wrong. This is my tick data file for XAUUSD from 2003 to 2019.
https://mega.nz/#!x0pyyKgZ!-C5mGNhOFDHjdRJ_DNnU4YZbO4K5lcz2WIb5Hylaj0M
Could you please confirm you can see the whole period in bars?
По одному символу 300 миллионов тиков в виде CSV. Они успешно импортируются в MT5 - 1.6Gb занимают в *.tkc.
Человек сетует, что не видит баров из этих тиков. Наверное, логично при импорте тиков иметь галочку "генерировать бары".
В своих скриптах работал с десятками миллионов тиков (памяти хватает все разом загрузить), но не с сотнями. 60 байт * 300 * 10^6 = 18Gb. А еще раздать каждому Агенту...
И это только один символ из многих... весело у некоторых.
Приятно удивила работа ArrayRemove для статических массивов.
ArrayRemove возвращает int, но это не равно количеству удаленных элементов. Баг?