Нужна помощь профессионального программиста - страница 12

 
JRandomTrader #:

Речь о том, что MT5 уже сертифицирован, о своём сервере MT5.

Забудьте, это очень дорого стоит.

 
prostotrader:

Привет!

Есть MDI приложение, которое получает данные по DDE

Дочерних окон  много (сейчас 99), но может быть и больше (около 140)

Из главного окна данные передаются в дочернее окно так:

 В дочернем окне данные принимаются

OutData в главном окне и inData в дочернем окне объявлены как структура (Transfer data)

 Для развязки окон используется

Все нормально работает, но достаточно медленно

Идет непрерывный поток данных по DDE, а дочерних окон много

и пока в дочернем окне не отработает процедура 

Процесс раздачи данных по дочерним окнам приостанавливается

Если в дочернем окне убрать процедуру 

А по PoatMessage вызвать её, то во входных данных уже появляются данные, предназначенные другому окну

Сам вопрос:

Как сделать, чтобы данные просто передались в дочернее окно, а уж потом, по PostMessage, они парсились? 

Так и не подсказал никто?

Вобщем пользуйте сокеты

И хотелось уточнить: о каких дочерних окнах идет речь, где они?

Если в терминале, то не понятно - зачем обмениваться?

Если в экселе, то проще посчитать все в терминале.

В обоих случаях обмен не нужен.

 
Renat Akhtyamov #:

Так и не подсказал никто?

Вобщем пользуйте сокеты

Рена, интересуюсь, может и мне интересно будет, пишешь отдаленно.

 
lynxntech #:

Рена, интересуюсь, может и мне интересно будет, пишешь отдаленно.

Счас выясню детали вопроса, пока не совсем понятно

Подозреваю пока что эксель кушает инфу с интернета, но ведь можно точно также и веб-реквестом через МТ5 или на Си-шарпе примочку в виде DLL
 

ёксель сам по себе не быстрый в плане обмена/получения данных.

а данные можно отдавать например по RTDS как ThinkOrSwim (в ToS опции "экспортировать как поток в эксель" это именно оно) и некоторые другие. Но нужен C# а ещё точнее COM, там хоть на бейсике. 

 
Renat Akhtyamov #:

Так и не подсказал никто?

Вобщем пользуйте сокеты

И хотелось уточнить: о каких дочерних окнах идет речь, где они?

Если в терминале, то не понятно - зачем обмениваться?

Если в экселе, то проще посчитать все в терминале.

В обоих случаях обмен не нужен.

Спасибо, понятно.

 
Maxim Kuznetsov #:

ёксель сам по себе не быстрый в плане обмена/получения данных.

а данные можно отдавать например по RTDS как ThinkOrSwim (в ToS опции "экспортировать как поток в эксель" это именно оно) и некоторые другие. Но нужен C# а ещё точнее COM, там хоть на бейсике. 

того же мнения

беда в этом

 
prostotrader #:

Нет, разные DLL но команды и структура данных одинаковые.

Пока я не вижу альтернативы на ФОРТС, кроме HFT в Финаме

Мне совсем не хочется писать горы функций и процедур!

Но жажда наживы, сильнее лени,  заставляет писать :)

Вот и дописался до стаканов и....

Возникла серьезная проблема.

После команды  subscribe приходит полный стакан (в Финаме 100 котировок buy и sell),

а потом, приходит не полный стакан, а только изменения. Казалось бы, чем меньше данных, тем быстрее 

работаем, ан нет! Каждое изменение стакана, нужно обрабатывать самому!

(из API Transaq connector)

Для некоторых инструментов в составе структуры quote передается также 
элемент source. В этом случае в качестве ключа, идентифицирующего строку 
в «стакане», нужно принимать пару price + source.
 Значение «-1» в поле buy означает, что в данной строке «стакана» 
больше нет заявок на покупку. 
 Значение «-1» в поле sell означает, что в данной строке «стакана» 
больше нет заявок на продажу.
 Значение «-1» одновременно и в поле sell и в поле buy означает, что 
строка с данной ценой (или с данным значением пары price + source) 
удалена из «стакана».

Т.е., если котировка удалена, то пользователь сам должен агрегировать стакан, что

совершенно убьет всю скорость работы своего приложения, если инструмент не один, а несколько!

Вот так выглядит Стакан (первые 12 записей)

А вот так изменения Стакана


Короче, нужно забыть о Transaq connector, если будет несколько инструментов

"Приплыли"....

Остается только Plaza II

 
prostotrader #:

Вот и дописался до стаканов и....

Возникла серьезная проблема.

После команды  subscribe приходит полный стакан (в Финаме 100 котировок buy и sell),

а потом, приходит не полный стакан, а только изменения. Казалось бы, чем меньше данных, тем быстрее 

работаем, ан нет! Каждое изменение стакана, нужно обрабатывать самому!

(из API Transaq connector)

Т.е., если котировка удалена, то пользователь сам должен агрегировать стакан, что

совершенно убьет всю скорость работы своего приложения, если инструмент не один, а несколько!

Вот так выглядит Стакан (первые 12 записей)

А вот так изменения Стакана


Короче, нужно забыть о Transaq connector, если будет несколько инструментов

"Приплыли"....

Остается только Plaza II

А зачем Вам весь стакан формировать все время по всем символам? Для алгоритма это не нужно. Для визуального отображения тоже.
 
prostotrader #:

Вот и дописался до стаканов и....

Возникла серьезная проблема.

После команды  subscribe приходит полный стакан (в Финаме 100 котировок buy и sell),

а потом, приходит не полный стакан, а только изменения. Казалось бы, чем меньше данных, тем быстрее 

работаем, ан нет! Каждое изменение стакана, нужно обрабатывать самому!

(из API Transaq connector)

Т.е., если котировка удалена, то пользователь сам должен агрегировать стакан, что

совершенно убьет всю скорость работы своего приложения, если инструмент не один, а несколько!

Вот так выглядит Стакан (первые 12 записей)

А вот так изменения Стакана


Короче, нужно забыть о Transaq connector, если будет несколько инструментов

"Приплыли"....

Остается только Plaza II

это у всех так..присылается снепшот стакана и дальше льются только обновления

если каждому постоянно высылать полный образ, да ещё и по всем инструментам, то никаких мощностей нехватит..у пользователя в первую очередь

Причина обращения: