когда наступает событие и нужно задним числом этот H проставить, делаем так
Код: Выделить всё
H[CurrentIndex - СохраненныйИндекс] = Input.High[CurrentIndex - СохраненныйИндекс];Код: Выделить всё
H[CurrentIndex - СохраненныйИндекс] = Input.High[CurrentIndex - СохраненныйИндекс];
Код: Выделить всё
function Initialize()
{
IndicatorName = "COUNT";
AddInput("Input1", Inputs.Candle);   
   
PriceStudy = true;   
AddSeries("H", DrawAs.Custom, Color.Coral);   
AddSeries("L", DrawAs.Custom, Color.LightGreen);   
}
function Evaluate()
{
var lastLVal = MY.C_I(Input1).GetLastValues ("L", 1)[0];
var lastHVal = MY.C_I(Input1).GetLastValues ("H", 1)[0];
if ( (lastHVal.X > lastLVal.X ? lastHVal.Y : lastLVal.Y) == (MY.C_I(Input1).GetLastValues ("H", 1)[0].Y) )
if (MY.C_I(Input1).GetLastValues ("H", 1)[0].Y  >= LAST)
if ((MY.C_I(Input1).GetLastValues ("H", 1)[0].Y > MY.C_I(Input1).GetLastValues ("H", 1)[1].Y)) 
if ((MY.C_I(Input1).GetLastValues ("H", 1)[0].Y != MY.C_I(Input1).GetLastValues ("L", 1)[0].Y)) 
 
    
          H[1] = MY.С_I(Input1).GetLastValues ("H", 1)[0].Y;
          
             
if ( (lastHVal.X > lastLVal.X ? lastHVal.Y : lastLVal.Y) == (MY.C_I(Input1).GetLastValues ("L", 1)[0].Y) )
if (MY.C_I(Input1).GetLastValues ("L", 1)[0].Y <= LAST )
if ((MY.C_I(Input1).GetLastValues ("L", 1)[0].Y > MY.C_I(Input1).GetLastValues ("L", 1)[1].Y)) 
if ((MY.C_I(Input1).GetLastValues ("H", 1)[0].Y != MY.C_I(Input1).GetLastValues ("L", 1)[0].Y)) 
     
 
         L[1] = MY.C_I(Input1).GetLastValues ("L", 1)[0].Y;
        
      
H.DrawArrowDown(Color.Fuchsia, LineStyles.Solid, 10, Color.Fuchsia, 100);             
L.DrawArrowUp(Color.Lime, LineStyles.Solid, 10, Color.Lime, 100);
} Главное понять, почему не показывает COUNT
 Главное понять, почему не показывает COUNT
Код: Выделить всё
function Initialize()
{ 
IndicatorName = "C_I";                     
AddInput("Input", Inputs.Price);     
AddSeries("H", DrawAs.Custom, Color.Gray);   
AddSeries("M", DrawAs.Line, Color.Gray, false);
AddSeries("Close", DrawAs.Custom, Color.Gray);   
AddSeries("Open", DrawAs.Custom, Color.Gray);
AddSeries("U", DrawAs.Custom, Color.Lime);
AddSeries("D", DrawAs.Custom, Color.Violet);
PriceStudy = true;                           
AddParameter("P", 2, 1);   
}
function Evaluate()
{ 
if ( CurrentIndex > P)
{
  double WMA1 = WMA(Input, (int)(0.5*P))[0];
  double WMA2 = WMA(Input, (int)(0.5*P))[0];
  M = 2.0*WMA1 - WMA2;
  double P3 = Math.Truncate(Math.Sqrt(0.5*P));
  var sum = 0.0;
  var sumZ = 0.0;
  for (var i = 0; i < P3; i++)
  {
     sum = sum + M[-i]*(P3-i);
     sumZ = sumZ + (i+1);
  }
  H = sum/sumZ;
  
  Open = H[1];
      U = H[0];
      D = H[0];
  if ( H[0] > H[1] )
      U.DrawArrowUp(Color.Aqua, LineStyles.Solid, 2, Color.Aqua, 10);
 
      else 
           D.DrawArrowDown(Color.Violet, LineStyles.Solid, 2, Color.Violet, 10);
       
} 
}
Код: Выделить всё
function Initialize()
{
IndicatorName = "COUNT_II";
AddInput("Input1", Inputs.Candle);   
   
PriceStudy = true;   
AddSeries("H", DrawAs.Custom, Color.Coral);   
AddSeries("L", DrawAs.Custom, Color.LightGreen);   
AddShadowSeries("D", DrawAs.Custom, Color.HotPink);
}
function Evaluate()
{
if (Input.High[0] >= MY.C_I(Input.Close, 2).GetValue("U", 0)  )
{
            H[0] = Input1.High[0];
             
}     
if (Input.Low[0] <= MY.C_I(Input.Close, 2).GetValue("D", 0) )
{
               L[0] = Input1.Low[0];
     
       
}     
               H.DrawArrowDown(Color.Fuchsia, LineStyles.Solid, 4, Color.Fuchsia, 100);
               L.DrawArrowUp(Color.Lime, LineStyles.Solid, 4, Color.Lime, 100);
}
Код: Выделить всё
function Initialize()
{
IndicatorName = "COUNT";
AddInput("Input1", Inputs.Candle);   
   
PriceStudy = true;   
AddSeries("H", DrawAs.Custom, Color.Coral);   
AddSeries("L", DrawAs.Custom, Color.LightGreen);   
}
function Evaluate()
{
var lastLVal = MY.COUNT_II(Input1).GetLastValues ("L", 1)[0];
var lastHVal = MY.COUNT_II(Input1).GetLastValues ("H", 1)[0];
if ( (lastHVal.X > lastLVal.X ? lastHVal.Y : lastLVal.Y) == (MY.COUNT_II(Input1).GetLastValues ("H", 1)[0].Y) )
if ((MY.COUNT_II(Input1).GetLastValues ("H", 2)[0].Y > MY.COUNT_II(Input1).GetLastValues ("H", 2)[1].Y)) 
if ((MY.COUNT_II(Input1).GetLastValues ("H", 1)[0].Y != MY.COUNT_II(Input1).GetLastValues ("L", 1)[0].Y)) 
 
    
          H[1] = MY.COUNT_II(Input1).GetLastValues ("H", 1)[0].Y;
          
             
if ( (lastHVal.X > lastLVal.X ? lastHVal.Y : lastLVal.Y) == (MY.COUNT_II(Input1).GetLastValues ("L", 1)[0].Y) )
if ((MY.COUNT_II(Input1).GetLastValues ("L", 2)[0].Y < MY.COUNT_II(Input1).GetLastValues ("L", 2)[1].Y)) 
if ((MY.COUNT_II(Input1).GetLastValues ("H", 1)[0].Y != MY.COUNT_II(Input1).GetLastValues ("L", 1)[0].Y)) 
     
 
         L[1] = MY.COUNT_II(Input1).GetLastValues ("L", 1)[0].Y;
        
      
H.DrawArrowDown(Color.Fuchsia, LineStyles.Solid, 10, Color.Fuchsia, 100);             
L.DrawArrowUp(Color.Lime, LineStyles.Solid, 10, Color.Lime, 100);
}Вернуться в «Общие вопросы по разработке»
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 22 гостя