← Back

Вопрос новичка Ошибка "Элемент с тем же ключом уже был добавлен"

Заранее прошу прощения за глупый вопрос. при работе переодически вылетает Элемент с тем же ключом уже был добавлен.


case 1: 
if (_myOrder2.IsCanceled())
{
_myOrder2.State = OrderStates.None;
_myOrder2.Id = 0;
_myOrder2.TransactionId = 0;
_myOrder2.Portfolio = _portfolio;
_myOrder2.Volume = _myBalance;
_myOrder2.Security = _instr2;
_myOrder2.Direction = OrderDirections.Buy;
                            
if (CountPriceBuy() > _instr2.BestAsk.Price)
{
_myOrder2.Price = _instr2.BestAsk.Price;
}
else 
{
_myOrder2.Price = CountPriceBuy();
}
                            
RegisterOrder(_myOrder2);
};
};
break;


в System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) в System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add) в System.Collections.Generic.Dictionary2.Add(TKey key, TValue value) в Ecng.Collections.SynchronizedDictionary2.Add(TKey key, TValue value) в #=qWMUJ8VFi7s_NRMcOr2G25Lud5glU2HEm99j$x89uGic=.#=qaCcRbv_fr$xDdvikdSCqGg==(Order #=qUZSZAiMIYi3WElGh94uLfA==, ITrader #=qcNmU6oPxwH8zjtgE8ynUBg==, TransactionIdGenerator #=qhfDqCZgql58PzNnZPMsnD3DR55WtCTtXzWIhtNCP4g8=) в StockSharp.Algo.BaseTrader.InitNewOrder(Order order) в StockSharp.Algo.BaseTrader.RegisterOrder(Order order) в StockSharp.Algo.Strategies.Strategy.RegisterOrder(Order order) в Arbitrager.MySrateg.ProcessArbitrg() в C:\Users\Макс\Desktop\Новая папка\MySrateg.cs:строка 192 в StockSharp.Algo.Strategies.StrategyRule1.#=qt7G9WNnTsBYaxgKvlNYQniCU4s4o1t44muOiJGakdBU=.#=qA0K6YqwIY3AkmKwC19laZA==(#=qOWyYey63NngbbzQ785leOg== #=qIb_9kspFdqZzOW1VQD8TMg==) в StockSharp.Algo.Strategies.StrategyRule1.#=qFkFgVVIMTT8xPEiHWxPMf0i8djuOZUlx7ArPFU_22B8=() в StockSharp.Algo.Strategies.Strategy.#=qiHGpQkyoonelQb2OCBZLCA==(IStrategyRule #=q6_MU3lGTq_vWng2LcpPB8A==, Func1 #=q0B$mQml1E6sJluJirrQMXg==, Object #=qoEqHfM1FSu3Kq74v9ys9dg==, Boolean #=quQbSH_yD$5GqB8OrhsttMg==)

Comments (5)

Login or Create account, Log in or register to leave a comment

Mikhail Sukhov
Mikhail Sukhov

Регистрируете уже ранее зарегистрированную заявку.

maxws
maxws Author

тогда вопрос я часто перерегистрирую заявки чтобы не использовать каждый раз new Order беру старую и обнуляю TransactionId и ID минут 20 (по разному) данный вариант работает потом кидает эту ошибку, возможно надо чтотоеще обнулять или же по другому действовать.

OvcharenkoVI
OvcharenkoVI

Непонятно, почему вы не хотите использовать new Order() ??

Andrii
Andrii

OvcharenkoVI: Непонятно, почему вы не хотите использовать new Order() ?? как синхронизировать создание заявок например создаю заявку в событии изменения SecurityChanged... но если оно возникает часто, то может быть зарегистрировано 2 одинаковых заявки, как можно синхронизировать, чтобы приостановить все пока она не попадет на сервер?

maxws
maxws Author

Тема закрыта, сам разобрался.