Структуры. Научите пожалуйста.

 
Доброго времени коллеги!

Не нашел в статьях разбора что такое Структуры. В документации мало информации.

Поделитесь пожалуйста пояснениями, для чего они. Буду рад примерам. 
Хочу вразумить как это работает, для чего это, и как я могу применять в своих работах.
 
Petr Zharuk:
Доброго времени коллеги!

Не нашел в статьях разбора что такое Структуры. В документации мало информации.

Поделитесь пожалуйста пояснениями, для чего они. Буду рад примерам. 
Хочу вразумить как это работает, для чего это, и как я могу применять в своих работах.

Тут мало?

https://www.mql5.com/ru/docs/basis/types/classes

Документация по MQL5: Основы языка / Типы данных / Структуры, классы и интерфейсы
Документация по MQL5: Основы языка / Типы данных / Структуры, классы и интерфейсы
  • www.mql5.com
Структуры, классы и интерфейсы - Типы данных - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Petr Zharuk:
Доброго времени коллеги!

Не нашел в статьях разбора что такое Структуры. В документации мало информации.

Поделитесь пожалуйста пояснениями, для чего они. Буду рад примерам. 
Хочу вразумить как это работает, для чего это, и как я могу применять в своих работах.

Дмитрия Федосеева посмотрите через поиск статьи

Структуры более просто вариант Классов, различие смотрите в статьях

структура обычно используется для OHLC, т.е. похожих на себя по функционалу, но вполне возможен маньяк который это в классе организует, примерно такое различие.

 
Andrey Barinov #:

Тут мало?

https://www.mql5.com/ru/docs/basis/types/classes

да, там сильно мало, для НЕ программиста, все нюансы даже в книгах не описывают. А справка она всегда по должному так сказать - самому минимуму. НЕ бойтесь, Вы далеко, он вас не обдерет по клиентам.

 
lynxntech #:

Дмитрия Федосеева посмотрите через поиск статьи

Структуры более просто вариант Классов, различие смотрите в статьях

структура обычно используется для OHLC, т.е. похожих на себя по функционалу, но вполне возможен маньяк который это в классе организует, примерно такое различие.

Спасибо 🙂
 
lynxntech #:

да, там сильно мало, для НЕ программиста, все нюансы даже в книгах не описывают. А справка она всегда по должному так сказать - самому минимуму. НЕ бойтесь, Вы далеко, он вас не обдерет по клиентам.

😄
 
Petr Zharuk:
Доброго времени коллеги!

Не нашел в статьях разбора что такое Структуры. В документации мало информации.

Поделитесь пожалуйста пояснениями, для чего они. Буду рад примерам. 
Хочу вразумить как это работает, для чего это, и как я могу применять в своих работах.

Ну если совсем просто, то структура, это разновидность массива. 

Например структура

struct struktura
{
 int a;
 int b;
 int c;
 int e;
}

 это примерно как массив[1][4]

НО!!! Если массив может содержать значения только одного типа, то в структуру можно ставить любые типы

struct struktura
{
 int a;
 datetime b;
 double c;
 string e;
}

И массив может быть не более 4х мерного, а структура пожалуйста. Чем ограничено количество я не знаю, не интересовался.

Это минимум что надо знать о структурах. А как читать структуры и синтаксис смотрите в документации.

 
Alexey Viktorov #:

Ну если совсем просто, то структура, это разновидность массива. 

Например структура

 это примерно как массив[1][4]

НО!!! Если массив может содержать значения только одного типа, то в структуру можно ставить любые типы

И массив может быть не более 4х мерного, а структура пожалуйста. Чем ограничено количество я не знаю, не интересовался.

Это минимум что надо знать о структурах. А как читать структуры и синтаксис смотрите в документации.

Если еще короче, то в массиве одинаковых структур удобно хранить и обрабатывать таблицы. Даже специальная ветвь программного обеспечения развилась - реляционные базы данных. Погуглите "реляционные СУБД" - и узнаете ответ на вопрос "как я могу применять в своих работах".
 
Vladimir #:
Если еще короче, то в массиве одинаковых структур удобно хранить и обрабатывать таблицы. Даже специальная ветвь программного обеспечения развилась - реляционные базы данных. Погуглите "реляционные СУБД" - и узнаете ответ на вопрос "как я могу применять в своих работах".

Как применять в своих работах я достаточно хорошо знаю. Если вы хотите поумничать, то хоть цитируйте того кто задал вопрос «как я могу применять в своих работах»

 
Alexey Viktorov #:

Ну если совсем просто, то структура, это разновидность массива. 

Например структура

 это примерно как массив[1][4]

НО!!! Если массив может содержать значения только одного типа, то в структуру можно ставить любые типы

И массив может быть не более 4х мерного, а структура пожалуйста. Чем ограничено количество я не знаю, не интересовался.

Это минимум что надо знать о структурах. А как читать структуры и синтаксис смотрите в документации.

Алексей, хороший пример назначения. 

 

Неплохой пример возможностей структур. В них можно объявлять массивы, а потом массивы структуры) 

Просто надо понять, что такое тип переменных. Типы могут быть инт, дабл, стринг, массив, структура, класс. И структура, это описание типа данных. Так же как и инт, это описание целочисленных переменных.

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

Многоуровневый массив буфера индикатора

trader6_1, 2022.11.11 14:26


struct Struct1 {
   int a;
   int b;
};

struct MyStruct{
   int handleMA;
   double bufferMA[];
   Struct1 struct1;
   
   struct Struct2 {
      int c;
      int d;
   };
   Struct2 struct2;
};
MyStruct myStructs[];

void test() {
   ArrayResize(myStructs, 1);
   myStructs[0].struct1.a = 1;
   myStructs[0].struct1.b = 2;
   myStructs[0].struct2.c = 3;
   myStructs[0].struct2.d = 4;
}