Дочерние стратегии StopLoss и TakeProfit.

Дочерние стратегии StopLoss и TakeProfit.


Добрый день! Пытаюсь выставить заявки типа стоп лимит и тейк профит так:

                var order = new Order()
                {
                    Type = OrderTypes.Market,
                    Direction = isShortLessThenLong ? Sides.Sell : Sides.Buy,
                    Volume = Position == 0 ? Volume : Volume * 2,
                };
                order.WhenNewTrade(Connector).Do((trade) =>
                    {
                            var takeProfit = new TakeProfitStrategy(trade, 20);
                            var stopLoss = new StopLossStrategy(trade, 10);
                            var protectiveStrategies = new TakeProfitStopLossStrategy(takeProfit, stopLoss);
                            ChildStrategies.Add(protectiveStrategies);
                    })
                    .Apply(this);

                RegisterOrder(order);

Как только приходит сделка сразу же исполняется отложенный ордер. В примере SampleQuik при выставлении стоп заявки таблица стоп заявок пишет "Ошибка". Как правильно выставлять стопы и тейки?

И еще вопрос. С помощью какого элемента графики рисовать стопы на графике? Пробовал рисовать LineElement но исключение пишет что элемент поддерживается.




Thanks:


< 1 2 3 
Константин

Avatar
Date: 6/9/2018
Reply


Здравствуйте! В какой сборке определен метод TryDraw?

Ошибка:

Ошибка CS1061 'DrawHandler" не содержит определения для "TryDraw" и не удалось найти метод расширения "TryDraw", принимающий тип "DrawHandler" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).

Подключенные сборки:

using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Windows.Media; using Ecng.Serialization; using Ecng.Xaml; using StockSharp.Algo.Indicators; using StockSharp.Localization; using StockSharp.Xaml.Charting; using StockSharp.Xaml.Charting.IndicatorPainters;

Thanks:

Support

Avatar
Date: 6/9/2018
Reply


Ниже код метода расширения

static class PainterExtensions
	{
		public static void TryDraw(this DrawHandler draw, ChartIndicatorElement elem, int index, params IIndicatorValue[] values)
		{
			draw(elem, index, values.Select(v => v.IsEmpty ? double.NaN : v.GetValue<double>()).ToArray());
		}
	}
Thanks: Константин

Константин

Avatar
Date: 6/16/2018
Reply


Спасибо. Разобрался[laugh]

Thanks:
< 1 2 3 

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy