Массив для OrderTicket() и (Ask - OrderStopLoss()

 

Здравствуйте. Подскажите пожалуйста как создать массив который будет содержать 10 максимальных значений (Ask - OrderStopLoss())  рыночных ордеров Buy в связке с их OrderTicket(). Только 3 мерный массив?

 

сейчас Вам требуются 3-х мерный массив, завтра 5-ти мерный... а вдруг нужно будет и цену и дату и цвет стрелки хранить?

вот пример хранения разнотипных данных в динамическом списке

https://www.mql5.com/ru/forum/221917/page25#comment_11205772


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

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

Библиотека Generic классов - ошибки, описание, вопросы, особенности использования и предложения
Библиотека Generic классов - ошибки, описание, вопросы, особенности использования и предложения
  • 2019.04.03
  • www.mql5.com
С 6 декабря 2017 года в стандартную поставку MetaTrader 5 стали входить так называемые Generic-классы, реализующие эффективные алгоритмы для хранен...
 
Igor Makanu:

сейчас Вам требуются 3-х мерный массив, завтра 5-ти мерный... а вдруг нужно будет и цену и дату и цвет стрелки хранить?

вот пример хранения разнотипных данных в динамическом списке

https://www.mql5.com/ru/forum/221917/page25#comment_11205772


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

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

Сортировка работает, но нужно переопределять метод Compare() для сортировки и поиска по нужному свойству, если свойств несколько.

 
Profi_profit:

Здравствуйте. Подскажите пожалуйста как создать массив который будет содержать 10 максимальных значений (Ask - OrderStopLoss())  рыночных ордеров Buy в связке с их OrderTicket(). Только 3 мерный массив?

struct DATA
 {
  ENUM_ORDER_TYPE type;
  double Ask_Stop;
  int    ticket;
 };
 
DATA array[10];

Не понимаю зачем три измерения, вроде одного достаточно...

 

double Arr[,3];//инициализируем трех-мерный массив

//---

//например, в цикле перебора ордеров заполняем массив

Arr[i,0] = цена открытия;

Arr[i,1] = тикет;

Arr[i,2] = ...;

// сортируем, удачи!