Помогите разобраться.

 

Пишу простой класс

class Line

{

        double price; 

        string name;

        Line()

        {

        price=0;

        name =  ??? +"line";    

        ObjectCreate(name,OBJ_HLINE,0,0,0);  

        }; 

        
}: 

 

Соответственно вызываю в эксперте несколько линий.

Что нужно написать вместо ??? чтоб это были разные линии ?  

 
dimeon:

Пишу простой класс

class Line

 

Соответственно вызываю в эксперте несколько линий.

Что нужно написать вместо ??? чтоб это были разные линии ?  

Сделайте счётчик, и каждая новая линия будет 

IntegerToString(счётчик) + "line"
 

Это в OnTick надо счетчик делать ? не очень бы хотелось.

Может можно взять указатель  объекта и его использовать как доп. Идентификатор ? 

 
dimeon:

Это в OnTick надо счетчик делать ? не очень бы хотелось.

Может можно взять указатель  объекта и его использовать как доп. Идентификатор ? 

Вы на каждый тик создаёте линию???
 

сделайте статик переменную класса.

class Line
{
   static int counter;
   double price; 
   string name;
public:
   Line()
   {
      price=0;
      ++counter;
      name = "line_" + string(counter);    

      ObjectCreate(name,OBJ_HLINE,0,0,0);  

   }  
};

int Line::counter = 0;

 как то так, код не проверял.
А зачем сразу создавать линию ??? 

 
dimeon:

Пишу простой класс

class Line

 

Соответственно вызываю в эксперте несколько линий.

Что нужно написать вместо ??? чтоб это были разные линии ?  

нет условия при котором отрисовывается линия , сколько линий нужно ...

Вот вариант

//+------------------------------------------------------------------+
class Line
  {
public:
   void              Line(string name,const double price);
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void  Line::  Line(string name, const double price)
  {
   static int n=0; n++;
   name=StringConcatenate(name,n);
   ObjectCreate(name,OBJ_HLINE,0,0,0);
   ObjectSetDouble(0,name,OBJPROP_PRICE,price);
  };
//+------------------------------------------------------------------+
Причина обращения: