Код: Выделить всё
function Initialize()
{
IndicatorName = "Summa";
AddInput("Input1", Inputs.Candle);
PriceStudy = true;
AddSeries("H", DrawAs.Custom, Color.Coral);
AddSeries("L", DrawAs.Custom, Color.LightGreen);
AddGlobalVariable("CountUp", Types.Int, 0);
AddGlobalVariable("CountDn", Types.Int, 0);
AddGlobalVariable("HH", Types.Double, 0.0);
AddGlobalVariable("LL", Types.Double, 100000000.0);
}
function Evaluate() {
if (CurrentIndex > 2)
{
if ( Input1.Close[0] < Input1.Close[1] && Input1.Close[1] >= Input1.Close[2] )
{
if ( Input1.Close[1] > HH )
{
CountUp++;
HH = Input1.Close[1];
if ( CountUp >= 1 )
{
H[-1] = HH;
CountDn = 0;
LL = 1000000000.0;
}
}
}
if ( Input1.Close[0] > Input1.Close[1] && Input1.Close[1] <= Input1.Close[2] )
{
if ( Input1.Close[1] < LL )
{
CountDn++;
LL = Input1.Close[1];
if ( CountDn >= 1 )
{
L[-1] = LL;
CountUp = 0;
HH = 0.0;
}
}
}
H.DrawArrowDown(Color.HotPink, LineStyles.Solid, 4, Color.HotPink, 10);
L.DrawArrowUp(Color.Cyan, LineStyles.Solid, 4, Color.Cyan, 10);
}
}
сумма
Код: Выделить всё
function Initialize()
{
IndicatorName = "A-DOWN_XV";
AddInput("Input", Inputs.Candle);
AddShadowSeries("D", DrawAs.Custom, Color.Lime);
AddShadowSeries("U", DrawAs.Custom, Color.Violet);
AddShadowSeries("S", DrawAs.Custom, Color.Red);
AddGlobalVariable("Sum", Types.Double, 0);
AddGlobalVariable("LX", Types.Long, 0);
AddGlobalVariable("HX", Types.Long, 0);
PriceStudy = true;
AddParameter("P", 2, 1);
}
function Evaluate()
{
if (BarDate(0) != BarDate(1)) Sum = 0;
var lastLVal = MY.Summa(Input).GetLastValues ("L", 1)[0];
var lastHVal = MY.Summa(Input).GetLastValues ("H", 1)[0];
if ( lastHVal.X > lastLVal.X )
D = lastHVal.Y - lastLVal.Y;
else
U = lastHVal.Y - lastLVal.Y;
if (HX != lastHVal.X || LX != lastLVal.X)
{
HX = lastHVal.X;
LX = lastLVal.X;
Sum += lastHVal.Y - lastLVal.Y;
}
S = Sum;
D.DrawHistogram(Input.Open, Color.Blue, Line.Solid, 1, Color.Blue, 3);
U.DrawHistogram(Input.Open, Color.Blue, Line.Solid, 1, Color.Blue, 3);
S.DrawHistogram();
}
его подсчёт