TakeProfitStrategy - Объем заявки не может быть нулевым.
Atom Ответить
15.06.2011


Версия 3.2.
При срабатывании сигнала запускается действие
Код

        private void Action1()
        {
            var order = _signalDirection == OrderDirections.Buy ? base.BuyAt(Security.LastTrade.Price) : base.SellAt(Security.LastTrade.Price);
            var qstr = new MyMarketQuotingStrategy(order, 0m.Pips(order.Security), 0m.Pips(order.Security)) { PriceType = MarketPriceTypes.Middle, MaxErrorCount = 2 };
            base.ChildStrategies.Add(qstr);
            SecureTrades(qstr);
        }
        private void SecureTrades(Strategy str)
        {
            str.NewMyTrades += trades =>
                {
                    // создаем пакетную стратегию, которая будет объединять все защитные пары стратегий по каждой из пришедших по родительской стратегии сделок
                    var batch = new BatchStrategy(BatchFinishModes.All);

                    // для каждой сделки добавляем для защиты по пакетной стратегии
					foreach (var t in trades)
					{
						var s = new BatchStrategy(BatchFinishModes.First);

						// выставляет тейк-профит в пунктах
						var takeProfit = new MyTakeProfitStrategy(t, TakeProfit);
						takeProfit.BestPriceOffset = 0m.Pips(t.Order.Security);
						takeProfit.PriceOffset = 0m.Pips(t.Order.Security);
						takeProfit.MaxErrorCount = 2;
						takeProfit.UseMarketQuoting = true;


						// выставляет стоп-лосс в пунктах
						var stopLoss = new MyStopLossStrategy(t, StopLoss);
						stopLoss.BestPriceOffset = 0m.Pips(t.Order.Security);
						stopLoss.PriceOffset = 0m.Pips(t.Order.Security);
						stopLoss.MaxErrorCount = 2;
						stopLoss.UseMarketQuoting = true;

						s.ChildStrategies.Add(takeProfit);
						s.ChildStrategies.Add(stopLoss);
						batch.ChildStrategies.Add(s);
					}

                    base.ChildStrategies.Add(batch);
                };
        }


В результате получаю следующий лог:
Код

VDS 15.06.2011 23:18:19 Стратегия запущена.
VDS 15.06.2011 23:20:01 [MMQS] Стратегия запущена.
VDS 15.06.2011 23:20:01 [MMQS] Регистрация новой заявки на Buy с ценой 9763 и объемом 1.
VDS 15.06.2011 23:20:01 [MMQS] Заявка 83837918 на Buy отправлена с ценой 9763 объемом 1.
VDS 15.06.2011 23:20:17 [MMQS] Позиция изменилась на 1.
VDS 15.06.2011 23:20:17 [MMQS] Заканчиваем котирование с неисполненным объемом равный 0.
VDS 15.06.2011 23:20:17 [MMQS] Стратегия останавливается.
VDS 15.06.2011 23:20:17 [MMQS] Стратегия остановлена.
VDS 15.06.2011 23:21:02 [MMQS] Стратегия запущена.
VDS 15.06.2011 23:21:09 [MMQS] Регистрация новой заявки на Buy с ценой 9763 и объемом 1.
VDS 15.06.2011 23:21:11 [MMQS] Заявка 83837919 на Buy отправлена с ценой 9763 объемом 1.
VDS 15.06.2011 23:21:11 [MMQS] Позиция изменилась на 1.
VDS 15.06.2011 23:21:11 [MMQS] Заканчиваем котирование с неисполненным объемом равный 0.
VDS 15.06.2011 23:21:11 [MMQS] Стратегия останавливается.
VDS 15.06.2011 23:21:11 [BS] Стратегия запущена.
VDS 15.06.2011 23:21:11 [MMQS] Стратегия остановлена.
VDS 15.06.2011 23:21:11 [BS] [BS] Стратегия запущена.
VDS 15.06.2011 23:21:17 [BS] [BS] [MTPS] Стратегия запущена.
VDS 15.06.2011 23:21:17 [BS] [BS] [MTPS] Цена текущей 1 и лучшей 9783.
VDS 15.06.2011 23:21:17 [BS] [BS] [MTPS] Котирование заявки 0 на Sell с ценой 1 объемом 0.
VDS 15.06.2011 23:21:19 [BS] [BS] [MSLS] Стратегия запущена.
VDS 15.06.2011 23:21:19 [BS] [BS] [MTPS] System.ArgumentException: Объем заявки не может быть нулевым.
Parameter name: order
   at StockSharp.Algo.TraderHelper.#=qLXaN0algzgDBsw6fL5g3xaIlhhTYVQnmzcQDJXxFOrU=(Order #=qWXq3jB6jTZ2iF22oDzWvHw==)
   at StockSharp.Algo.TraderHelper.#=qDFpU1YoTr3fblYauaHBvMg==(Order #=q1610m$u1mmPjgA6udOcZdQ==)
   at StockSharp.Algo.BaseTrader.ReRegisterOrder(Order oldOrder, Order newOrder)
   at StockSharp.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Order newOrder)
   at StockSharp.Algo.Strategies.QuotingStrategy.#=qMEPRc8S0wl31v01gtQybow==()
   at StockSharp.Algo.Strategies.QuotingStrategy.#=qrUj$Ns0mMAxxqh0k0FFJLBiPs_ZjpLzGs4nD7HMEB2Y=.#=qT87pKfV2SNITwCrVPXClEg==()
   at StockSharp.Algo.Strategies.StrategyRule.#=qDYUeDT$gBHBaiAb$fAwEix6EMBQFWfxRkrpaRMiTmvs=()
   at StockSharp.Algo.Strategies.Strategy.#=qOhBmTMx_CuyhB9VHemT_UQ==(StrategyRule #=qInhSYRIpOjVVx7xao$LOvA==, Action #=qIIVK4c4QTCW6iU5TC2n_LA==)
