Индикатор Point & Figure для Multicharts и Prosuite

Индикатор кресто-нулей для Multicharts и Omega Research Prosuite2000i. Этот код будет имитировать «Point & Figure» уровни на графике.

Var: dbh(0), dbl(0),   {Daily block high/low}
abh(0), abl(0),   {actual block high/low}
dir(0),     {direction}
sv(0);     {stop value}
Inputs: BlockSize(1),   {Block Size}
ReverseSize(3),   {Reverse Size}
lookBack(-1);   {look back period}
Var: bs(BlockSize),
rs(ReverseSize),
lb(LookBack);

{daily block high/low calculations}
If Round(high/bs,0)*bs > High
then dbh = (Round(high/bs,0)*bs)-bs
else dbh = Round(high/bs,0)*bs;
If Round(Low/bs,0)*bs < Low
then dbl = (Round(Low/bs,0)*bs)+bs
else dbl = Round(Low/bs,0)*bs;

If currentbar <= 1 {check for first 2 bars of the chart}
then begin
dir = 1;
abh = dbh;
abl = dbl;
end
else begin
If dir[1] = 1 {direction up calculations}
then begin
if dbh > abh[1]
then
abh = dbh {new high}
else begin
If dbl <= abh-(bs*rs) {reverse}
then begin
dir = -1;
abh = abh[1];
abl = dbl;
end
else
abh = abh[1];
end;
end
else begin {direction down calculations}
If dbl < abl[1]
then
abl = dbl {new low}
else
if dbh >= abl+(bs*rs) {reverse}
then begin
dir = 1;
abl = abl[1];
abh = dbh;
end
else
abl = abl[1];
end;
end;

If dir = 1  {reversal stop}
then sv = abh-(bs*rs)
else sv = abl+(bs*rs);

plot1(abh);
plot2(abl);
plot3[lb](sv);

Похожие статьи:

Буду признателен, если поделитесь этой записью с друзьми:


Понравилась статья ? Подпишитесь на обновления:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *



Denoy.ru