13:00:28 Expert 'HyperScan': close #1222877 0.60 lots at 1.2978 [slippage 3] 13:00:28 '10107': close order #1222877 at price 1.2978
2. в МТ3 сервер ничего не знает о slippage (он не передается на сервер), поэтому выдает чистый реквот
13:00:32 '10107': requote 1.2974 / 1.2977
3. терминал соглашается с новой ценой на 1 пипс хуже и пытается закрыться снова
13:00:32 '10107': close order #1222877 at price 1.2977
4. к сожалению, прошло 22 секунды, цена ушла и сервер снова дал реквот
13:00:54 '10107': requote 1.2972 / 1.2975
В МТ3 система обслуживания экспертов только один раз (на одну заявку) соглашается с ценой реквота при соблюдении лимита slippage. То есть, терминал не пытается бесконечно соглашаться на реквоты, пусть даже они попадают в лимит slippage.
В МТ4 стало гораздо легче - теперь параметр slippage является стандартной характеристикой заявки и передается на сервер. Если будет реквот, то он автоматически проверится на сервере и отработается по новой цене. Это позволило быстрее и гарантированнее проводить сделки, особенно на быстром рынке.
Параметр slippage на сервере ни в коем случае не передается на сторону дилера и недоступен даже через MetaTrader Server API. Это сделано для того, чтобы нельзя было видеть - насколько согласен клиент ухудшить цену.
Это достойно!
Нельзя ли пояснить ещё немного глубже?
Насколько я понимаю, у маркет-мейкера имеется 2 варианта диалога с трейдером:
- отвечать "вручную" на каждый запрос;
- поставить исполнение запросов "на автомат".
Можно ли хотя бы в общих чертах охарактеризовать преимущественный режим работы маркет-мейкера на новом сервере МТ4? Какие у него появятся (если появятся) новые пожелания настроек?
Скажем, будет ли у него возможность поставить "на автомат" исполнение всех запросов, попадающих в заданный им коридор люфта цены? Эта цифра может декларироваться ДЦ и расцениваться и ими и трейдерами как х-ка привлекательности того или иного ДЦ.
Одно дело, ДЦ декларирует "автоматическое" (моментальное) исполнение при проскальзывании не более 1п, а другое - по второму касанию на динамическом спреде через неопределённое время, и третье - ничего не декларирует.
При работе с кросс-курсами, например EUR/GBP, знание ответов на эти вопросы может быть определяющим.
За счет развитого серверного и менеджерского API мы предоставляем широкие возможности написания плагинов-"помошников", которые анализируют входящие запросы, открытые позиции и ордера с целью выявления достаточно простых или шаблонных ситуаций с автоматической отработкой.
Это кардинально уменьшает время отклика на торговых транзакциях и снижает нагрузку на дилеров, оставляя им на обслуживании только наиболее важные запросы. Например, большинство массовых передвижек стопов(трейлингов) можно обрабатывать в автомате (если они достаточно далеко от рынка).
Я уверен, что почти все компании внедрят у себя программных автодилеров различной степени интеллектуальности. Мы предоставляем примеры таких автодилеров в виде исходников. Любая компания может реализовать свое собственное ноухау, написав изощеренных автодилеров.
За счет полностью переписанных механизмов приема и обслуживания заявок в MetaTrader 4 производительность поднята раза в 3 по сравнению с MetaTrader 3 на том же самом железе:
"Производительность MetaTrader Server 4"
Насколько можно быть в этом уверенным?
Если бы сервер находился за пределами ДЦ и был бы ему недоступен, тогда гарантия была бы достаточно высока. А имея физический доступ к серверу часто можно сделать довольно многое.
Не знаю деталей работы сервера ...
Но к примеру на сервере может быть возможность ведения логов, в том числе и запросов пользователей. Некоторые данные могут храниться (постоянно или временно) в локальных файлах или базах данных, и т.д.
При этом дилер не получит слипэдж (и может быть еще что) напрямую через ваш софт, но местные кулибины сделают это помимо вашей системы. Причем даже необязательно в онлайн. Можно раз в сутки (и реже) анализировать логи и дать дилеру доступ к результатам анализа. Люди не часто меняют привычки. Если ктото последний месяц был согласен на слипэдж в 5п, то вряд ли он сегодня сменит это значение.
Есть ли какая защита от подобных действий ДЦ?
И насколько легко это может быть реализовано месными силами ДЦ?
Если бы сервер находился за пределами ДЦ и был бы ему недоступен, тогда гарантия была бы достаточно высока. А имея физический доступ к серверу часто можно сделать довольно многое.
Мы гарантируем невозможность получения доступа к полю slippage в ордере. Для нас это очень важно - чтобы никто никогда не сказал - "системой нельзя пользоваться потому что брокер знает мой допустимый сдвиг".
Кстати, я уже многократно говорил "slippage не показывается" ни в логах, ни в базах, ни в API(там соответствующие поле затирается). Если я это многократно утверждаю и открыто акцентирую на этом внимание, то значит оно так и есть. И кулибины не помогут.
...
3. терминал соглашается с новой ценой на 1 пипс хуже и пытается закрыться снова
...
4. к сожалению, прошло 22 секунды, цена ушла и сервер снова дал реквот
И все-таки, не очень понятно почему не закрывается позиция.
Ведь терминал послал заявку закрыть SELL по 1.2978,
за это время цена(Ask) ушла на один пункт вниз к 1.2977
и для меня эта цена была не хуже,
а наоборот, еще более выгодной для закрытия короткой позиции.
И тем не менее, позиция на сервере не была закрыта!
Далее цена ушла к 1.2975 что уже на 3 пункта лучше
той что была запрошена, и результат тот же.
Невольно напрашивается вывод,
что сервер работает в пользу брокерской компании,
причем весьма грубым способом.
(Либо брокер может "конфигурировать" его под себя)
На фоне этого, возможные махинации брокера со slippage
выглядят куда безобиднее чем не исполние ордеров вообще.
Прочтите, пожалуйста, мой ответ еще раз. Там все точно изложено.
причем весьма грубым способом.
Вывод с точностью до наоборот. Сервер дважды давал реквот с улучшением цены. Сначала на 1 пипс, а потом еще на 2 пипса. То есть, сервер абсолютно честно предлагал совершить сделку по более лучшей цене.
если клиент послал заявку закрыть позицию,
и цена закрытия устроила сервер, то почему сервер её не закрыл?
Вместо этого, он стал обмениваться с клиентом какими-то requote-ами,
во время которых, цены также устроили обоих,
но злополучная сделка как была открытой так и осталась.
если клиент послал заявку закрыть позицию,
и цена закрытия устроила сервер, то почему сервер её не закрыл?
Таковы настройки (все меняется администраторами системы) сервера - не пропускать цены, отличающиеся от рынка на NN пунктов. Это правило действует в обе стороны: как для ухудшения, так и для улучшения. То есть, сервер действует честно - если цена улучшилась для клиента, то клиенту предлагается совершить сделку по лучше цене. Важно то, что клиенту не дают совершить заведомо убыточную операцию.
Например:
В МТ4 этот момент стал легче за счет новых алгоритмов проверки корректности цен, что позволяет выставлять лимиты контроля дальше от рынка - это уменьшает количество реквотов.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Вот лог:
12:00:29 Expert 'HyperScan': Analysing EURUSD at 2005.05.05 10:00
13:00:28 Expert 'HyperScan': Analysing EURUSD at 2005.05.05 11:00
13:00:28 Expert 'HyperScan': Trade signal: close sell #1222877 EURUSD
13:00:28 Expert 'HyperScan': close #1222877 0.60 lots at 1.2978 [slippage 3]
13:00:28 '10107': close order #1222877 at price 1.2978
13:00:32 '10107': requote 1.2974 / 1.2977
13:00:32 '10107': close order #1222877 at price 1.2977
13:00:54 '10107': requote 1.2972 / 1.2975
14:02:34 Expert 'HyperScan': Analysing EURUSD at 2005.05.05 12:02
15:01:13 Expert 'HyperScan': Analysing EURUSD at 2005.05.05 13:00
Во-первых, непонятно почему идет "requote", разве Instant Execution не работает?
Во-вторых, не понятно почему не закрылись после "requote", ведь slippage был 3 пункта,
и разница между полученными котировками и ценой закрытия была не более 2 пунктов?
Заранее спасибо за помощь