Nergal
Зарегистрирован: 04.09.2012
Сообщения: 92
Откуда: ЕС
|
Здраствуйте!
Замутил простой, но интересный индниктор в виде скринера, который ранижрует инструменты по трендовости.
Код: |
// Индикатор трендовости.
// Показывает степень тенденции инструмента закрывать день в плюс (C > O) после вчерашнего положительного дня.
// Аналогично и с отрицательными днями.
// Гэпы не учитываються.
Period = Min(1000, BarCount);
netChange0 = Close - Open;
netChange1 = Ref(netChange0, -1);
sumChange = abs(netChange0) + abs(netChange1);
ppC = IIf(netchange0 > 0 AND netChange1 > 0, 1, 0); // если сегодняшний и вчерашний дни закрыты в плюс
mmC = IIf(netchange0 < 0 AND netChange1 < 0, 1, 0); // если сегодняшний и вчерашний дни закрыты в минус
pmC = IIf(netchange0 > 0 AND netChange1 < 0, 1, 0); // если сегодняшний и вчерашний дни закрыты в плюс и минус
mpC = IIf(netchange0 < 0 AND netChange1 > 0, 1, 0); // если сегодняшний и вчерашний дни закрыты в минус и плюс
ppS = IIf(ppC == 1, sumChange, 0);
mmS = IIf(mmC == 1, sumChange, 0);
pmS = IIf(pmC == 1, sumChange, 0);
mpS = IIf(mpC == 1, sumChange, 0);
ppCount = Sum(ppC, Period);
mmCount = Sum(mmC, Period);
pmCount = Sum(pmC, Period);
mpCount = Sum(mpC, Period);
ppSum = Sum(ppS, Period);
mmSum = Sum(mmS, Period);
pmSum = Sum(pmS, Period);
mpSum = Sum(mpS, Period);
ppCoef = sqrt(ppCount * ppSum);
mmCoef = sqrt(mmCount * mmSum);
pmCoef = sqrt(pmCount * pmSum);
mpCoef = sqrt(mpCount * mpSum);
Filter = True;
AddColumn(ppCount / Period * 100, "Up Trend Ratio");
AddColumn(mmCount / Period * 100, "Down Trend Ratio");
AddColumn(ppCoef / pmCoef, "Up Trend Coeeficient");
AddColumn(mmCoef / mpCoef, "Down Trend Coeeficient");
|
|
|
|