VDS 15.06.2011 23:21:19 [BS] [BS] [MTPS] Цена текущей 1 и лучшей 9783.
VDS 15.06.2011 23:21:19 [BS] [BS] [MTPS] Котирование заявки 0 на Sell с ценой 1 объемом 0.
VDS 15.06.2011 23:21:19 [BS] [BS] [MTPS] System.ArgumentException: Объем заявки не может быть нулевым.
Parameter name: order
   at StockSharp.Algo.TraderHelper.#=qLXaN0algzgDBsw6fL5g3xaIlhhTYVQnmzcQDJXxFOrU=(Order #=qWXq3jB6jTZ2iF22oDzWvHw==)
   at StockSharp.Algo.TraderHelper.#=qDFpU1YoTr3fblYauaHBvMg==(Order #=q1610m$u1mmPjgA6udOcZdQ==)
   at StockSharp.Algo.BaseTrader.ReRegisterOrder(Order oldOrder, Order newOrder)
   at StockSharp.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Order newOrder)
   at StockSharp.Algo.Strategies.QuotingStrategy.#=qMEPRc8S0wl31v01gtQybow==()
   at StockSharp.Algo.Strategies.QuotingStrategy.#=qrUj$Ns0mMAxxqh0k0FFJLBiPs_ZjpLzGs4nD7HMEB2Y=.#=qT87pKfV2SNITwCrVPXClEg==()
   at StockSharp.Algo.Strategies.StrategyRule.#=qDYUeDT$gBHBaiAb$fAwEix6EMBQFWfxRkrpaRMiTmvs=()
   at StockSharp.Algo.Strategies.Strategy.#=qOhBmTMx_CuyhB9VHemT_UQ==(StrategyRule #=qInhSYRIpOjVVx7xao$LOvA==, Action #=qIIVK4c4QTCW6iU5TC2n_LA==)
VDS 15.06.2011 23:21:19 [BS] [BS] Стратегия останавливается.
VDS 15.06.2011 23:21:19 [BS] [BS] [MSLS] Стратегия останавливается.
VDS 15.06.2011 23:21:19 [BS] [BS] Стратегия остановлена.
VDS 15.06.2011 23:21:19 [BS] [BS] [MTPS] Стратегия остановлена.
VDS 15.06.2011 23:21:19 [BS] [BS] [MSLS] Стратегия остановлена.

Баг или я что-то делаю не так?

Теги:


Спасибо:




3 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 15.06.2011
Ответить


InsiderHSE Перейти
Баг или я что-то делаю не так?


Бага, поправлю в 3.2.1
Спасибо:

InsiderHSE

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


Mikhail Sukhov Перейти
InsiderHSE Перейти
Баг или я что-то делаю не так?


Бага, поправлю в 3.2.1

Спасибо. А когда ориентировочно можно ждать релиз?
Автор топика
Спасибо:

Alexander

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


InsiderHSE Перейти
Mikhail Sukhov Перейти
InsiderHSE Перейти
Баг или я что-то делаю не так?


Бага, поправлю в 3.2.1

Спасибо. А когда ориентировочно можно ждать релиз?


4 часа назад :)
Спасибо:


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

loading
clippy