Почему нельзя объявить указатели в Mql4/5?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vladimir Simakov
6161
Vladimir Simakov  

Просьба к разработчикам.

Очень не хватает возможности объявления указателей, как в С++.

Vladimir Ananich
70
Vladimir Ananich  
Vladimir Simakov:

Просьба к разработчикам.

Очень не хватает возможности объявления указателей, как в С++.

Начните с этого https://www.mql5.com/ru/docs/basis , есть указатели .

Документация по MQL5: Основы языка
Документация по MQL5: Основы языка
  • www.mql5.com
Язык MetaQuotes Language 5 (MQL5) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...
Vladimir Simakov
6161
Vladimir Simakov  
Vladimir Ananich:

Начните с этого https://www.mql5.com/ru/docs/basis , есть указатели .

Указатель – переменная, значением которой является адрес ячейки памяти.

Я про это. В Mql4/5 есть возможность передавать переменную по ссылке (&var), но нельзя объявить, например: int *var

Vladimir Ananich
70
Vladimir Ananich  
Vladimir Simakov:

Указатель – переменная, значением которой является адрес ячейки памяти.

Я про это. В Mql4/5 есть возможность передавать переменную по ссылке (&var), но нельзя объявить, например: int *var

Ясно . А за чем тебе это ?

Vladimir Simakov
6161
Vladimir Simakov  
Vladimir Ananich:

Ясно . А за чем тебе это ?

Например, для организации доступа к значению из разных классов

class Ca{
   int *a;
...
   void  Init(int m_a){a=m_a}
};

int a;
Ca class;

OnInit(){
   class.Init(&a);
...
}
Vladimir Ananich
70
Vladimir Ananich  

Понятно .

Vladimir Ananich
70
Vladimir Ananich  

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

Вот есть похожее .

Документация по MQL5: Основы языка / Типы данных / Указатели объектов
Документация по MQL5: Основы языка / Типы данных / Указатели объектов
  • www.mql5.com
//| Script program start function                                    | //|  Объекты всегда передаются по ссылке                             | //| Передача массива объектов                                        | //| Передача массива указателей на объект                            |
Vladimir Simakov
6161
Vladimir Simakov  
Vladimir Ananich:

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

Вот есть похожее .

Это дескриптор класса, а мне нужен указатель на ячейку физической памяти.
Igor Makanu
9931
Igor Makanu  
Vladimir Simakov:
Это дескриптор класса, а мне нужен указатель на ячейку физической памяти.

не будет, разработчики давно определили свою позицию в этом вопросе

https://www.mql5.com/ru/forum/1111/page706#comment_178590

используйте другие способы работы с классами, "оборачивайте класс в класс" и пр. премудрости .... 

ЗЫ: классы, ну да ладно, реально или через глобальные переменные или через наследования или через написание промежуточного класса... можно еще как то работать, но вот отсутствие работы с динамическими многомерными массивами... если честно аж бесит, простые задачи превращаются в некое изобретательство как сделать оптимально и быстро примитивную операцию, тот же Alglib весь построен на классе CMatrix, при работе с матрицами один геморой, а не работа, постоянно нужно тянуть размерности матриц ибо CMatrix не умеет возвращать размер столбцов.... пришлось писать еще один класс, чтобы обернуть CMatrix... увлекательно делать простые вещи )))

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2012.04.07
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
Vladimir Simakov
6161
Vladimir Simakov  
Igor Makanu:

не будет, разработчики давно определили свою позицию в этом вопросе

https://www.mql5.com/ru/forum/1111/page706#comment_178590

используйте другие способы работы с классами, "оборачивайте класс в класс" и пр. премудрости .... 

ЗЫ: классы, ну да ладно, реально или через глобальные переменные или через наследования или через написание промежуточного класса... можно еще как то работать, но вот отсутствие работы с динамическими многомерными массивами... если честно аж бесит, простые задачи превращаются в некое изобретательство как сделать оптимально и быстро примитивную операцию, тот же Alglib весь построен на классе CMatrix, при работе с матрицами один геморой, а не работа, постоянно нужно тянуть размерности матриц ибо CMatrix не умеет возвращать размер столбцов.... пришлось писать еще один класс, чтобы обернуть CMatrix... увлекательно делать простые вещи )))

Печалька...
Yuriy Asaulenko
9359
Yuriy Asaulenko  
Vladimir Simakov:

Просьба к разработчикам.

Очень не хватает возможности объявления указателей, как в С++.

Не проблема. Сходу, через ДЛЛ например, уходите в С++ или куда хотите, и делайте что угодно, и не только указатели, но и потоки, и что душа пожелает. Терминал, в конце концов, только и не более, чем поставщик данных и исполнитель ваших заявок.

ЗЫ не так давно MQ обещали сделать функции обратного вызова, но обещанного 3 года ждут.) А пока вполне можно обойтись и без этого.

Вообще, невозможно представить, что MQ в состоянии самостоятельно создать язык и среду по функциональности не уступающую современным языкам и средам программирования. Другие терминалы этим даже не заморачиваются, и, либо делают API, либо поддержку "стандартных" языков программирования.

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