Параметры функций рисования

 

Стало интересно и, в некоторой степени нужно, нарисовать некоторые объекты. Есть 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 и выше..)

 
shanty:

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

1-ый способ:

2-ой способ:

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

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

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

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

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

 
evillive:

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

Это понятно. А дальше как? Где 1...3... 5 ?
 
shanty:
Это понятно. А дальше как? Где 1...3... 5 ?
А нету нумерации по порядку. Следующий график может быть 341945, потом 13241. Их идентификаторы придётся узнавать с помощью ChartNext(), перебирая окна в цикле.
 
Так а какой резон тогда вообще от данного параметра? Выборку делать только зная заранее очерёдность расположения окон? Имею ввиду вкладок окон снизу...
 
shanty:
Так а какой резон тогда вообще от данного параметра? Выборку делать только зная заранее очерёдность расположения окон? Имею ввиду вкладок окон снизу...
Резон такой, что нарисовать можно в другом окне, а не только в том на котором стоит советник или индикатор. Для текущего окна всегда 0, а уж поиск другого нужного окна постарайся обеспечить сам.