Как определить символ подокна и работать с этим окном?

 
Доброго времени суток, подскажите. у меня есть 3 графика - мне нужно на каждом из графиков отрисовывать обьект. Япривел пример того как попробовал это сделать, но объекты отрисовываются только на графике с экспертом. В чем тут ошибка?
  for(int k=0;k<3;k++) 
   for(int i=0;i<3;i++)
   if (ChartSymbol(k)==Mass_Valute[i])
        {
         ObjectCreate(k,"p1",OBJ_HLINE,0,iTime(Mass_Valute[i],ChartPeriod(k),1),p1[i]);
         ObjectSetInteger(k,"p1", OBJPROP_STYLE,STYLE_DASHDOT);
         ObjectSetInteger(k,"p1", OBJPROP_COLOR,clrAqua);
        }

Допустим string Mass_Valute[3]={"EURUSD","EURNZD","EURAUD"}; Графики открыты по тем же символам

 

Я понял что проблема в переборе графиков. Но не совсем понимаю как тогда их правильно можно перебрать. С помощью 

long ChartFirst()

long ChartNext(long chartId)

? Не совсем понимаю как с ними работать если ведешь дело с несколькими графиками

 
long getChartID(string symbol, ENUM_TIMEFRAMES period, bool openNew = true) {
   long id = ChartFirst();
   if (ChartSymbol(id) == symbol &&
       ChartPeriod(id) == period
   ) return id;
   while (id > 0) {
      id = ChartNext(id);
      if (id > 0 &&
          ChartSymbol(id) == symbol &&
          ChartPeriod(id) == period
      ) return id;
   }
   if (openNew) {
      id = ChartOpen(symbol, period);
      if (id <= 0) {
         id = -1;
      }
   }
   return id;
}
 

Ещё на графике может быть объект "График", определить можно так:

bool isObject = (bool)ChartGetInteger(id, CHART_IS_OBJECT);
 
Большое спасибо за помощь)
 
long CurChart=ChartFirst();
  for(int k=0;k<3;k++) 
  {
   for(int i=0;i<3;i++)
   if (ChartSymbol(CurChart)==Mass_Valute[i])
        {
         ObjectCreate(CurChart,"P1",OBJ_HLINE,0,iTime( Mass_Valute [i],ChartPeriod(CurChart),1), P1[i]);
         ObjectSetInteger(CurChart,"P1", OBJPROP_STYLE,STYLE_DASHDOT);
         ObjectSetInteger(CurChart,"P1", OBJPROP_COLOR,clrAqua);
         
        }
        CurChart=ChartNext(CurChart);
        if (CurChart<0) break;
        }

Так сойдёт?

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