Когда кончатся эти мучения с подкачкой данных? - страница 3

 
Ренат, скажите,
МТ на локальном компьютере пользователя хранит закачанную историю?
Каким образом, когда и по чьей инициативе она может быть стерта?
Достаточно перезагрузить сервер в рабочее время чтобы тысяча клиентов пошла инициализироваться заново. Это реальная ударная волна, которую мы неоднократно наблюдали.

И что, при этом все клиенты очищают свой локальный кеш истории и закачивают все заново?
В чем тут дополнительная проблема от наличия подкачки?
Скажите, каким образом тема ветки может повлиять на нагрузку в этом случае?
Только пожалуста конкретно, любой сценарий ..
Достаточно сотни умельцев со скриптами перепроверки и подгрузки всех баз в момент рестарта торгового сервера.

Хорошо,
Я разве предлагал какие-то способы перепроверки и подгрузки?
Я предлагал следующее - ".. при обращении к Close[1000], МТ обязан вернуть правильное значение ..". Где он его возьмет, пользователю неважно, и никаких иных способов влиять на подкачку у пользователя нет. Подозреваю, что МТ сначала проверит наличие Close[1000] в локальном кеше, и если его там нет, запросит подкачку с сервера.
Как это может увеличить загрузку сервера в момент рестарта?
... Вероятно, есть такие случаи, когда нагрузка резко в 2-3 раза возрастает, а торговые заявки(включая сработавшие ордеры, стопы и маржинколы) по сотне в секунду появляются?

Конечно есть.
Но какое отношение скорость потока ордеров имеет к теме ветки?
Тем более, что этими двумя задачами занимаются разные сервера (торговый и дата-центр).
-----------------------------------

Ну хорошо, каков итог?
У меня сложилось впечатление что вы отказываетесь что либо менять?
Это так?
 
.
 
Скажите, каким образом тема ветки может повлиять на нагрузку в этом случае?
Только пожалуста конкретно, любой сценарий ..

После реконнекта надо _проверить свежесть_ баз данных - вот и масса запросов по всему фронту.

Но какое отношение скорость потока ордеров имеет к теме ветки?

Все взаимосвязано - люди жмут Refresh, суетятся, открывают массу графиков, перезапускают терминал, запускают еще одну копию терминала и тд.

Извините, больше на эти вопросы отвечать не буду.
 
Ренат, очень жаль, но покамест я увидел только дешевый и красивый терминал.

Речь об экономичности (по ресурсам) не идет, если простой вопрос о том, чтобы подкачать не слишком большое количество статических данных вызывает бурные рассуждения о шифровании открыто доступного контента и сотнях параллельно запущенных архиваторов.

О надежности мне просто страшно говорить.

О разработанном языке тоже... не очень-то.

И документация (по крайней мере к языку) хромает.

Так что работайте дальше, и не забывайте учиться по дороге. В том числе и на том, что люди говорят.

И ссылаться на пять лет опыта в разработке информационно-торговых систем не стоит.. дурной тон это. А то я вот не могу сослаться на свои двенадцать лет разработок в области защиты информации (NDA подписывал почти всегда), а там требования к отсутствию багов и к soft-realtime были огого. Но могу зато сослаться на свой опыт (где-то с полгода-год, наверное) в тестировании разрабатываемого языка, и скажу, что MQL через нас, скорее всего, не прошел бы - вернули бы программистам на доработку. Ни MQL4, ни от MT 3.83.
 
Просто к слову, тут пробежала тема о потоке ордеров при недостатке средств. Но если вдуматься - это ошибка проектирования системы или АПИ . Ведь если это строгое условие , почему его не может отрабатывать клиент? Терминал или апи? Это стандарт - либо клиент сам определяет что денег нет, либо он получает это сообщение от сервера и затем сам следит за суммой. То что эксперт порождает такой поток - ошибка реализации связки сервера и терминала. Точнее библиотек торговли.
 
Ренат, можете конечно больше не отвечать,
тема действительно уже затянулась и добавить нечего.

Аргуманты ваши правильные, НО.
Они не имеют отношения к теме ветки (ИМХО).
Будет подкачка или нет, ваши аргументы останутся,
и ничего не изменится.
 
Торгово-информационная площадка - это всегда компромисс между потребностями
реального трейдинга и потребностью во всякого рода информации.

Легкость трафика, скорость и эффективность MT - это безусловно достоинства
от которых НЕЛЬЗЯ отказываться. Я немало видел платформ, но они не могут конкурировать с MT по этим параметрам. Даже RealTick III и eSignal, не говоря
уже о Java based платформах. Так что разработчики придержиываются совершенно
правильной концепции.

Но оставить трейдера без исторических данных тоже нельзя !
Поэтому, с учетом соображений сторон, предлагаю простейший компромисс.

1. Предусмотреть подкачку исторических данных либо как отдельный пункт меню
Сервис со своим окном настройки параметров такой подкачки, либо как отдельную
кнопку окна Архив котировок.

2. Предусмотреть для такой операции пониженный статус, чтобы сервер
обрабатывал ее только при низкой загрузке и прерывал бы процесс при любой
волне. Сообщение "Обратитесь позже ..." :-)

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

Такое решение сохранило бы все достоинства MT и еще больше повысило
бы его ценность.
 
Yurixx, у нас работа с историей сделана _очень_ хорошо. Настолько хорошо, что мы считаем этот механизм близким к идеалу. Эффективно, экономично и защищенно.Если нужны данные, то просто один раз прощелкайте по всем периодам и символам вручную и ВСЕ! Любое обращение к таймфремам через ArrayCopySeries вызывает по необходимости автоматическую докачку(именно докачку от последних данных, а не полномасштабную закачку всей доступной истории). Но вызывать докачку по обращению в несуществующие области через Close[100000] мы ни в коем случае не будем.
 
Yurixx, у нас работа с историей сделана _очень_ хорошо. Настолько хорошо, что мы считаем этот механизм близким к идеалу. Эффективно, экономично и защищенно. Если нужны данные, то просто один раз прощелкайте по всем периодам и символам вручную и ВСЕ!

Блажен кто верует ...
И вообще, звучит очень скромно .. :))
Сам себя не похвалиш ....

Любое обращение к таймфремам через ArrayCopySeries вызывает по необходимости автоматическую докачку

В том то и дело, что не вызывает ...
С чего ветка и началась.
ArrayCopySeries возвращает только то, что есть в локальном кеше (и то не всегда),
а кеш заполняется только при прокрутке этого конкретного символа вручную.
По крайней мере я пока ничего другого не смог увидеть.
 
Любое обращение к таймфремам через ArrayCopySeries вызывает по необходимости автоматическую докачку

В том то и дело, что не вызывает ...
С чего ветка и началась.
ArrayCopySeries возвращает только то, что есть в локальном кеше (и то не всегда),
а кеш заполняется только при прокрутке этого конкретного символа вручную.
По крайней мере я пока ничего другого не смог увидеть.

вызывает. но подкачка данных происходит асинхронно. напишите функцию, которая после первого вызова необходимых ArrayCopySeries делает 20-30 секундную задержку и Ваши проблемы с нехваткой данных будут решены
Причина обращения: