← Voltar

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

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


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==)

Este tópico foi útil?

Compartilhar tópico

Comentários (5)

Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário

Mikhail Sukhov
Mikhail Sukhov

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

maxws
maxws Autor

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

OvcharenkoVI
OvcharenkoVI

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

Andrii
Andrii

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

maxws
maxws Autor

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