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


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


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

Код

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.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
в System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
в Ecng.Collections.SynchronizedDictionary`2.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.StrategyRule`1.#=qt7G9WNnTsBYaxgKvlNYQniCU4s4o1t44muOiJGakdBU=.#=qA0K6YqwIY3AkmKwC19laZA==(#=qOWyYey63NngbbzQ785leOg== #=qIb_9kspFdqZzOW1VQD8TMg==)
в StockSharp.Algo.Strategies.StrategyRule`1.#=qFkFgVVIMTT8xPEiHWxPMf0i8djuOZUlx7ArPFU_22B8=()
в StockSharp.Algo.Strategies.Strategy.#=qiHGpQkyoonelQb2OCBZLCA==(IStrategyRule #=q6_MU3lGTq_vWng2LcpPB8A==, Func`1 #=q0B$mQml1E6sJluJirrQMXg==, Object #=qoEqHfM1FSu3Kq74v9ys9dg==, Boolean #=quQbSH_yD$5GqB8OrhsttMg==)

Теги:


Спасибо:




5 Ответов
Mikhail Sukhov

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


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

maxws

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


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

OvcharenkoVI

Фотография
Автор статей
Дата: 19.06.2012
Ответить


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

maxws

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


Тема закрыта, сам разобрался.
Автор топика
Спасибо:

Andrii

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


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

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


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

loading
clippy