Библиотека польльских индикаторовзовате. БИБЛИОТЕКА ПОЛЬЗОВАТЕЛЬСКИХ ИНДИКАТОРОВ АЛЬФА-ДИРЕКТ4.0. Инструкция по созданию и импорту пользовательских индикаторов 4 библиотека пользовательских индикаторов 5
Скачать 1.9 Mb.
|
ОСЦИЛЛЯТОРЫ ВОЛАТИЛЬНОСТИ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 – период усреднения. Часто при расчете индикатора, в отличии от авторского варианта, применяется простое или экспоненциальное сглаживание. Индикатор в такой интерпретации более пригоден только для дневного тайм-фрейма, т.к. при его использовании внутри дня и при наличии гэпа, индикатор будет неинформативен приблизительно 3*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) – стандартное отклонение рассчитывается по формуле: , где t-i – цена i точек назад от момента t. Индикатор 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); } } |