Библиотека польльских индикаторовзовате. БИБЛИОТЕКА ПОЛЬЗОВАТЕЛЬСКИХ ИНДИКАТОРОВ АЛЬФА-ДИРЕКТ4.0. Инструкция по созданию и импорту пользовательских индикаторов 4 библиотека пользовательских индикаторов 5
![]()
|
ОСЦИЛЛЯТОРЫ ВОЛАТИЛЬНОСТИATR (AVERAGE TRUE RANGE) – СРЕДНИЙ ИСТИННЫЙ ДИАПАЗОНИстинный диапазон (TR – TRUERANGE) – это истинный размах движения за выбранный период, величина которого определяется как максимальное значение из трех расстояний (см. рис.). ![]() Для вычисления TR используется следующее выражение: TRt = max{(D1), (D2), (D3)} = max{(Ht - Lt), (Ht – Ct-1), (Ct-1 – Lt)}, где Ht – максимальная цена за последний период (бар), Lt – минимальная цена за последний период (бар), Ct-1 – цена закрытия предыдущего периода (бара). Средний истинный диапазон – показывает средний размер бара за выбранный тайм-фрейм, вычисляется как усредненное значение от истинного диапазона (TR) ATRt = ATRt-1*(N-1)/N + TRt/N, где ATRt и ATRt-1 – значение индикатора на последнем и предыдущем периоде (баре) соответственно, N – период усреднения. Часто при расчете индикатора, в отличии от авторского варианта, применяется простое или экспоненциальное сглаживание. ![]() Типовые параметры. Значение периода усреднения выбирается N = 14 или Т = 7 для дневного тайм-фрейма. Индикатор ATR в основном используется как вспомогательный для оценки текущей волатильности или среднего движения на рынке за выбранный тайм-фрейм. Применяется в некоторых случаях при вычислении уровня стопа. Сигналы. Если цена отклоняется от экстремума на M значений индикатора ATR в противоположную сторону от направления предыдущего движения, то позиция закрывается по стопу. ![]() ![]() Автор. Уэллс Уайлдер (Welles Wilder). Первоисточник. Welles Wilder. New Concepts in Technical Trading Systems. 1978. Код Альфа-Директ function Initialize() { IndicatorName = "ATR"; AddInput("Input", Inputs.Candle); PriceStudy = false; AddParameter("Period", 10); AddSeries("ATR", DrawAs.Line, Color.LightBlue); } function Evaluate() { // AlfaDirect. 2014. OX // Средний истинный диапазон (ATR - Average True Range). // Автор - Уэллс Уайлдер (Welles Wilder). var TR = 0.0; if (CurrentIndex < 1) ATR = Input.High[0]-Input.Low[0]; else { TR = ( Math.Max(Input.High[0] , Input.Close[-1]) - Math.Min(Input.Low[0], Input.Close[-1])); ATR = ((Period-1.0)*ATR[-1] + TR)/Period; } } STD (Standard Deviation) – СТАНДАРТНОЕ ОТКЛОНЕНИЕSTD (StandardDeviation) – стандартное отклонение рассчитывается по формуле: ![]() где ![]() Индикатор STD в основном используется как вспомогательный для оценки текущей волатильности на рынке. Применяется в некоторых случаях при вычислении уровня стопа. Сигналы. Если цена отклоняется от скользящей средней более чем на 2 значения индикатора STD, то предполагается, что цена начала не случайное движение, т.е. продолжит движение. ![]() Код Альфа-Директ function Initialize() { IndicatorName = "STD"; PriceStudy = false; AddInput("Input", Inputs.Price); AddSeries("STD", DrawAs.Line, Color.Red); AddParameter("Period", 20); AddLevel(0, Color.Gray, "STD"); AddGlobalVariable("SUM", Types.Double, 0.0); } function Evaluate() { // AlfaDirect. 2015. OX // STD (Standard Deviation) if ( CurrentIndex < Period ) { SUM = SUM + Input[0]; var sma = SUM / (CurrentIndex + 1); STD = 0.0; } else { SUM = SUM + Input[0] - Input[0-Period]; var sma = SUM/ Period; var sigma = 0.0; for (var i = 0; i < Period; i++ ) sigma = sigma + Math.Pow(Input[-i]-sma, 2.0); STD = Math.Sqrt(sigma/Period); } } |