Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Вся история MQL5.community в одном месте!
Victor Demihov
618
Victor Demihov 2015.07.16 20:44 

Стало интересно и, в некоторой степени нужно, нарисовать некоторые объекты. Есть 2 способа реализации этого.

1-ый способ:

bool  ObjectCreate(
   long          chart_id,      // идентификатор графика
   string        object_name,   // имя объекта
   ENUM_OBJECT   object_type,   // тип объекта
   int           sub_window,    // индекс окна
   datetime      time1,         // время первой точки привязки
   double        price1,        // цена первой точки привязки
   ...
   datetime      timeN=0,       // время N-точки привязки
   double        priceN=0       // цена N-точки привязки
   );

2-ой способ:

bool  ObjectCreate(
   string        object_name,   // имя объекта
   ENUM_OBJECT   object_type,   // тип объекта
   int           sub_window,    // индекс окна
   datetime      time1,         // время первой точки привязки
   double        price1,        // цена первой точки привязки
   datetime      time2=0,       // время второй точки привязки
   double        price2=0,      // цена второй точки привязки
   datetime      time3=0,       // время третьей точки привязки
   double        price3=0       // цена третьей точки привязки
   );

Второй способ как-то понятнее. С его помощью я смог нарисовать некоторые объекты. А вот с первым с первого взгляда не всё понятно. Потому есть пара вопросов, касательно параметров данных функций.

Что за Идентификатор графика ? Как идентифицируются? Как вообще с этим параметром работать? Где об этом сказано?

Индексы окна в какой последовательности и как вообще индексируются? Я ставил 0, как я понял, это для текущего графика. А как ещё используется данный параметр? Ведь есть возможность судя по всему использовать другие значение( от 1 и выше..)

Vitalie Postolache
11096
Vitalie Postolache 2015.07.16 21:27  
shanty:

Стало интересно и, в некоторой степени нужно, нарисовать некоторые объекты. Есть 2 способа реализации этого.

1-ый способ:

2-ой способ:

Второй способ как-то понятнее. С его помощью я смог нарисовать некоторые объекты. А вот с первым с первого взгляда не всё понятно. Потому есть пара вопросов, касательно параметров данных функций.

Что за Идентификатор графика ? Как идентифицируются? Как вообще с этим параметром работать? Где об этом сказано?

Индексы окна в какой последовательности и как вообще индексируются? Я ставил 0, как я понял, это для текущего графика. А как ещё используется данный параметр? Ведь есть возможность судя по всему использовать другие значение( от 1 и выше..)

Идентификатор текущего графика, на котором запущена программа = 0.

Подокна в графике нумеруются с 0 - окно графика и далее по порядку - подокна, расположенные ниже.

Victor Demihov
618
Victor Demihov 2015.07.17 13:11  
evillive:

Идентификатор текущего графика, на котором запущена программа = 0. 

Это понятно. А дальше как? Где 1...3... 5 ?
Vitalie Postolache
11096
Vitalie Postolache 2015.07.17 13:33  
shanty:
Это понятно. А дальше как? Где 1...3... 5 ?
А нету нумерации по порядку. Следующий график может быть 341945, потом 13241. Их идентификаторы придётся узнавать с помощью ChartNext(), перебирая окна в цикле.
Victor Demihov
618
Victor Demihov 2015.07.17 14:33  
Так а какой резон тогда вообще от данного параметра? Выборку делать только зная заранее очерёдность расположения окон? Имею ввиду вкладок окон снизу...
Alexey Viktorov
5192
Alexey Viktorov 2015.07.17 14:43  
shanty:
Так а какой резон тогда вообще от данного параметра? Выборку делать только зная заранее очерёдность расположения окон? Имею ввиду вкладок окон снизу...
Резон такой, что нарисовать можно в другом окне, а не только в том на котором стоит советник или индикатор. Для текущего окна всегда 0, а уж поиск другого нужного окна постарайся обеспечить сам.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий