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

 
sershi87:

Здравствуйте ещё раз. Выскажусь насчёт клиента по линукс. Я считаю что выпустить нативные клиенты под линукс и макОС целесообразнее чем постоянно подстраивать виндоус-версию под wine и потом воевать с бесконечными глюками и косяками. В итоге стабильной работы добиться всё равно не получится. На Линукс и макОС сидит очень много людей, гораздо больше чем кажется. Всем им нужна стабильная работа программы. По поводу отсутствия единого дистрибутива. Основными дистрибутивами по популярности на сегодняшний день являются Ubuntu и OpenSuse, соответственно .deb и .rpm пакеты.

 Я и тысячи других пользователей будут вам благодарны. Спасибо.

Лично я использую Debian, но всё таки приходится держать виртуалку с Виндовс для разработок.
Название формата .deb происходит именно от этого дистрибутива.
Debian это основной дистрибутив, на котором строят уже другие сборки. В нём нет лишнего хлама.
Это очень стабильный дистрибутив, который применяют на серверах с GUI
На линуксе МТ5 работает гораздо быстрее, по крайне мере это видно визуально.
И как когда то выяснил, линукс не ограничивает системное время как это делает Виндовс, за счёт этого Линукс выигрывает в скорости обработки системных сообщений.
Я тоже за версию под линукс, но что то мне подсказывает, что эта версия вряд ли когда то выйдет.

 
Stanislav Korotky:
Как в МТ5 закрыть сразу группу открытых позиций из родного интерфейса (не прибегая к MQL)? Логично было бы, если бы на закладке Trade работало выделение нескольких строк с нажатым shift-ом или ctrl-ом, после чего команда "Close Position" применялась бы ко всему выделенному. Но так не работает.

Насколько мне помнится, раньше вот эта кнопка закрывала все позиции имеющиеся на вкладке.
Зачем сделали переход на пополнение счёта мне не понятно, и она не логична в этом месте.
Лучше бы действительно доработали функционал, выделил мышкой какие позиции хочешь закрыть, нажал эту кнопку и позиции закрылись.


 
Roman:

Лично я использую Debian, но всё таки приходится держать виртуалку с Виндовс для разработок.
Название формата .deb происходит именно от этого дистрибутива.
Debian это основной дистрибутив, на котором строят уже другие сборки. В нём нет лишнего хлама.
Это очень стабильный дистрибутив, который применяют на серверах с GUI
На линуксе МТ5 работает гораздо быстрее, по крайне мере это видно визуально.
И как когда то выяснил, линукс не ограничивает системное время как это делает Виндовс, за счёт этого Линукс выигрывает в скорости обработки системных сообщений.
Я тоже за версию под линукс, но что то мне подсказывает, что эта версия вряд ли когда то выйдет.

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

Проверьте процессы (в Windows это можно посмотреть в Диспетчере задача) - теперь терминал в фоновом режиме (нагрузка на одно ядро процессора) перекомпилирует (если нужно) все кода. Проверьте.

 

printf(), double, научная форма. Количество знаков после запятой могу задать, общую длину числа - могу задать:

double d=12.3456789;
printf("d=%012.4E",d);

Результат: d=001.2346E+01

А можно ли добавить ноликов перед степенью? Чтобы вот так было: d=001.2346E+0001
 
sershi87:
Как я писал выше после обновления терминал стал сильно тормозить и полностью зависать. До обновления таких проблем не было и всё работало отлично. По поводу Дебиана я в курсе и полностью согласен с тем что это очень стабильный дистр. Всё же я считаю что необходимость нативной версии назрела и мы должны её добиваться.

У меня есть предположение, что тормоза и подвисоны происходят из за некорректной синхронизации с сервером истории.
То есть к примеру настройка отображения баров в окне терминала равна 100000, из кода к примеру я запрашиваю 3000 баров
но синхронизация может глюкануть и начнёт синхронизироваться со всей имеющийся  историей на сервере, и выкачивать всю историю с сервера.
Из за этой полной выкачки истории, и виснет терминал, пока не выкачает всю доступную историю сервера.
Если дождаться этой выкачки, то терминал отвисает, и начинает работать.

 
Roman:

У меня есть предположение, что тормоза и подвисоны происходят из за некорректной синхронизации с сервером истории.
То есть к примеру настройка отображения баров в окне терминала равна 100000, из кода к примеру я запрашиваю 3000 баров
но синхронизация может глюкануть и начнёт синхронизироваться со всей имеющийся  историей на сервере, и выкачивать всю историю с сервера.
Из за этой полной выкачки истории, и виснет терминал, пока не выкачает всю доступную историю сервера.
Если дождаться этой выкачки, то терминал отвисает, и начинает работать.

Тормоза начинаются только при открытии стакана. Закрываешь стакан и всё нормально. Но без него работать нельзя.
 

МТ5 (build 2496) что-то ОЧЕНЬ плохо с кастомными чартами, которые рассчитываются по заданным пользователем формуле.
Перманентно грузит CPU - нагрузка на ядро 100%.
Перманентно грузит диск - просто так записывает туда от 3 ГБ и больше данных.
Вешает терминал, если добавить любой индикатор с буфером для отрисовки в основном окне (например, Indicators/Trend/Adaptive Moving Average).


