Новая версия платформы MetaTrader 5 build 3180: Векторы и матрицы в MQL5 и повышение удобства работы - страница 5

 
Roman #:

Сложение, вычитание, деление
Что то наподобие

sum(A, B);

sub(C, D);

div(E, F);

Деление одного вектора на другой не имеет смысла

Сложение и вычитание векторов уже есть

 
Roman #:

Сложение, вычитание, деление
Что то наподобие

sum(A, B);

sub(C, D);

div(E, F);

   vector Vec1{1,2,3}; 
   vector Vec2{1,2,3}; 
   Print(Vec1+Vec2);
 
Slava #:

Деление одного вектора на другой не имеет смысла

Сложение и вычитание векторов уже есть

Как поэлементно умножить вектора? в Матлаб это .*

 

лучше бы с историей порядок навели, чессно слово...

что с ордерами, что с котировками. Про ордера бьётся fxsaber, не сказать что необоснованно.

с историей котировок полная засада - если разным индикаторам и советникам нужна значительная глубина истории (в барах или по конкретную дату и по разным символам),

то ситуация разрешима только инструктажем конечных пользователей "что надо потыкать в терминале, сколько подождать и как понять, чтобы работало". Подкачка истории по мануалам только в идеальной ситуации срабатывает, в тестере вообще невозможно.

добавьте например вызов ChartSetInteger(chart,REQUIRED_DEPTH,xxx) - указать терминалу что нужно столько баров для корректной работы.

 
Rorschach #:

А с матрицами такое не прокатывает.
Меня больше матричная арифметика интересует.

matrix A{{1,2,3},
         {4,5,6}};
            
matrix B{{1,2,3},
         {4,5,6}};
            
Print(A+B);
unsupported matrix operation    Test.mq5 



 
Rorschach #:

Как поэлементно умножить вектора? в Матлаб это .*

Знак умножения * взят для произведения матриц M x K * K x N = M x N

и для произведения векторов 1 x K * K x 1 = скаляр (произведение горизонтального и вертикального векторов). Для внешнего произведения и произведения Кронекера знаков операций не нашлось

В наших реализациях мы руководствовались книгой Голуба и Ван Лоана "Матричные вычисления", а также библиотекой EIGEN

Мы руководствовались и NumPy тоже. Но мы так и не нашли практического применения поэлементного произведения и поэлементного деления векторов (как и матриц тоже)

 
Roman #:

А с матрицами такое не прокатывает.
Меня больше матричная арифметика интересует.



Не успели реализовать. Будет
 

Slava #:

мы так и не нашли практического применения поэлементного произведения и поэлементного деления векторов

Это в паре со слайсами избавит от вложенных циклов по массивам при расчетах индикаторов

 
Rorschach #:

Это в паре со слайсами избавит от вложенных циклов по массивам при расчетах индикаторов

Знак умножения уже занят.

Какие Ваши предложения?

[Удален]  
Slava #:

Знак умножения уже занят.

Какие Ваши предложения?

Оставить векторам векторово, а для поэлементных операций ввести новый тип - тензор (например).