Den:
Mikhail Sukhov:
Den:
Возможно это связано с тем что я сижу на S# 2.6.2 (Quik 5.17).
Видимо пора перебираться на S# 3.0 beta
Вряд ли. А как вы проверяете имена? И когда именно это делаете?
Не очень понял вопрос. Я просто распечатываю имена таблиц, которые приходят в Trader.PreProcessDdeData. (Код я привел выше)
Вижу только "инструменты"
Я понял почему не работает - таблица по деривативам была пустая (я думал что PreProcessDdeData придет хотя бы раз при старте экспорта)
В итоге все удалось. Я тупо меняю значение из колонки с именем РТС-стандартного дериватива на имя РТС-стандартной бумаги
SBRF16 -> SBER, GAZR16 -> GAZP
this.Trader.PreProcessDdeData += (str, preData) =>
{
if (str.Contains("позиции по деривативам"))
{
Console.WriteLine("line0,item1: {1}", str, preData[0][1]);
Console.WriteLine("line1,item1: {1}", str, preData[1][1]);
preData[0][1] = "SBER";
preData[1][1] = "GAZP";
}
};
Запускаем и получаем:
позиции по деривативам line0,item1: SBRF16
позиции по деривативам line1,item1: GAZR16
New Position for SBER at 0 with margin 0
New Position for GAZP at 0 with margin 0
вместо эксепшенов что инструменты с именами SBRF16, GAZR16 не найдены.
Т.о. проблема решается стандартными средствами S#
Спасибо, Михаил, за отличную библиотеку, с ПРЕВОСХОДНЫМ дизайном!!!