Разработчикам терминала. Ошибка терминала или я косячу? - страница 2

 
Integer:


Ой ляля. Вместо того, чтобы подумать надо сразу возразить. Так свяжите имя в первую очередь с индикатором, потом со всем остальным. Задача решается крайне легко.


Хорошо, Дмитрий, если вас не затруднит, подскажите мне.

У меня есть индикаторы, в которых может задаваться ТФ. Например, на одно окно я могу повесить индикатор с ТФ M1,M5,M15,M30,H1,H4,D1,W1,MN1.

Для корректного распознавания объектов их имена строятся на базе короткого имени окна, а в короткое имя окна добавляется ТФ индикатора и ещё пара всегда уникальных признаков.

Теперь когда, я сохраняю в шаблоне конфигурацию окна с этим индюком, то, при восстановлении из шаблона уникальные признаки не могут быть восстановлены.

Как поступить - удалить вообще все объекты? - некоторые были установлены вручную и автоматом не восстановятся.

Можно определить имя подокна в котором установлен индюк, но как получить имя неизвестного объекта в этом окне? Или имена всех объектов подокна, а там уже разберёмся.

Или я вообще не в том направлении думаю?

 

Имена всех объектов начинаем с имени индикатора WindowExpertName(). Перебираем все объекты, если имя начинается с WindowsExpertName(), значит удяляем.

Посложнее - начинаем с WindowExpertName() и значения какого-то параметра, или нескольких параметров: Перебираем все объекты, если имя начинается с WindowsExpertName() и значения, значит удаляем.

 
Integer:

Имена всех объектов начинаем с имени индикатора WindowExpertName(). Перебираем все объекты, если имя начинается с WindowsExpertName(), значит удяляем.

Посложнее - начинаем с WindowExpertName() и значения какого-то параметра, или нескольких параметров: Перебираем все объекты, если имя начинается с WindowsExpertName() и значения, значит удаляем.


//---- name for indicator window
   string TxtName = " SO"+SO+" SC"+SC+" ";
   if(OnlyOpen)  TxtName = " SO"+SO+" SC"+ SC+"-off ";
   if(OnlyClose) TxtName = " SO"+SO+"-off"+" SC"+SC+" ";
   NameWindow = txt_TF(TfIndicator)+" "+NAME_EXPERT + " "+VER + TxtName;
   IndicatorShortName(NameWindow);
//----

то есть нужно написать, то есть поменять местами в строке имя и ТФ, как я понимаю, тогда проще строку анализировать

NameWindow = NAME_EXPERT +" "+ txt_TF(TfIndicator) + " "+VER + TxtName;

Однако, все равно нужно проанализировать строку имени? Мне кажется это немного через анус.

А может так:

получить WindowFind - номер подокна графика, затем перебрать объекты и удалить все принадлежащие подокну? Хоть строки не анализировать, бог ты все-равно коряво как-то.

Дима спасибо вы мне здорово помогли - придали направление мысли.

И ещё до меня доперло, почему разработчики сохраняют в шаблоне и объекты.

 

получилось где-то так

//---- name for indicator window
   string TxtName = " SO"+SO+" SC"+SC+" ";
   if(OnlyOpen)  TxtName = " SO"+SO+" SC"+ SC+"-off ";
   if(OnlyClose) TxtName = " SO"+SO+"-off"+" SC"+SC+" ";
   NameWindow = txt_TF(TfIndicator)+" "+NAME_EXPERT + " "+VER + TxtName;
   IndicatorShortName(NameWindow);
//----
   int NumberWin = WindowFind(NameWindow);
   int CntObj = ObjectsTotal(EMPTY);
   for(int i=0;i<CntObj;i++){
      if(NumberWin == ObjectFind(ObjectName(i))){
         ObjectDelete(ObjectName(i));
      }
   }
 
valenok2003:

Однако, все равно нужно проанализировать строку имени? Мне кажется это немного через анус.

Через анус твой голова растет.
 

Охренеть переломиться:

if(StringFind(ObjectName(i),Prefix,0)==0)
Номер подокна использовать это действитеьно через этот самый...
 
Integer:
Через анус твой голова растет.


Да, возможно, спорить не буду. Однако вывод в подокно имени начинающегося с ТФ более удобен, судите сами

и опять же, в шаблоне сохранено неизвестное, предыдущее имя индикатора, если выполнить поиск по подстроке, удалятся объекты из всех индикаторов.

 
valenok2003:


Да, возможно, спорить не буду. Однако вывод в подокно имени начинающегося с ТФ более удобен, судите сами

и опять же, в шаблоне сохранено неизвестное, предыдущее имя индикатора, если выполнить поиск по подстроке, удалятся объекты из всех индикаторов.


Ну точно валенок.

Кто мешает кроме всего прочего выводить любое другое имя в подокне?

С какого перепуга в шаблоне окажется неизвестное имя? В шаблоне сохранятся параметры индикатора.

 
Integer:


Ну точно валенок.

Кто мешает кроме всего прочего выводить любое другое имя в подокне?

С какого перепуга в шаблоне окажется неизвестное имя? В шаблоне сохранятся параметры индикатора.


простите, не имя индикатора, а имя объекта и оно базируется на имени окна
 

вот я о каких объектах


если сохранить в шаблоне окно, то при восстановлении из шаблона тексты красный или синий налагаются.

По какой подстроке я должен найти имя объекта в этом примере (для aBandsMW)?

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