Как добавить на график цены два индикатора Trendlinesday, но с разными периодами?

 
Всем добрый день люди у меня такой вопрос кто - нибудь знает как добавить на график цены два индикатора Trendlinesday но с разными периодами один добавляется спокойно а второй не хочет вот исходник\
Файлы:
 
riger2006: Всем добрый день люди у меня такой вопрос кто - нибудь знает как добавить на график цены два индикатора Trendlinesday но с разными периодами один добавляется спокойно а второй не хочет вот исходник\

Думаю, дело в том, что индикатор ставит на чарт объекты с фиксированными именами, второй делает то же самое с теми же 

именами. Вот они и воюют.

Как вариант решения, можно доработать код, прибавив ко всем именам объектов идентификатор конкретной копии индикатора - строковую переменную и вынести ее в extern. А при установке нескольких копий индикаторов надо для каждой указывать свой идентификатор.

Например:

extern string Ident = "1";
//---пример модификации имени объекта
//---было
ObjectMove("Trend DN-0",1,Time[st1],s1);
//---стало
ObjectMove("Trend DN-0"+"_"+Ident,1,Time[st1],s1);
 

Можно и без внешней переменной обойтись. В качестве идентификатора использовать время установки индикатора на чарт. Вероятность повторения крайне мала. Разумеется инициализация будет в init().

string Ident="_"+TimeToStr(TimeLocal(),TIME_SECONDS);
 
Xupypr:

Можно и без внешней переменной обойтись. В качестве идентификатора использовать время установки индикатора на чарт. Вероятность повторения крайне мала. Разумеется инициализация будет в init().

string Ident="_"+TimeToStr(TimeLocal(),TIME_SECONDS);

Думаю, лучше использовать комбинацию настраиваемых параметров (лучше только существенно влияющих - длина строки ограничена :) ). Проще на чартах результат работы отслеживать. 


Успехов.

 
VladislavVG:

Думаю, лучше использовать комбинацию настраиваемых параметров (лучше только существенно влияющих - длина строки ограничена :) ). Проще на чартах результат работы отслеживать. 

Вы имели в виду что-то типа этого?


string  Ident="_"+DoubleToStr(nPeriod*Limit,0);
 

люди спасите позарез нужно может кто знает как вставить два индикатора

#property copyright "nsi2000"
#property link      "http://www.expert-mt4.nm.ru"
//----
#property indicator_chart_window
//---- input parameters
extern int nPeriod=10;
 
extern int Limit=350;
///---- int Widners Oscilator
int cnt,nCurBar=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- Output in Char
   for(cnt=0; cnt 0; nCurBar--)
     {
      if(Low[nCurBar+(nPeriod-1)/2]==Low[Lowest(NULL,0,MODE_LOW,nPeriod,nCurBar)])
        {
         s6=s5; s5=s4; s4=s3; s3=s2; s2=s1; s1=Low[nCurBar+(nPeriod-1)/2];
         st6=st5; st5=st4; st4=st3; st3=st2; st2=st1; st1=nCurBar+(nPeriod-1)/2;
        }
      if(High[nCurBar+(nPeriod-1)/2]==High[Highest(NULL,0,MODE_HIGH,nPeriod,nCurBar)])
        {
         r6=r5; r5=r4; r4=r3; r3=r2; r2=r1; r1=High[nCurBar+(nPeriod-1)/2];
         rt6=rt5; rt5=rt4; rt4=rt3; rt3=rt2; rt2=rt1; rt1=nCurBar+(nPeriod-1)/2;
        }
     }
//---- Move Object in Chart
 
   ObjectMove("Trend DN-0",1,Time[st1],s1);
   ObjectMove("Trend DN-0",0,Time[st2],s2);
//----
   ObjectMove("Trend UP-0",1,Time[rt1],r1);
   ObjectMove("Trend UP-0",0,Time[rt2],r2);
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
На такой страстный и содержательный призыв невозможно не откликнуться. :)
Файлы:
 
granit77 спасибо брат уважил !!! удачи на рынке !!!
 
granit77:
На такой страстный и содержательный призыв невозможно не откликнуться. :)

Ну вот, а ты боялся квалификацию потерять
 
granit77:
VladislavVG:

Думаю, лучше использовать комбинацию настраиваемых параметров (лучше только существенно влияющих - длина строки ограничена :) ). Проще на чартах результат работы отслеживать. 

Вы имели в виду что-то типа этого?


string  Ident="_"+DoubleToStr(nPeriod*Limit,0);



Или такого


string  Ident="_"+nPeriod+" "+Limit;
Обе величины целочисленные - добавляются в строки и так.


Успехов.

 
Vinin писал (а): Ну вот, а ты боялся квалификацию потерять
Я пролетарий умственного труда со всеми вытекающими последствиями, т.е. терять мне нечего.