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

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

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

Добавлено: naum » 07 авг 2016, 17:33

Тема: Re:два в одном совместимые хай лоу + открытие закрытие первый хай лоу гистограмма второй хай лоу линия

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

1 гистограмма
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

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

function Initialize()
{
    IndicatorName = "DBObC_Histogram";         
         
  AddInput("Inp", Inputs.Candle);   

  AddParameter("Period_HL", 1,1);         
  AddParameter("Period_CO", 1,1);      
               
  PriceStudy = false;         
                         AddSeries("Upper", DrawAs.Histogram, Color.Blue,false);                         //хай лоу
                                 AddSeries("Lower", DrawAs.Histogram, Color.Red,false);      
                                 AddSeries("HL",DrawAs.Histogram,Color.Blue ,AxisType.ZeroBased);

  AddSeries("Op", DrawAs.Histogram , Color.Blue,false);                       //откр.закр.
  AddSeries("Cl", DrawAs.Histogram , Color.Red,false);      
  AddSeries("CO", DrawAs.Histogram , Color.Red,AxisType.ZeroBased);
                       
 }

function Evaluate()
{
    var open = Input.Open[0];                //откр.закр.
   var close = Input.Close[0];

    var high = Input.High[0];                 //хай лоу
   var low = Input.Low[0];

   
   if ( CurrentIndex >= 0 )
   {
                 
         int i = 0;
             for (i = 1; i < Period_HL; i++)
                                               high = Math.Max(Input.High[i], high);
           for (i = 1; i < Period_HL; i++)
                                               low =Math.Min(Input.Low[i], low) ;
           for (i = 1; i < Period_CO; i++)
                                               open =  Math.Max(Input.Open[i], open);
           for (i = 1; i < Period_CO; i++)
                                               close = Math.Min(Input.Close[i], close);
                Upper = high;
               Lower = 0;
                HL=(high-low)/2;
                Cl=close;
                Op=open ;                           
                CO=((Op-Cl)*Period_CO)/2;

          if (CO<=0 )
   
                CO=(CO*-1)*Period_CO;

 }

}




}


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2 линия

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

function Initialize()
{
  IndicatorName = "DBObC_Line";         
         
  AddInput("Inp", Inputs.Candle);   

  AddParameter("Period_HL", 1,1);         
  AddParameter("Period_CO", 1,1);      
               
  PriceStudy = false;         
                         AddSeries("Upper", DrawAs.Histogram, Color.Blue,false);                         //хай лоу
                                 AddSeries("Lower", DrawAs.Histogram, Color.Red,false);      
                                 AddSeries("HL",DrawAs.Line,Color.Blue ,AxisType.ZeroBased);

  AddSeries("Op", DrawAs.Histogram , Color.Blue,false);                       //откр.закр.
  AddSeries("Cl", DrawAs.Histogram , Color.Red,false);      
  AddSeries("CO", DrawAs.Histogram , Color.Red,AxisType.ZeroBased);
                       
 }

function Evaluate()
{
    var open = Input.Open[0];                //откр.закр.
   var close = Input.Close[0];

    var high = Input.High[0];                 //хай лоу
   var low = Input.Low[0];

   
   if ( CurrentIndex >= 0 )
   {
                 
         int i = 0;
             for (i = 1; i < Period_HL; i++)
                                               high = Math.Max(Input.High[i], high);
           for (i = 1; i < Period_HL; i++)
                                               low =Math.Min(Input.Low[i], low) ;
           for (i = 1; i < Period_CO;i++)
                                               open =  Math.Max(Input.Open[i], open);
           for (i = 1; i < Period_CO; i++)
                                               close = Math.Min(Input.Close[i], close);
                Upper = high;
               Lower = 0;
                HL=(high-low)/2;
                Cl=close;
                Op=open ;                           
                CO=((Op-Cl)*Period_CO)/2;

          if (CO<=0 )
   
                CO=(CO*-1)*Period_CO;

 }

}




}
Вложения
2016-08-07_22-21-02.png