Поддерживаете ли Вы дополнение функций MQL4 и MQL5

 
  • 40% (25)
  • 27% (17)
  • 2% (1)
  • 32% (20)
Всего проголосовало: 63
 
Собственно предложение касается функций работы с ордерами и позициями.
Наверное не буду расписывать ВСЕ функции которые желательно дополнить, перечислю только некоторые.

Поскольку в документации, в описании имеющихся функций присутствует такой текст

... и автоматически выбирает эту позицию для дальнейшей работы с ней при помощи функций PositionGetDouble, PositionGetInteger, PositionGetString.
может есть смысл автоматически загружать в структуру хотя-бы основные, чаще востребованные свойства позиций и ордеров?

bool  PositionSelect(

   string  symbol     // имя инструмента

   );

Хотелось-бы дополнить возможностью загрузить все свойства позиции в структуру
Пример:

bool  PositionSelect(

   string  symbol                            // имя инструмента
   MqlPropertiesPosition properties_array    // структура куда будут скопированы свойства

   );



Аналогично

ulong  PositionGetTicket(

   int  index      // номер в списке позиций

   );
ulong  PositionGetTicket(

   int  index                                // номер в списке позиций
   MqlPropertiesPosition properties_array    // структура куда будут скопированы свойства

   );
bool  PositionSelectByTicket(

   ulong   ticket     // тикет позиции

   );
bool  PositionSelectByTicket(

   ulong   ticket                            // тикет позиции
   MqlPropertiesPosition properties_array    // структура куда будут скопированы свойства

   );
 
Alexey Viktorov:
Собственно предложение касается функций работы с ордерами и позициями.
Наверное не буду расписывать ВСЕ функции которые желательно дополнить, перечислю только некоторые.

Поскольку в документации, в описании имеющихся функций присутствует такой текстможет есть смысл автоматически загружать в структуру хотя-бы основные, чаще востребованные свойства позиций и ордеров?
Какую еще структуру?
 
Alexey Viktorov:
Собственно предложение касается функций работы с ордерами и позициями.
Наверное не буду расписывать ВСЕ функции которые желательно дополнить, перечислю только некоторые.
Поскольку в документации, в описании имеющихся функций присутствует такой текстможет есть смысл автоматически загружать в структуру хотя-бы основные, чаще востребованные свойства позиций и ордеров?

Хотелось-бы дополнить возможностью загрузить все свойства позиции в структуру
Пример:
Аналогично 

Не изобретайте велосипед. Работайте со стандартными классами. Там все свойства доступны сразу. И еще у Вас ошибка в коде: использовать тогда уж не массив структур, а одну структура (одна позиция - одна структура).
 
Согласен. Исправил.
 

Мы специально отошли от жестких структур к гибкой модели запроса данных по идентификатору.

Иначе у нас будут навечно связаны руки и нельзя будет расширяться.

 
Vasiliy Sokolov:
Не изобретайте велосипед. Работайте со стандартными классами. Там все свойства доступны сразу.

А пример не затруднит показать?

Как выбрать позицию и не пользуясь функциями PositionGetDouble, PositionGetInteger, PositionGetString получить, например, цену и время открытия позиции, уровни SL и TP... И другие...

 
Renat Fatkhullin:

Мы специально отошли от жестких структур к гибкой модели запроса данных по идентификатору.

Иначе у нас будут навечно связаны руки и нельзя будет расширяться.

Ренат, я понимаю что Вы достаточно занятой человек, чтобы отвлекаться на ответы двоечникам, может кто другой объяснит, почему-же в функциях CopyXXX структуры не связывают руки, а тут не дадут развиваться?
 
Alexey Viktorov:

А пример не затруднит показать?

Как выбрать позицию и не пользуясь функциями PositionGetDouble, PositionGetInteger, PositionGetString получить, например, цену и время открытия позиции, уровни SL и TP... И другие...

В качестве примера, вот эту серию статей посмотрите: "Универсальный торговый эксперт". Там даже позицию выбирать не нужно. Все делается автоматически. Все что требуется от эксперта это решить: 1) открыть позицию или не открыть и 2) закрыть переданную позицию или оставить. Правда нужно знать ООП, хотя бы на базовом уровне, что бы это использовать.
 
Vasiliy Sokolov:
В качестве примера, вот эту серию статей посмотрите: "Универсальный торговый эксперт". Там даже позицию выбирать не нужно. Все делается автоматически. Все что требуется от эксперта это решить: 1) открыть позицию или не открыть и 2) закрыть переданную позицию или оставить. Правда нужно знать ООП, хотя бы на базовом уровне, что бы это использовать.

А просеять такое количество буковок и просто ответить на мой вопрос?

Я конечно попробую в этом разобраться, но для этого мне надо время.


ps; Василий, при всём уважении, поскольку в этой статье нет ответа на мой вопрос, считаю эту ссылку простой саморекламой. Хотя работа проделана большая и полезное в этой статье безусловно есть.

 
Alexey Viktorov:

А просеять такое количество буковок и просто ответить на мой вопрос?

Я конечно попробую в этом разобраться, но для этого мне надо время.

Если просто, можно создать класс позиции, который будет содержать все имеющиеся ее свойства. Доступ к этим свойствам в коде эксперта осуществляется элементарно:

datetime time_open = position.TimeOpen();   // Узнаем время открытия позиции
double price_open = position.EntryPrice();  // Узнаем цену входа в позицию
...                                         // и т.д.

Заморачиваться, как сам объект position получает эти свойства не надо. Это его проблема. Также не надо заморачиваться откуда взять эту самую position, это проблема того, кто эту позицию предоставляет. Таким образом работа стратегии сводятся лишь к описанию собственно правил ТС.  

Причина обращения: