Ошибки, баги, вопросы - страница 2966
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
исправят, наверное. по-моему, проблема с большими long-ами в ситуации, когда почти все биты заняты. удивительно, что кто-то нашел эту ошибку спустя столько времени.
Удивительно что не нашли эту ошибку в часто используемой функции за такой длительный период.
И снова про неинициализированные переменные. Понятно, что их значение может быть непредсказуемо любым. Но я первый раз сталкиваюсь с тем, что они могут менять значение сами по себе прямо во время выполнения функции (поиском такого не нашел,). Вот код скрипта и то, что я получаю:
результат:
терминал:
2021.02.19 19:30:47.003 Terminal Открытие Брокер x64 build 2755 started for АО ''Открытие Брокер''
2021.02.19 19:30:47.113 Terminal Windows 7 Service Pack 1 build 7601, Intel Core i5-2520M @ 2.50GHz, 5 / 7 Gb memory, 41 / 287 Gb disk, IE 11, UAC, GMT+3
Если повторять запуски скрипта, то начальные значения переменных a,b и x могут меняться, но общее поведение постоянно:
1. В первой части скрипта значения переменных a и b в коде не меняются, но после выполнения PrintFormat("%I64d", 1) вдруг PrintFormat("a==%I64d", a) выдает 1, то же для b. И самое интересное (a==1)==true и сразу же (a==2)==true (для b также)!!! В последнем вызове PrintFormat("a==%I64d, b==%I64d", a, b) показывает a==1, но b == тому значению, которое было в начала скрипта.
2. Во второй части скрипта пробую менять значение неиниц-й переменной. После y=x++ должно измениться значение x. Но оно остается таким же (в этом запуске ==1).
Попробуйте, плиз, кто-нибудь запустить скрипт и запостить вывод.
Отсюда вопрос знатокам - это нормальное поведение (типа undefined behavior)? Или это баг?
И снова про неинициализированные переменные. Понятно, что их значение может быть непредсказуемо любым. Но я первый раз сталкиваюсь с тем, что они могут менять значение сами по себе прямо во время выполнения функции (поиском такого не нашел,). Вот код скрипта и то, что я получаю:
результат:
терминал:
2021.02.19 19:30:47.003 Terminal Открытие Брокер x64 build 2755 started for АО ''Открытие Брокер''
2021.02.19 19:30:47.113 Terminal Windows 7 Service Pack 1 build 7601, Intel Core i5-2520M @ 2.50GHz, 5 / 7 Gb memory, 41 / 287 Gb disk, IE 11, UAC, GMT+3
Если повторять запуски скрипта, то начальные значения переменных a,b и x могут меняться, но общее поведение постоянно:
1. В первой части скрипта значения переменных a и b в коде не меняются, но после выполнения PrintFormat("%I64d", 1) вдруг PrintFormat("a==%I64d", a) выдает 1, то же для b. И самое интересное (a==1)==true и сразу же (a==2)==true (для b также)!!! В последнем вызове PrintFormat("a==%I64d, b==%I64d", a, b) показывает a==1, но b == тому значению, которое было в начала скрипта.
2. Во второй части скрипта пробую менять значение неиниц-й переменной. После y=x++ должно измениться значение x. Но оно остается таким же (в этом запуске ==1).
Попробуйте, плиз, кто-нибудь запустить скрипт и запостить вывод.
Отсюда вопрос знатокам - это нормальное поведение (типа undefined behavior)? Или это баг?
Не инициализировать свои переменные - вот это ненормальное поведение. Инициализируйте, и таких вопросов не будет.
Полностью ЗА.
Но это еще не означает, что бага нигде нет ))). Просто хотел удостовериться, что все впорядке.
Полностью ЗА.
Но это еще не означает, что бага нигде нет ))). Просто хотел удостовериться, что все впорядке.
Вероятнее всего это своего рода защита.
Так как доступ к ячейкам памяти в mql не доступен, предполагаю, что при обращении к переменной, рандомно генерится её мусорное значение.
И если переменная не инициализирована, то при дебаге вероятность не найти свою ошибку увеличивается в разы ))
Да и компилятор скорее всего об этом говорит в предупреждениях, что переменная не инициализирована.
Вероятнее всего это своего рода защита.
Так как доступ к ячейкам памяти в mql не доступен, предполагаю, что при обращении к переменной, рандомно генерится её мусорное значение.
И если переменная не инициализирована, то при дебаге вероятность не найти свою ошибку увеличивается в разы ))
Да и компилятор скорее всего об этом говорит в предупреждениях, что переменная не инициализирована.
Или оптимизация. Раз переменная не определена, можем отдать любое значение, что ближе лежит, в регистре, например.
Или оптимизация. Раз переменная не определена, можем отдать любое значение, что ближе лежит, в регистре, например.
Ну что то типа этого, из своего окружения. Генерация конечно не уместна как я озвучил, просто обобщил предположение.
Решил узнать, сколько будут зарабатывать 2 агента в сервисе MQL5 Cloud Network, чтобы в будущем собрать железо с многоядерным процессором. Добавил агентов с помощью Агент менеджера. Вроде нормально добавились.
Ничего не вызывает подозрений... Осуществил вход в свой аккаунт MQL5.COM. В разделе "Агенты" в кабинете отобразились созданные агенты. В службах, в диспетчере задач также нашёл 2 службы, MetaTester-1 и MetaTester-2. Но вот уже пол дня никаких заданий агенты не выполняют. Всё по нулям. Почему агенты не работают?
Подскажите пожалуйста, как правильно удалять элементы из Clist ? При попытке удалить удаляется только половина, а индексация сбивается. Уже как только не пробовал. не работает вообще!
При выполнении кода выдает такое, например
Total: 14
ticker 0
ticker 1
ticker 2
ticker 3
ticker 4
ticker 5
ticker 6
ticker 7
ticker 8
ticker 9
ticker 11
ticker 12
ticker 13
ticker 14
remove # 0
remove: ticker 0
remove # 1
remove: ticker 2
remove # 2
remove: ticker 4
remove # 3
remove: ticker 6
remove # 4
remove: ticker 8
remove # 5
remove: ticker 11
remove # 6
remove: ticker 13
remove # 7
remove # 8
remove # 9
remove # 10
remove # 11
remove # 12
remove # 13
ticker 1
ticker 3
ticker 5
ticker 7
ticker 9
ticker 12
ticker 14
Total end: 7
Решил узнать, сколько будут зарабатывать 2 агента в сервисе MQL5 Cloud Network, чтобы в будущем собрать железо с многоядерным процессором. Добавил агентов с помощью Агент менеджера. Вроде нормально добавились.
Ничего не вызывает подозрений... Осуществил вход в свой аккаунт MQL.COM. В разделе "Агенты" в кабинете отобразились созданные агенты. В службах, в диспетчере задач также нашёл 2 службы, MetaTester-1 и MetaTester-2. Но вот уже пол дня никаких заданий агенты не выполняют. Всё по нулям. Почему агенты не работают?
Какой PR агентов у Вас получился? Например 20числа для PR180 задачи были (особенно с утра).