Ошибки, баги, вопросы - страница 2809

 
Alexandr Koptelov:
1.Есть команда "DatabaseImport", в документации к параметрам пояснение flags нет этих самых флагов. Пробовал и "0" и параметры от DatabaseExport, компиляция идёт, но при исполнении возвращает ошибку 5131. В документации такой ошибки нет. Кто нибудь знает о чём эта ошибка? Что не так в строке; ?
2. Почему строка работает, а нет? При то что в документации сказано

т.е. имя таблицы также должно распознаваться! Что не так?


з.ы. Господа разработчики каким десятым глазом надо догадываться что таблица куда будет осуществляться импорт не должно существовать???И зачем вообще нужен экспорт импорт если папка относительно которой можно сохранятьmql5/files очищается при запуске? Как можно работать с постоянным файлом? Или всё время нужно через отладку запускаться и до инициализации всего успевать подпихнть нужный файл?? Что за ....

Работайте в тестере или отладке с базой размещённой в общей папке.

 
AlexInRush:

Добрый день, уважаемые эксперты!

Подскажите, пожалуйста, есть ли возможность при отладке поставить срабатывание breakpoint на определенное время (на определенном баре)? Т.е. я хочу что бы история проматалась до определенного места,  а на этом месте сработал breakpoint  и я бы мог пройтись отладчиком именно на том баре на котором мне надо. 

Поставьте условие

if(TimeCurrent() == nnnTime)
  DebugBreak();
и запустите отладку. Как только дойдёт время до указанного времени отладка будет остановлена и после всех манипуляций нажимаете Shift+F11 для продолжения работы тестера.
 

А Print в режиме оптимизации никак не включить? Опция "Полные журналы оптимизации" включена, но в логи попадает только Print из OnInit, а нужно из OnTester, например.

 
Ошибка при компиляции
#define MACRO( X ) aaa##X = X
#define bbb  5
void OnStart()
{
    int MACRO(         bbb );
    printf( "%d",   aaabbb ); //Error: 'aaabbb' - undeclared identifier
}

А в С++ все нормально. У ## приоритет выше - сначала подставляется bbb, а потом уже bbb заменяется на 5, и должно в итоге быть не так:

    int aaa5 = 5; //неправильно (*)

а так:

    int aaabbb = 5; //правильно (**)

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

 
A100:

У ## приоритет выше

По-моему тут даже дело даже не в приоритете, а в принципиально неправильно выбранном порядке макро подстановки:

#define aaa
#define XY( x, y )      x##y
#define XY2( y )        XY( aaa, y )
void OnStart()
{
        int XY2( bbb ) = 5;
        Print( aaabbb ); //Error: 'aaabbb' - undeclared identifier
}
а ожидалось, что все будет нормально - как в С++
 
A100:

По-моему тут даже дело даже не в приоритете, а в принципиально неправильно выбранном порядке макро подстановки:

а ожидалось, что все будет нормально - как в С++
XY2(bbb), в твоем примере, разворачивается в bbb. Все правильно тут.
#define aaa убери)))
 
Vladimir Simakov:
XY2(bbb), в твоем примере, разворачивается в bbb. Все правильно тут.
#define aaa убери)))

Похоже Вы не в теме. Сначала проверьте пример в C++, а потом уже пишите

#define aaa - убирать не нужно, он для того, чтобы показать принципиальную ошибку. В С++ макросы устроены так, чтобы можно было любой требуемый результат спроектировать, а в MQL получается, что не любой можно

 
A100:

Похоже Вы не в теме. Сначала проверьте пример в C++, а потом уже пишите

Упс. Век живи век учись)))
 

Вызов CopyTicksRange(_Symbol, ticks, COPY_TICKS_ALL, 0, ULONG_MAX) возвращает в тестере 0 скопированных тиков и код ошибки 0. Вызов CopyTicks при этом нормально заполняет массив 2000 тиков.

Если нельзя запрашивать все тики или, например, не хватает памяти, то неплохо бы показывать какую-то ошибку.

Сейчас выглядит как трудноуловимая ошибка в MQL API.

 

После обновления Metatrader 5 64 bit демо MQL5  перестал стартовать (хотя процесс в диспетчере задач висит). После скачивания с MQL5 

установщика, при попытке переустановки выдает сообщение: "Извините, что-то пошло не так . Попробуйте позже, пожалуйста."  Прошло 3 дня.

Сиcтема Windows 10 PC.  При это Metatrader 5 Siwssquote работает нормально

Автоматическое обновление - Для продвинутых пользователей - Справка по MetaTrader 5
Автоматическое обновление - Для продвинутых пользователей - Справка по MetaTrader 5
  • www.metatrader5.com
В платформу встроена система автоматического обновления. Она позволяет своевременно получать и устанавливать новые версии программы. Эту систему отключить нельзя. Порядок обновления При подключении к торговому серверу происходит проверка наличия обновлений платформы. Если найдено обновление какого-либо из компонентов торговой платформы...