Описание и код для Румуса выкладывайте, тогда бум разбираться.
Код из Румуса, описание наверное нужно искать в другом месте.
Тут только и прочёл, что есть такой индикатор. Язык там называется "Руланг", не знаком с ним.
Индекс настроения рынка по Лиховидову:
"
Periods=Inparam("Enter Periods",2,13,2);
body=sqrt((o-c)*(o-c));;
if (c>=o) then lshd=o-l; else lshd=c-l;
if (c>=o) then ushd=h-c; else ushd=h-o;
ThTop_b=(bollinger_1(body, 55, e)+4*mov(body,55,e))/5;
ThBot_b=(bollinger_2(body, 55, e)+4*mov(body,55,e))/5;
ThTop_l=(bollinger_1(lshd, 55, e)+4*mov(lshd,55,e))/5;
ThBot_l=(bollinger_2(lshd, 55, e)+4*mov(lshd,55,e))/5;
ThTop_u=(bollinger_1(ushd, 55, e)+4*mov(ushd,55,e))/5;
ThBot_u=(bollinger_2(ushd, 55, e)+4*mov(ushd,55,e))/5;
//CandleCode_b
CandleCode_b=0;
if (c=o) then
begin
if (ushd>=lshd) then CandleCode_b=64; else CandleCode_b=48;
end; else
begin
if (c>o) then
begin
if (body<=ThBot_b) then CandleCode_b=CandleCode_b+80;
if (body>ThBot_b) AND (body <= ThTop_b ) then CandleCode_b=CandleCode_b+96;
if (body>ThTop_b) then CandleCode_b=CandleCode_b+112;
end; else
begin
if (body<=ThBot_b) then CandleCode_b=CandleCode_b+32;
if (body>ThBot_b) AND (body<=ThTop_b) then CandleCode_b=CandleCode_b+16;
end;
end;
//CandleCode_l
CandleCode_l=0;
if (lshd = 0) then CandleCode_l=CandleCode_l+3;
if (lshd<ThBot_l) AND (lshd>0) then CandleCode_l=CandleCode_l+2;
if (lshd>ThBot_l) AND (lshd<=ThTop_l) AND (lshd>0) then CandleCode_l=CandleCode_l+1;
//CandleCode_u
CandleCode_u=0;
if (ushd>0) AND (ushd<=ThBot_u) then CandleCode_u=CandleCode_u+4;
if (ushd>ThBot_u) AND (ushd<=ThTop_u) then CandleCode_u=CandleCode_u+8;
if (ushd>ThTop_u) then CandleCode_u=CandleCode_u+12;
CandlCode=CandleCode_b+CandleCode_l+CandleCode_u;
//Усредненный код свечи ICS
Mov( Mov( Mov( CandlCode , Periods, S), Periods, S), Periods, S);
"
Индекс настроения рынка по Лиховидову Symm:
"
Periods=Inparam("Enter Periods",2,13,2);
body=sqrt((o-c)*(o-c));;
if (c>=o) then lshd=o-l; else lshd=c-l;
if (c>=o) then ushd=h-c; else ushd=h-o;
ThTop_b=(bollinger_1(body, 55, e)+4*mov(body,55,e))/5;
ThBot_b=(bollinger_2(body, 55, e)+4*mov(body,55,e))/5;
ThTop_l=(bollinger_1(lshd, 55, e)+4*mov(lshd,55,e))/5;
ThBot_l=(bollinger_2(lshd, 55, e)+4*mov(lshd,55,e))/5;
ThTop_u=(bollinger_1(ushd, 55, e)+4*mov(ushd,55,e))/5;
ThBot_u=(bollinger_2(ushd, 55, e)+4*mov(ushd,55,e))/5;
//SymmCandleCode
SymmCandleCode=0;
if (c=o) then
begin
if (ushd>=lshd) then SymmCandleCode=64; else SymmCandleCode=-64;
end; else
begin
if (c>o) then mn=1; else mn=-1;
if (body<=ThBot_b) then SymmCandleCode=SymmCandleCode+mn*80;
if (body>ThBot_b) AND (body <= ThTop_b ) then SymmCandleCode=SymmCandleCode+mn*96;
if (body>ThTop_b) then SymmCandleCode=SymmCandleCode+mn*112;
end;
if (c>=o) then mn=-4; else mn=4;
if (lshd=0) then SymmCandleCode=SymmCandleCode+mn*3;
if (lshd<ThBot_l) and (lshd>0) then SymmCandleCode=SymmCandleCode+mn*2;
if (lshd>ThBot_l) and (lshd<ThTop_l) and (lshd>0) then SymmCandleCode=SymmCandleCode+mn;
if (c>=o) then mn=1; else mn=-1;
if (ushd>0) and (ushd<ThBot_u) then SymmCandleCode=SymmCandleCode+mn*4;
if (ushd>ThBot_u) and (ushd<ThTop_u) then SymmCandleCode=SymmCandleCode+mn*8;
if (ushd>ThTop_u) then SymmCandleCode=SymmCandleCode+mn*12;
//Усредненный код свечи ICS
Mov( Mov( SymmCandleCode , Periods, S), Periods, S);Periods=Inparam("Enter Periods",2,13,2);
body=sqrt((o-c)*(o-c));;
if (c>=o) then lshd=o-l; else lshd=c-l;
if (c>=o) then ushd=h-c; else ushd=h-o;
ThTop_b=(bollinger_1(body, 55, e)+4*mov(body,55,e))/5;
ThBot_b=(bollinger_2(body, 55, e)+4*mov(body,55,e))/5;
ThTop_l=(bollinger_1(lshd, 55, e)+4*mov(lshd,55,e))/5;
ThBot_l=(bollinger_2(lshd, 55, e)+4*mov(lshd,55,e))/5;
ThTop_u=(bollinger_1(ushd, 55, e)+4*mov(ushd,55,e))/5;
ThBot_u=(bollinger_2(ushd, 55, e)+4*mov(ushd,55,e))/5;
//SymmCandleCode
SymmCandleCode=0;
if (c=o) then
begin
if (ushd>=lshd) then SymmCandleCode=64; else SymmCandleCode=-64;
end; else
begin
if (c>o) then mn=1; else mn=-1;
if (body<=ThBot_b) then SymmCandleCode=SymmCandleCode+mn*80;
if (body>ThBot_b) AND (body <= ThTop_b ) then SymmCandleCode=SymmCandleCode+mn*96;
if (body>ThTop_b) then SymmCandleCode=SymmCandleCode+mn*112;
end;
if (c>=o) then mn=-4; else mn=4;
if (lshd=0) then SymmCandleCode=SymmCandleCode+mn*3;
if (lshd<ThBot_l) and (lshd>0) then SymmCandleCode=SymmCandleCode+mn*2;
if (lshd>ThBot_l) and (lshd<ThTop_l) and (lshd>0) then SymmCandleCode=SymmCandleCode+mn;
if (c>=o) then mn=1; else mn=-1;
if (ushd>0) and (ushd<ThBot_u) then SymmCandleCode=SymmCandleCode+mn*4;
if (ushd>ThBot_u) and (ushd<ThTop_u) then SymmCandleCode=SymmCandleCode+mn*8;
if (ushd>ThTop_u) then SymmCandleCode=SymmCandleCode+mn*12;
//Усредненный код свечи ICS
Mov( Mov( SymmCandleCode , Periods, S), Periods, S);
"