← Back

Экспорт по DDE таблицы Инструменты

Здравствуйте,

помогите, пожалуйста, разобраться со следующей проблемой. Был терминал Quik, на котором торговал человек. Он создал себе несколько закладок, поместил на них свои таблицы, графики и т д В общем, подстроил терминал под себя.

Я хотел бы использовать StockSharp с этим терминалом. Для этого создал дополнительную вкладку, куда поместил и настроил все таблицы согласно документации.

Есть следующие строчки кода



                Action<IEnumerable<Security>> secAction =
                    new Action<IEnumerable<Security>>
                    (
                        securities =>
                        {
                            waitHandle.Set();
                        }
                    );

                trader.NewSecurities += secAction;

                trader.StartExport(trader.SecuritiesTable);
                MessageBox.Show("Waiting for Securities Table");
                waitHandle.WaitOne();

Я вижу сообщение "Waiting for Securities Table", а дальше подвисаю на бесконечном ожидании. Таблица "Инструменты", при этом на моей закладке передает данные по DDE. При старте, однако, Quik переходит не на мою закладку, а на одну из ранее существовавших. Может ли S# работать с несколькими закладками в Quik? Как он определяет таблицу "Инструменты", из которой берёт данные? В чем может быть проблема? Благодарю заранее за помощь.

Comments (2)

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

Alexander
Alexander

maratrus: Здравствуйте,

помогите, пожалуйста, разобраться со следующей проблемой. Был терминал Quik, на котором торговал человек. Он создал себе несколько закладок, поместил на них свои таблицы, графики и т д В общем, подстроил терминал под себя.

Я хотел бы использовать StockSharp с этим терминалом. Для этого создал дополнительную вкладку, куда поместил и настроил все таблицы согласно документации.

Есть следующие строчки кода

            Action<IEnumerable<Security>> secAction =
                new Action<IEnumerable<Security>>
                (
                    securities =>
                    {
                        waitHandle.Set();
                    }
                );

            trader.NewSecurities += secAction;

            trader.StartExport(trader.SecuritiesTable);
            MessageBox.Show("Waiting for Securities Table");
            waitHandle.WaitOne();
> 
> Я вижу сообщение "Waiting for Securities Table", а дальше подвисаю
> на бесконечном ожидании.
> Таблица "Инструменты", при этом на моей закладке передает данные по DDE.
> При старте, однако, Quik переходит не на мою закладку, а на одну из ранее существовавших.
> Может ли S# работать с несколькими закладками в Quik? Как он определяет таблицу "Инструменты",
> из которой берёт данные? В чем может быть проблема? Благодарю заранее за помощь.

S# берёт окна, которые являются дочерними к самому квику.
А если руками перейти на активную вкладку?
Или поставить её первой по номеру?

Можно проверять работоспособность с помощью Verifier.
_maratrus_
_maratrus_ Author

Alexander Mukhanchikov: S# берёт окна, которые являются дочерними к самому квику. А если руками перейти на активную вкладку? Или поставить её первой по номеру?

Можно проверять работоспособность с помощью Verifier.

Александр, спасибо за ваше сообщение. Я пробовал перейти руками на активную вкладку. Однако, при подключении он переходит на одну и ту же (другую вкладку) и бесконечно ждет. Удалил все вкладки, всё заработало. Стал добавлять по одной. Пока работает. Если что-то поломается, приду на форум вновь :)