Индикатор в новом окне!

 
Доброго всем вреени суток, как создать индикатор в новом окне, точнее как прописать там уровни допустим от 1-9 и центер должен быть на 5-ке! Я почитал инфо но что так и непонял к эи уровни задавать!
 

вот функция которую можно использовать как в блоке инициализации, так и в блоке старт..

void SetLevelValues(color iColor,double iLevel1,double iLevel2,double iLevel3,double iLevel4,double iLevel5,double iLevel6)
{
SetLevelStyle(EMPTY,EMPTY,iColor);
if (iLevel1!=0) SetLevelValue(0,iLevel1);
if (iLevel2!=0) SetLevelValue(1,iLevel2);
if (iLevel3!=0) SetLevelValue(2,iLevel3);
if (iLevel4!=0) SetLevelValue(3,iLevel4);
if (iLevel5!=0) SetLevelValue(4,iLevel5);
if (iLevel6!=0) SetLevelValue(5,iLevel6);

return;
}
 
// Функция расчёта и создания горизонтальных линий разметки.
void MakingHorizontalSectoring (bool   AutoStep, // Переключатель true/fals = автоматическое/ручное распределение уровней.
                                color  Color,    // Цвет уровней.
                                color  Color0,   // Цвет нулевого уровня.
                                double ScaleMAX, // Максимальное значение шкалы.
                                double ScaleMIN, // Минимальное значение шкалы.
                                double StepH,    // При AutoStp = true/false - количество линий/растояние между линиями.
                                int    Limiter,  // Ограничение десятичных разрядов в вычислениях порядка амплитуды.
                                int    Style,    // Стиль уровней.
                                int    Width,    // Толщина уровней.
                                int    Window,   // Номер подокна для создания нулевой линий.
                                string Name)     // Имя для индивидуального имени нулевой горизонтальной линии.
 {
  double LN_Step;
  int    Exp;
  int    i, j, n;
  int    LowLevel;
  int    Step;
  int    UpLevel;
  //----
  if (1000000 * StepH != 0)
   {
    if (AutoStep == true) // Автоматическая установка горизонтальных линий по заданному количеству линий по вертикали.
     {
      LN_Step = (ScaleMAX - ScaleMIN) / StepH;        // Считаем шаг в виде числа двойной точности.
      // Вычисление порядка исходного десятичного числа.
      if (LN_Step * MathPow (10, Limiter) != 0)       // Если число меньше единицы. Проверяем на равенство первому разряду.
       {
        if (LN_Step < 1)
         {
          for (Exp = 0; Exp <= Limiter; Exp++)
           {
            i = LN_Step * MathPow (10, Exp);
            if (i >= 1) break;
           }
         }
        if (1 <= LN_Step && LN_Step < 10) Exp = 0;    // Если число между единицей и десятью. Возвращаем нулевой порядок.
        if (LN_Step >= 10)                            // Если число больше или равно единицы. Проверяем на равенство первому разряду.
         {
          for (Exp = 0; Exp >= -Limiter; Exp--)
           {
            i = LN_Step * MathPow (10, Exp);
            if (i <= 9) break;
           }
         }
       }
      else Exp = 0;                                   // Если число с заданной точностью равно нулю.
      Step = MathRound (LN_Step * MathPow (10, Exp)); // Преобразум шаг в целое число и окруляем его.
      switch (Step)                                   // Приводим к стандартному шагу.
       {
        case 1:  Step =  2; break;
        case 2:  Step =  2; break;
        case 3:  Step =  2; break;
        case 4:  Step =  5; break;
        case 5:  Step =  5; break;
        case 6:  Step =  5; break;
        default: Step = 10;
       }
      LN_Step = Step * MathPow (10, -Exp);
      UpLevel  = (ScaleMAX - MathMod (ScaleMAX, LN_Step)) / LN_Step + 1; // Верхняя граница шкалы для отсчёта шага.
      LowLevel = (ScaleMIN - MathMod (ScaleMIN, LN_Step)) / LN_Step - 1; // Нижняя граница шкалы для отсчёта шага.
      for (j = UpLevel; j >= LowLevel && 1000000 * LN_Step > 0; j--, i++) if (j != 0) SetLevelValue (i, j * LN_Step);
      i++;
      for (n = i; n <= 31; n++) SetLevelValue (n, (j + 1) * LN_Step); // Собираем оставшиеся уровни на последней координате, чтобы не мешались.
     }
    else // Ручная установка горизонтальных линий по заданному шагу по вертикали.
     {
      UpLevel  = (ScaleMAX - MathMod (ScaleMAX, StepH)) / StepH + 1; // Верхняя граница шкалы для отсчёта шага.
      LowLevel = (ScaleMIN - MathMod (ScaleMIN, StepH)) / StepH - 1; // Нижняя граница шкалы для отсчёта шага.
      for (j = UpLevel; j >= LowLevel && 1000000 * StepH > 0; j--, i++) if (j != 0) SetLevelValue (i, j * StepH);
      i++;
      for (n = i; n <= 31; n++) SetLevelValue (n, (j + 1) * LN_Step); // Собираем оставшиеся уровни на последней коордиеате, чтобы не мешались.
     }
   }
  SetLevelStyle (Style, Width, Color);
  // Удаляем горизонтальную нулевую линию.
  ObjectDelete (Name + " HLINE 0");
  // Создаём объект "ZN_AIASM HLINE 0". Этот объект создаётся всегда. Горизонтальные уровни.
  ObjectCreate (Name + " HLINE 0", OBJ_HLINE, Window, 0, 0);
  ObjectSet    (Name + " HLINE 0", OBJPROP_COLOR, Color0);
  ObjectSet    (Name + " HLINE 0", OBJPROP_STYLE, Style);
  ObjectSet    (Name + " HLINE 0", OBJPROP_WIDTH, Width);
 }
Только, эта функция из библиотеки не работает. Не позаботились об этом Метаквоты. :-(
 
Всем Большое спасибо!