function Initialize() { // Обязательные параметры: IndicatorName = "pinBar"; AddInput("Input", Inputs.Candle); PriceStudy = true; AddSeries("Buy", DrawAs.Custom, Color.Blue); AddSeries("Sell", DrawAs.Custom, Color.Red); AddSeries("Body"); } function Evaluate() { // AlfaDirect. 2014. OX // Delat (Дельта) - разница между объемом сделок покупателей и продавцов Buy = 0; Sell = 0; Body = Math.Abs(Input.Open[0] - Input.Close[0]); var Upshadow = 0.0; var Downshadow = 0.0; var Pinbar_h = 0.0; var Pinbar_l = 0.0; if(Input.Open[0]>Input.Close[0]) Upshadow = Input.High[0] - Input.Open[0]; else Upshadow = Input.High[0] - Input.Close[0]; if(Input.Open[0]>Input.Close[0]) Downshadow = Input.Close[0] - Input.Low[0]; else Downshadow = Input.Open[0] - Input.Low[0]; //pinbar_h = close[1]>open[1]?(body[1]>body?(upshadow>0.5*body?(upshadow>2*downshadow?1:0):0):0):0 //pinbar_l = open[1]>close[1]?(body[1]>body?(downshadow>0.5*body?(downshadow>2*upshadow?1:0):0):0):0 if(Input.Close[-1]>Input.Open[-1]){ if(Body[-1]>Body){ if(Upshadow>0.5*Body){ if(Upshadow>2*Downshadow){ Pinbar_h = 1; } } } } if(Input.Open[-1]>Input.Close[-1]){ if(Body[-1]>Body){ if(Downshadow>0.5*Body){ if(Downshadow>2*Upshadow){ Pinbar_l = 1; } } } } if(Pinbar_l>0){ Buy = Input.Low[0]-Body; Buy.DrawFigure(Figure.Up,Color.Blue,Line.Solid,5,Color.Orange,0); } if(Pinbar_h>0){ Sell = Input.High[0]+Body; Sell.DrawFigure(Figure.Down,Color.Red,Line.Solid,5,Color.Orange,0); } }