Шаги для воспроизведения:
MetaQuotes-Demo, Hedge счет.
В настройках максимальное количество баров на чарт: 1000

Cоздаем кастомный символ: Ctrl+U ==> Create Custom Symbol:
- Symbol : NZDUSD_AUDUSD
- Formula : NZDUSD-AUDUSD
- Allow negative prices: True

Результат - система начинает отжирать до 3 ГБ на диске.
Если открыть чарт с кастомным символом - то нагрузка на ядро подскочит под 100%.
Если набросить индикатор (например, Indicators/Trend/Adaptive Moving Average) и переключить ТФ - то окно "Data Window" начнет биться в конвульсиях, а терминал через пару секунд перестанет вообще отвечать.


 
UPD. Также в журнал пишется десятки тысяч однообразных записей:
QG      0       18:18:12.209    Synthetic Symbol        NZDUSD_AUDUSD: there is data from 2020.06.19 to 2020.06.19 (4294967295 M1 bars from 1970.01.01 00:00 to 2020.06.19 23:54)
ML      0       18:18:12.209    Synthetic Symbol        NZDUSD_AUDUSD: M1 bars processing finished
LF      0       18:18:12.212    Synthetic Symbol        NZDUSD_AUDUSD: M1 bar 2020.06.19 23:54 updated
GO      0       18:18:12.212    Synthetic Symbol        NZDUSD_AUDUSD: there is data from 2020.06.19 to 2020.06.19 (4294967295 M1 bars from 1970.01.01 00:00 to 2020.06.19 23:54)
CD      0       18:18:12.212    Synthetic Symbol        NZDUSD_AUDUSD: M1 bars processing finished
QN      0       18:18:12.215    Synthetic Symbol        NZDUSD_AUDUSD: M1 bar 2020.06.19 23:54 updated
FG      0       18:18:12.215    Synthetic Symbol        NZDUSD_AUDUSD: there is data from 2020.06.19 to 2020.06.19 (4294967295 M1 bars from 1970.01.01 00:00 to 2020.06.19 23:54)
JL      0       18:18:12.215    Synthetic Symbol        NZDUSD_AUDUSD: M1 bars processing finished
FF      0       18:18:12.218    Synthetic Symbol        NZDUSD_AUDUSD: M1 bar 2020.06.19 23:54 updated
QO      0       18:18:12.218    Synthetic Symbol        NZDUSD_AUDUSD: there is data from 2020.06.19 to 2020.06.19 (4294967295 M1 bars from 1970.01.01 00:00 to 2020.06.19 23:54)
MD      0       18:18:12.218    Synthetic Symbol        NZDUSD_AUDUSD: M1 bars processing finished
LN      0       18:18:12.221    Synthetic Symbol        NZDUSD_AUDUSD: M1 bar 2020.06.19 23:54 updated
GG      0       18:18:12.221    Synthetic Symbol        NZDUSD_AUDUSD: there is data from 2020.06.19 to 2020.06.19 (4294967295 M1 bars from 1970.01.01 00:00 to 2020.06.19 23:54)
CL      0       18:18:12.221    Synthetic Symbol        NZDUSD_AUDUSD: M1 bars processing finished
NF      0       18:18:12.223    Synthetic Symbol        NZDUSD_AUDUSD: M1 bar 2020.06.19 23:54 updated
IO      0       18:18:12.223    Synthetic Symbol        NZDUSD_AUDUSD: there is data from 2020.06.19 to 2020.06.19 (4294967295 M1 bars from 1970.01.01 00:00 to 2020.06.19 23:54)
ED      0       18:18:12.223    Synthetic Symbol        NZDUSD_AUDUSD: M1 bars processing finished
RN      0       18:18:12.227    Synthetic Symbol        NZDUSD_AUDUSD: M1 bar 2020.06.19 23:54 updated

Общий размер лога подбирается к 1 ГБ.


UPD.. Если после всех расчетов закрыть терминал и открыть заново - то все 3-8 ГБ рассчитанных данных успешно удаляются, а расчет начинается заново, при этом используется более скромное количество места - порядка 500 МБ.
Если открыть чарт с кастомным символом после перезапуска терминала - он почему-то оказывается пустым, на М1 всего 3 бара (поведение чем-то напоминает выключенный флаг "Allow negative prices").

 

А куда слать багрепорты, чтобы на них отреагировали разработчики?

Начиная с какого-то релиза сломана компиляция шаблонных классов, вызывающих статические функции. Пример:

Класс Bar компилировался ранее и 64 битным и 32 битным MQL5. Сейчас выдает ошибку. build 2485 05 Jun 2020

class Foo {
public:
    static void Start() {
        Print("Hallo!");
    }
};

template<typename T>
class Bar {
public:
    Bar() {
        T::Start();
    }
};

class Foz {
public:
    Foz() {
    }

    void Start() {
        Print("Hallo!");
    }
};

template<typename T>
class Baz {
public:
    Baz() {
        T t;
        t.Start();                                                                                                                                                                                          
    }
};

void OnStart() {
    Bar<Foo> var;
    Baz<Foz> vaz;
}

template_static_bug.mq5 : information: compiling 'template_static_bug.mq5'
template_static_bug.mq5(12,12) : error 256: 'Start' - undeclared identifier
Result: 1 errors, 0 warning