Новая версия платформы MetaTrader 5 build 5200: расширение OpenBLAS и усиление контроля в MQL5 - страница 2

 

В билде 5200 теперь для простых структур требуется конструктор копирования. А иначе - возникает предупреждение. 

По-моему, это неразумно. Захламляется код, особенно для мелких структур из пары-тройки полей.  

Да и с новыми правилами сокрытия методов - по-моему, неразумное решение.  

Вот, моя нынешняя первая же ошибка.

У меня в базовом интерфейсном классе торгового процессора объявлены две функции:

   virtual int ModifyTPSL(long lTPCTicket,double dTP=0,double dSL=0) = 0;       
   virtual int ModifyTPSL(CTradePosComponentI* ptpcComponent,double dTP=0,double dSL=0) = 0;       

Первая - модицифицирует TPSL, исходя прямо из тикета сделки.   

Вторая - делает тоже самое, но использует универсальный виртуальный интерфейс "компоненты позиции", фактически, просто у этого интерфейса запрашивает тикет, и вызывает первую функцию. 

Раньше MT прекрасно разбирался, где и какая функция требуется. Сейчас он пишет ошибку, и требует явно указывать функцию. 

Конечно, я сейчас просто заменю названия этих функций, добавив суффиксы "byTicket" и "byPosComponent", но, как мне кажется, это тоже неразумное решение. 

 
Aleksey Nikolayev #:
А про сортировку матриц и векторов ничего) Всё же надеюсь что сделали.

Неа, опять не сделали (

void OnStart()
{  vector v = {0, 1};
   matrix m = {{0, 1}, {2, 3}};
   v.Sort();
   m.Sort(0);
}

//'Sort' is not a member of 'vector' type       test_sort_matrix.mq5    4       6
//'Sort' is not a member of 'matrix' type       test_sort_matrix.mq5    5       6
 

Обещали исправить, и не получилось?


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

Новая версия платформы MetaTrader 5 build 5100: Переход на Git и хаб разработчиков MQL5 Algo Forge, темная тема и улучшения интерфейса

Aleksey Vyazmikin, 2025.06.11 22:33

2025.06.10 06:01:43.360 Terminal        MetaTrader 5 x64 build 5100 started for MetaQuotes Ltd.
2025.06.10 06:01:43.360 Terminal        Windows 7 Service Pack 1 build 7601, 8 x AMD FX-8350 Eight-Core, AVX, 22 / 31 Gb memory, 158 / 499 Gb disk, admin, GMT+3

Вызываю стакан


Нажимаю F11

Нажимаю F11

Стакан пропал. Нехорошо.


 
#define aux_break_state_t unsigned;
struct Aux_break_state_e {
        enum {
                sm2_break = 1,
                s0_break = 2,
                s2_break = 4
        };
};
aux_break_state_t q = Aux_break_state_e::sm2_break & Aux_break_state_e::s0_break;   // 'q' - unexpected token, probably type is missing?

Препроцессор барахлит. Тут логичен typedef, но его язык не позволяет. Увы, и с дефайном проблемы. Если что, у меня очень старый билд (3492, не позволяю терминалу ходить в сеть и обновляться), может уже компилится без ошибки

 
GoodLookingEgor #:

Препроцессор барахлит. Тут логичен typedef, но его язык не позволяет. Увы, и с дефайном проблемы. Если что, у меня очень старый билд (3492, не позволяю терминалу ходить в сеть и обновляться), может уже компилится без ошибки

#define aux_break_state_t unsigned; // ???
 
Stanislav Korotky #:
Угу. Спс, глаз замылился
 
Верните пожалуйста прежний вид  Объемного графика (3D) при оптимизации, чтобы его можно было вращать не только по горизонтали с определенным наклоном, но и по вертикали. В нынешнем виде он не информативен.
 
в моём компюторе 32 логических ядра. после обновления в тестере стратегий их осталось только 16. можно ли их увеличить до 32?
 
leachimk #:
в моём компюторе 32 логических ядра. после обновления в тестере стратегий их осталось только 16. можно ли их увеличить до 32?

Что за сборка, процессор? Вроде как хотели оставить только полноценные ядра, убрав "энергоэффективные".

 
Aleksey Vyazmikin #:

Что за сборка, процессор? Вроде как хотели оставить только полноценные ядра, убрав "энергоэффективные".

Intel(R) Core(TM) i9-14900K (3.20 GHz)

подробнее на скриншоте

Файлы: