Mikhail Sukhov
|
Дата: 11.05.2010
clientposition, money, account - это все название категории. При экспорте через ДДЕ есть такое понятие. Оно однозначно идентифицирует поток данных Скажем, чтобы отличить, какие данные были получены, по сделкам или заявкам.
|
|
Спасибо:
|
|
|
|
|
XMbIPb
|
Дата: 11.05.2010
А что такое "portfolio" ? и чем категории отличаются от столбцов, там разве не реляционная модель данных? и как мне всё-таки получить эти SYMBOL, BID, ASK и DATE?
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 11.05.2010
portfolio - это ДДЕ категория таблицы порфтелей... Я думал, лучше все прочитать в Квике раздел про ДДЕ. А так же о том, как работает ДДЕ в S#.
|
|
Спасибо:
|
|
|
|
|
XMbIPb
|
Дата: 11.05.2010
Хорошо, тогда так: Какое название категории идентифицирует поток данных, отправляемых метатрейдером?
|
|
Спасибо:
|
|
|
|
|
XMbIPb
|
Дата: 12.05.2010
|
|
|
|
this.Trader.ProcessUnknownDdeData += (name, rows) => { // узнаем, что пришедшие данные отвечают за портфель if (string.Compare(name, "portfolio", true) == 0) { foreach (var row in rows) { var client = (string)row[0]; var portfolio = _portfolioWindow.Portfolios.FirstOrDefault(p => p.Client == client);
if (portfolio == null) { portfolio = new Portfolio { Client = client }; _portfolioWindow.Portfolios.Add(portfolio); }
portfolio.Shorts = (double)row[1]; portfolio.Longs = (double)row[2]; portfolio.Collateral = (double)row[3]; portfolio.Margin = (double)row[4]; portfolio.Money = (double)row[5]; portfolio.PnL = (double)row[6]; } }
Здесь "portfolio" - это ДДЕ категория таблицы портфелей, которую мы указали в настройках ДДЕ сервера в квике, а portfolio.Collateral,portfolio.Margin,portfolio.Money и portfolio.PnL - это названия столбцов этой таблицы.. я прав?
Вся беда в том что у МТ нет настроек ДДЕ сервера, где бы я мог указать нужную категорию, у меня есть только названия столбцов, указанные в документации МТ ( SYMBOL, BID, ASK и DATE)...
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 12.05.2010
Я с МТ не работал. Но думаю, что так же, как и в Квике. Какой задается в настройках - такой и приходит по ДДЕ... Вы умеете из МТ экспортировать в Эксель?
|
|
Спасибо:
|
|
|
|
|
XMbIPb
|
Дата: 12.05.2010
|
|
|
|
В том то и беда, что там нет настроек... В эксель тоже не умею..вот всё что есть в документации:
Экспорт котировок Исходными данными, на базе которых строится вся аналитическая работа пользователя терминала, являются данные о динамике цен финансовых инструментов. Эту информацию поставляет брокерская компания. Ценовые данные позволяют строить графики финансовых инструментов, исследовать финансовые рынки, использовать различные торговые тактики и принимать торговые решения. Котировки представляют собой файлы с записями в формате "SYMBOL, BID, ASK, DATE" (финансовый инструмент, цена покупки, цена продажи, дата и время) и поступают в терминал автоматически после установки связи с сервером.
Терминал позволяет экспортировать текущие котировки в другие программы в режиме реального времени по протоколу "DDE" (Dynamic Data Exchange). Это -- протокол операционных систем MS Windows для динамической передачи данных между различными приложениями. Котировки по DDE выдаются только по приходе новых тиков (режим ADVISE), а не сразу же по запросу (режим REQUEST) с выдачей последней известной цены. N/A выдается при первом запросе REQUEST, а после прихода новой цены появляются котировки.
Для активизации режима экспорта котировок из клиентского терминала по протоколу DDE необходимо включить опцию "Разрешить DDE сервер" в настройках терминала.
Внимание: исторические данные по протоколу DDE не транслируются. Передача текущих котировок производится только при работающем клиентском терминале. Форматы DDE-запросов с их возможными результатами на примере файла "DDE-sample.xls":
запрос BID: = MT4|BID!USDCHF результат: 1.5773 запрос ASK: = MT4|ASK!USDCHF результат: 1.5778 запрос HIGH: = MT4|HIGH!USDCHF результат: 1.5801 запрос LOW: = MT4|LOW!USDCHF результат: 1.5741 запрос TIME: = MT4|TIME!USDCHF результат: 21.05.02 9:52 запрос QUOTE: = MT4|QUOTE!USDCHF результат: 21.05.02 9:52 1.5773 1.5778 1.5776
Внимание: для правильного отображения данных в MS Excel нужно включить опцию в меню "Сервис -- Параметры -- Переход -- Преобразование формул в формат Excel при вводе".
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 12.05.2010
Из того, что Вы привели, я понял так. Название категорий - BID ASK HIGH LOW TIME QUOTE.... Проще всего это узнать через ITrader.ProcessUnknownDdeData. И, опять же, судя по тому, что Вы привели, указывать название ddeServer нужно MT.
|
|
Спасибо:
|
|
|
|
|
XMbIPb
|
Дата: 18.06.2010
А как узнать названия категорий через trader.ProcessUnknownDdeData, если это событие не срабатывает? И где нужно указывать название MT?
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 18.06.2010
|
|
Спасибо:
|
|
|
|