Думаю такого примера будет достаточно


Code:
using System.Linq;
using TSLab.Script;
using TSLab.Script.Handlers;
using TSLab.Script.Optimization;

namespace MichaelShpin.TSLab.Scripts.Tests
{
	public class AngleLineScript : IExternalScript
	{
		public readonly OptimProperty FirstPointBar = new OptimProperty(1000, 1, 2000, 1);

		public void Execute(IContext ctx, ISecurity sec)
		{
			int pointX1 = (int)FirstPointBar.Value;
			int pointX2 = sec.Bars.Count-1;

			double pointY1 = sec.ClosePrices[pointX1];
			double pointY2 = sec.ClosePrices[pointX2];

			//Получаем угол наклона линии 
			double angle = (pointY2 - pointY1) / (pointX2 - pointX1);

			int startBar = pointX1;

			//Получаем отступ по Y
			double offset = pointY1 - pointX1 * angle;
			//Пробегаем по барам, строим наклонную линию начиная со startBar
			var angleLine = sec.Bars.Select((bar, i) => i >= startBar ? angle * i + offset : 0d).ToList();

			IPane pane = ctx.CreatePane("MainPane", 100, false);
			pane.HideLegend = false;
			pane.UpdatePrecision(PaneSides.RIGHT, sec.Decimals);
			pane.AddList(sec.ToString(), sec, CandleStyles.BAR_CANDLE, true, System.Drawing.Color.DarkBlue.ToArgb(), PaneSides.RIGHT);

			IGraphList line = pane.AddList("AngleLine",angleLine, ListStyles.LINE_WO_ZERO, System.Drawing.Color.OrangeRed.ToArgb(), LineStyles.SOLID, PaneSides.RIGHT);
			line.Thickness = 2;


		}

	}

}


Отредактировано Michael Shpin (Sat Apr 22 2017 12:57 AM)