BullishDivergence
Функция BullishDivergence ищет возникновения минимумов в ценах (например, Low, Close и т.д.), которые не сопровождаются возникновением минимума для индикатора (например, RSI и др.). Если такая ситуация имеет место, то функция возвращает +1, в противном случае функция возвращает 0. Такая ситуация называется Swing Low, а бар, на котором она произошла – Swing Bar.
Синтаксис: BullishDivergence(PRICE, OSCILLATOR, STRENGTH, LENGTH)
PRICE – определяет, какую цену актива использовать в расчетах. OSCILLATOR – определяет используемый индикатор. STRENGTH – требуемое число баров по каждую сторону от Swing Bar. LENGTH – длина в количестве периодов, используемая для расчета функции.
Если ситуация, описанная в первом абзаце, произошла, то функция возвращает 1. В противном случае функция возвращает ноль.
Использование функции: Функция BullishDivergence вызывает функцию SwingLowBar. Функция SwingLowBar возвращает номер бара, на котором произошло самое недавнее возникновение вышеописанной ситуации. Эта функция также может быть настроена, чтобы возвращать предпоследнее и еще более ранние возникновения ситуации, описанной в первом абзаце.
Все параметры функции BullishDivergence связаны с двумя вызываемыми функциями SwingLowBar. Параметры PRICE, STRENGTH и LENGTH используются одной функцией SwingLowBar, а параметры OSCILLATOR, STRENGTH и LENGTH – другой.
Параметры PRICE и OSCILLATOR показывают, какие данные используются в расчетах. Вместо параметра PRICE обычно ставится какая-либо цена бара (например, Close, High или Low) . Параметр OSCILLATOR показывает, какой индикатор используется для расчетов.
Параметр STRENGTH показывает число баров с каждой стороны от Swing Bar. Чем больше этот параметр, тем на большем числе баров ищется Swing Bar. Например, при параметре STRENGTH=1 требуется 3 бара, чтобы найти Swing Bar, а при STRENGTH=3 потребуется 7 баров.
Параметр LENGTH показывает, сколько баров функция должна анализировать за один раз. Если Swing Bar не найден на этом числе баров, то функция возвращает -1 и переходит к следующему бару. Например, если имеется 30 баров для анализа, а параметр LENGTH равен 5, то сначала проверяются бары с 1 по 5, затем с 2 по 6 и так далее до баров 26 – 30.
Используя функцию SwingLowBar, функция BearishDivergence определяет номера баров для последнего и предпоследнего нахождений Swing Bar, а также значения параметров PRICE и OSCILLATOR для этих баров. Затем функция сравнивает значение парметра PRICE для последнего и предпоследнего нахождения Swing Bar, проверяя, меньше ли последнее нахождение, чем предпоследнее. Функция также сравнивает значения параметра OSCILLATOR для последнего и предпоследнего нахождения Swing Bar, проверяя, больше ли значение для последнего нахождения, чем для предпоследнего. Если оба эти условия выполняются, то функция возвращает 1. Если оба условия не выполняются, или выполняется только одно, то функция возвращает ноль.
|