Код: Выделить всё
function Initialize()
{
IndicatorName = "MAngle";
PriceStudy = true;
AddInput("Input", Inputs.Candle);
AddSeries("AB", DrawAs.Custom, Color.Black, AxisType.ZeroBased, false, Axes.New);
AddSeries("A", DrawAs.Custom, Color.Green, AxisType.ZeroBased, true, Axes.New);
AddSeries("B", DrawAs.Custom, Color.Red, AxisType.ZeroBased, true, Axes.New);
AddSeries("MA", DrawAs.Line, Color.Red, true, Axes.Parent);
AddParameter("Period", 10);
AddParameter("PeriodAngle", 5);
AddParameter("MAType", 0); // 0 - SMA, 1 - EMA, 2 - WMA
}
function Evaluate()
{
// evge 25.08.2016 http://alfadirect4.ru
if (CurrentIndex > Period) 
{
var S = SMA(Input.Close, 1); 
if (MAType == 2) S = WMA(Input.Close, Period); 
else 
if (MAType == 1) S = EMA(Input.Close, Period); 
else
S = SMA(Input.Close, Period); 
var sum = 0.0;
for (var x = 0; x < PeriodAngle; x++) 
   {
   sum += S[x] / S[x+1] - 1;
   }
AB[0] = sum / PeriodAngle;
MA = S[0];
} 
else 
{
   AB[0] = 0;
   MA = Input.Close[0];
}
A[0] = 0; B[0] = 0;
if (AB[0] > AB[1]) 
{ A[0] = AB[0]; A.DrawHistogram(); }
else
{ B[0] = AB[0]; B.DrawHistogram(); }
}
Скачать исходный текст
 Изображения (1057)
 Изображения (1057) Архивы (82)
 Архивы (82) Текстовые файлы (9)
 Текстовые файлы (9) Документы (7)
 Документы (7) Скрипты Альфа-Директ 4 (30)
 Скрипты Альфа-Директ 4 (30)