статистика опен

 

хочу протестировать сколько случается гепов между опен и клоз, подскажите пожалуйста, как задать в коде следующее условие:

если опен текущего бара выше клоуз предыдущего, то (то есть например опен текущего 1,5833, а клоуз предыдущего 1,5830)

и

если опен текущего бара ниже клоуз предыдущего, то (то есть например опен текущего 1,5830, а клоуз предыдущего 1,5833)

 
SDD:

как задать в коде следующее условие:

если опен текущего бара выше клоуз предыдущего, то (то есть например опен текущего 1,5833, а клоуз предыдущего 1,5830)


   if (Open[0]-Close[1]>0.5*Point) {
       ......
   }

[0] - текущий (0-й), не закрытый бар,

[1] - предыдущий (1-й) бар.

 

то-то не то (

 
if (Open[1])>Close[2]&&Open[1]<Close[2])
{
................. ;
}
 
if (Open[1]>Close[2]&&Open[1]<Close[2])
{
................. ;
}

Сорри!!!


Вот так!!! ))

 
смотрите что хочу сделать. хочу торговать против гепов, например, если опен текущей превышает клоз предыдущей на 10 пипсов продать прямо на открытии. то есть смотрите, предыдущий бар закрылся на 1,5800, тут произошел резкий скачок вверх и след бар открылся на 1,5810, тут же надо продать по цене открытия, для бай наоборот, предыдущий бар закрылся по 1,5800, текущий бар открылся на 1,5790, тут же покупаем по цене открытия. запутался не могу понять как написать главное: как указать что прыгнуло вверх на столько-то пунктов, и как указать что упало вниз на столько-то пунктов. могу написать что скакнуло куда-то на столько-то пунктов, а вот куда вверх или вниз как выразить не пойму!
 

смотрите, а если вот так это будет значить что опен текущей выше клоз преддущей на 10 пп?

if ((Open[0]-Close[1])/Point>=10)

 
slayer:
if (Open[1]>Close[2]&&Open[1]<Close[2])
{
................. ;
}

Сорри!!!


Вот так!!! ))

Вы бредите)) Тогда уж так)

if (Open[1]-Close[2]>x*Point || Close[2]-Open[1]>x*Point){................. ;}
 
обспобю
 

вот так оказалось правильно для селл

if ((Open[0]-Close[1])/Point>=10)

для бай

if ((Close[1]-Open[0])/Point>=10)


теперь другая проблема - открывает по всему бару, на бар может прийтись по 4 сделки, как сделать так, чтобы он покупал строго по цене открытия и только один раз на бар?

 
SDD:

как сделать так, чтобы он покупал строго по цене открытия и только один раз на бар?

int isNewBarCount=0;

......

if (isNewBar() == true)

.....


bool isNewBar()
{
bool res=false;
if (expertBars!=Bars)
{
expertBars=Bars;
res=true;
isNewBarCount=isNewBarCount+1;
}
return(res);
}