Дочерние стратегии 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 но исключение пишет что элемент поддерживается.




Спасибо:


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

Фотография
Дата: 09.06.2018
Ответить


Здравствуйте! В какой сборке определен метод 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;

Спасибо:

Support

Фотография
Дата: 09.06.2018
Ответить


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

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());
		}
	}
Спасибо: Константин

Константин

Фотография
Дата: 16.06.2018
Ответить


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

Спасибо:
< 1 2 3 

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy