Код: Выделить всё
function Initialize()
{
IndicatorName = "TRIX Histogram ";
AddInput("Input", Inputs.Price);
AddSeries("TRIX", DrawAs.Custom, Color.Green, AxisType.ZeroBased);
PriceStudy = false;
AddParameter("Period", 20, 1);
AddGlobalVariable("K", Types.Double, 0.0);
AddGlobalVariable("xEMA", Types.Double, 0.0);
AddGlobalVariable("xDMA", Types.Double, 0.0);
AddGlobalVariable("xTMA", Types.Double, 0.0);
}
function Evaluate()
{
// AlfaDirect. 2016. OX
// TRIX - тройная экспоненциальная скользящая средняя.
if (CurrentIndex > 0)
{
xEMA = (1.0 - K)*xEMA + K*Input[0];
xDMA = (1.0 - K)*xDMA + K*xEMA;
double oTMA = xTMA;
xTMA = (1.0 - K)*xTMA + K*xDMA;
if (oTMA > 0.00000001)
TRIX = (xTMA - oTMA)/oTMA*100.0;
else
TRIX = 0.0;
}
else
{
xEMA = Input[0];
xDMA = Input[0];
xTMA= Input[0];
TRIX = 0.0;
K = 2.0/(Period + 1.0);
}
if (TRIX > TRIX[-1] )
TRIX.DrawHistogram(Color.Green);
else
TRIX.DrawHistogram(Color.Red);
}
Более наглядно по-моему, чем стандартный в виде линии.