Каталог файлов форума

Список вложений в сообщениях, оставленных на этой конференции.

Все файлы форума: 1233

Добавлено: Den » 20 окт 2017, 15:11

Тема: Re: Как суммировать показания за день?

Текст сообщения:

индикатор

Код: Выделить всё

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();

}




его подсчёт
Вложения
25.png
25.png (8.49 КБ) 18796 просмотров