Сигналы
Если цена отклоняется от скользящей средней более чем на 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);
}
}