Графика

Пример рисования различных фигур на графике.

using TSLab.Script;
using TSLab.Script.GraphPane;
using TSLab.Script.Handlers;

namespace examples_of_a_graph
{
    public class Examples_of_graph : IExternalScript
    {
        public void Execute(IContext ctx, ISecurity sec)
        {
            if (ctx.BarsCount < 20)
                return; // мало баров для рисования.

            var i = ctx.BarsCount - 1;
            var point_1 = new MarketPoint(sec.Bars[i - 1].Date, sec.Bars[i - 1].High);
            var point_4 = new MarketPoint(sec.Bars[i - 4].Date, sec.Bars[i - 4].Low);
            var point_10 = new MarketPoint(sec.Bars[i - 10].Date, sec.Bars[i - 10].High);
            var point_15 = new MarketPoint(sec.Bars[i - 15].Date, sec.Bars[i - 15].Low);

            /* Очистка интерактивных объектов*/
            ctx.First.ClearInteractiveObjects();

            /* Точка на максимуме бара, который раньше предпоследнего бара на 10 баров*/
            ctx.First.AddInteractivePoint("Point", PaneSides.RIGHT, false, ScriptColors.Yellow, point_10);

            /* Линия, где начальная точка минимум бара. Конечная точка максимум предпоследнего бара. */
            ctx.First.AddInteractiveLine("Interactive Line", PaneSides.RIGHT, false, ScriptColors.Red, InteractiveLineMode.Finite, point_4, point_1);
            ctx.First.AddInteractiveLine("Interactive Line1", PaneSides.RIGHT, false, ScriptColors.Red, InteractiveLineMode.Finite, point_10, point_4);

            /* Интерактивная простая линия по максимуму предпоследнего бара. (Вертикальная) */
            ctx.First.AddInteractiveSimpleLine("interactive simple line", PaneSides.RIGHT, false, ScriptColors.Orange, InteractiveSimpleLineMode.Vertical, point_1);

            /* Добавление текста на график, над максимумом предпоследнего бара */
            ctx.First.AddInteractiveText("Hello world", PaneSides.RIGHT, false, ScriptColors.Yellow, point_4).Text = "Hello world";

            /* Добавление интерактивного Фибоначчи */
            ctx.First.AddInteractiveFibonachi("interactive Fibonacci", PaneSides.RIGHT, false, ScriptColors.Red, point_15, point_1);
        }
    }
}

Last updated