← 返回

Несколько инструментов в стратегии

Юзал поиск но не нашел как реализовать чтобы в стратегии можно было использовать несколько инструментов


_strategy = new SmaStrategy()
			{
				Volume = 1,
				Portfolio = portfolio,
				Security = RIU,
				Trader = _trader
			};


потом в самой стратегии


                    order = this.CreateOrder(direction, price + _point, base.Volume);
                    base.RegisterOrder(order);

В случае выставления заявок по 2-м инструментам, как лучше реализовать?

本主题对您有帮助吗?

分享主题

评论 (12)

登录创建账户, 登录或注册以发表评论

Alexander
Alexander
  1. BasketSecurity
  2. Как свойство стратегии заводите что надо
OvcharenkoVI
OvcharenkoVI

Я не использую basketSecurity.

в самом классе стратегии сначала создаю

        public Security security_2;

Потом

        public IndStrategy(Security security_2)
        {
            this.security_2 = security_2;
        }

А в MainWindow

                security_2 = (Security)SelectedSecurity_2;

                _strategy = new IndStrategy(security_2)
                {
                    Security = security,
                    security_2 = security_2,
                };

Куски кода вырезал соответственно) но так в принципе понятно)

OvcharenkoVI
OvcharenkoVI

А с заявками еще проще

            var order = new Order
            {
                Type = OrderTypes.Market,
                Volume = 1,
                Portfolio = base.Portfolio,
                Security = base.Security,
                Direction = OrderDirections.Sell,
            };

            var order1 = new Order
            {
                Type = OrderTypes.Market,
                Volume = 1,
                Portfolio = base.Portfolio,
                Security = security_2,
                Direction = OrderDirections.Buy,
            };


            Trader.RegisterOrder(order);
            Trader.RegisterOrder(order1);
foRs NattyD
foRs
foRs 作者

Спасибо, буду пробывать

foRs
foRs 作者

реализовал на тестирование по истории. так вот стата учитывается только для 1-го инструмента. выходит если использовать такой вариант нужно самому отслеживать профиты и лосы?

OvcharenkoVI
OvcharenkoVI

видимо для тестирования следует использовать корзину инструментов... я занимаюсь арбитражными роботами, мне тестирование не поможет, поэтому не могу ответить

Pantov
Pantov

Давайте вернемся к этой теме. Все-же как более правильно в рамках событийной стратегии работать по одному портфелю с двумя и более инструментами, а также с одним инструментом по разным портфелям? Хотелось бы теории и кода, спасибо.

Alexander
Alexander

Pantov: Давайте вернемся к этой теме. Все-же как более правильно в рамках событийной стратегии работать по одному портфелю с двумя и более инструментами, а также с одним инструментом по разным портфелям? Хотелось бы теории и кода, спасибо.

А мой ответ совсем-совсем не устраивает? Если стратегия 1, но несколько инструментов - используйте либо BasketSecurity, либо полями в стратегии задавайте свои инструменты.

По разным портфелям с одним инструментам - это просто разные стратегии.

Pantov
Pantov

либо полями в стратегии задавайте свои инструменты.

Это можно пояснить на примере (у стратегии ведь одно поле Security)?

Alexander
Alexander

Pantov:

либо полями в стратегии задавайте свои инструменты.

Это можно пояснить на примере (у стратегии ведь одно поле Security)?

А кто мешает в классе создавать свои собственные уникальные поля?

Pantov
Pantov

Т.е. перед постановкой заявки в стратегии присваивать полю Security нужный инструмент? Будут ли при этом для стратегии правильно считаться позиции, прибыль-убыток и др. ?

Alexander
Alexander

Pantov: Т.е. перед постановкой заявки в стратегии присваивать полю Security нужный инструмент? Будут ли при этом для стратегии правильно считаться позиции, прибыль-убыток и др. ?

OvcharenkoVI вам выше написал что такое дополнительные свойства класса. Посмотрите свой пост.

Нет, не будет. Переопределяйте классы и считайте сами. Либо, в третий раз повторяю, используйте BasketSecurity.