Несколько вопросов.

 
Скорее всего тема уже поднималась, но я не нашел.
Мои попытки самому разобраться экспериментальным путем к хорошим результатам не привели.
Пишеться эксперт, запускается на каждом тике.
Вопросы:
1. Как узнать, что свеча только образовалась? Volume[0]==1 ?
Или Volume[Bars]==1? Или еще как?
2. Как узнать параметры(минимальное значение, максимальное значение) предыдущих 2 свечей?
iLow(NULL, 0,1) - предыдущая?
iLow(NULL, 0,2) - пред-предыдущая?

Т.е. вопрос, откуда идет отсчет.
 
Скорее всего тема уже поднималась, но я не нашел.
Мои попытки самому разобраться экспериментальным путем к хорошим результатам не привели.
Пишеться эксперт, запускается на каждом тике.
Вопросы:
1. Как узнать, что свеча только образовалась? Volume[0]==1 ?
Или Volume[Bars]==1? Или еще как?
2. Как узнать параметры(минимальное значение, максимальное значение) предыдущих 2 свечей?
iLow(NULL, 0,1) - предыдущая?
iLow(NULL, 0,2) - пред-предыдущая?

Т.е. вопрос, откуда идет отсчет.


1. Новый бар:
а)
bool bIsBarEnd = false;
if(timePrev != Time[0]) 
	bIsBarEnd = true;
timePrev = Time[0];

if(!bIsBarEnd)
	return(0);



б) (лучше)

bool bIsBarEnd = false;
if(nBars != Bars)
{
	if(IsTesting() || (!IsTesting() && CurTime() > Time[0] + nMagic * nDelaySeconds))
	{
		bIsBarEnd = true;
		nBars = Bars;
	}
}



для объяснения того, зачем введена задержка, см. ветку "ошибка номер 6"

2. Lowest и Highest вернут индекс, соотв. Low[Lowest(...

 
Спасибо большое за ответ.

1. Новый бар:
а)
bool bIsBarEnd = false;
if(timePrev != Time[0]) 
	bIsBarEnd = true;
timePrev = Time[0];

if(!bIsBarEnd)
	return(0);




Что такое timePrev?


б) (лучше)
bool bIsBarEnd = false;
if(nBars != Bars)
{
	if(IsTesting() || (!IsTesting() && CurTime() > Time[0] + nMagic * nDelaySeconds))
	{
		bIsBarEnd = true;
		nBars = Bars;
	}
}



Что такое nBars?


2. Lowest и Highest вернут индекс, соотв. Low[Lowest(...


Т.е. для определения нижний точки предыдущего бара надо написать:
Low[Lowest(NULL,0,MODE_LOW,14,1)]; ?
период - 14.

Сорри, вопросы навеное глупые, но только недавно сел разбираться с этим языком.
 
Любишь ты, Quark, все запутать :)

bool OpenNewBar()
   {
   if (myBars!=Bars)
      {
      myBars=Bars;
      return(true);
      }
   return(false);   
   }