Терминал дублирует торговую команду.

 

Добрый день.

Столкнулся с проблемой.

Советник посылает команду открыть/закрыть позицию. Терминал посылает дополнительно такую же, еще одну команду:

.

Вкладка терминала "Эксперты":

...

..

Вкладка терминала "Журнал":

.

Лог терминала:

02:33:37 '*****': order buy market 0.01 EURUSD sl: 0.0000 tp: 0.0000
02:33:37 '*****': order buy market 0.01 EURUSD sl: 0.0000 tp: 0.0000
02:33:37 '*****': request was accepted by server
02:33:38 '*****': request in process
02:33:39 '*****': order was opened : #3880876 buy 0.01 EURUSD at 1.2892 sl: 0.0000 tp: 0.0000
02:33:38 '*****': request was accepted by server
02:33:38 '*****': request in process
02:33:39 '*****': order was opened : #3880877 buy 0.01 EURUSD at 1.2893 sl: 0.0000 tp: 0.0000
02:40:57 '*****': close order #3880876 buy 0.01 EURUSD at 1.2892 sl: 0.0000 tp: 0.0000 at price 0.0000
02:40:57 '*****': close order #3880877 buy 0.01 EURUSD at 1.2893 sl: 0.0000 tp: 0.0000 at price 0.0000
02:40:57 '*****': request was accepted by server
02:40:57 '*****': request in process
02:41:01 '*****': order #3880877 buy 0.01 EURUSD at 1.2893 sl: 0.0000 tp: 0.0000 closed at price 1.2896
02:40:57 '*****': request was accepted by server
02:40:57 '*****': request in process
02:41:01 '*****': order #3880876 buy 0.01 EURUSD at 1.2892 sl: 0.0000 tp: 0.0000 closed at price 1.2896

.

Вкладка терминала "История счета":

.

Обратите внимание, что эксперт дает одну команду на открытие и одну на закрытие(записи в вкладке терминала «Журнал»). А терминал посылает серверу две команды на открытие и две на закрытие(лог терминала).

.

Примечание:

1. Не зависит от типа исполнения(Market или Instant) брокером.

2. Не зависит от типа счета(Demo или Real).

3. Не зависит от брокера(ситуация возникает у нескольких разных брокерах).

4. Даная ситуация начала возникать в середине прошлой недели после переноса(сopy-paste) терминалов на новый сервер.

5. OS Vista, MT build 220.

.

На прошлой неделе просил брокеров прислать серверные логи при таких же ситуациях. Вот один из них, от другого счета:

2009.01.20 02:30:17 '*****': market sell 0.01 EURUSD sl: 0.00000 tp: 0.00000 (1.30110 / 1.30130)
2009.01.20 02:30:17 '*****': market sell 0.01 EURUSD sl: 0.00000 tp: 0.00000 (1.30110 / 1.30130)
2009.01.20 02:30:18 '*****': order #3825310, sell 0.01 EURUSD at 1.30110
2009.01.20 02:30:18 '*****': order #3825311, sell 0.01 EURUSD at 1.30110
2009.01.20 02:30:18 '*****': modify order #3825310, sell 0.01 EURUSD at 1.30110, sl: 0.00000 tp: 0.00000 -> sl: 1.32060 tp: 0.00000
2009.01.20 02:30:18 '*****': modify order #3825311, sell 0.01 EURUSD at 1.30110, sl: 0.00000 tp: 0.00000 -> sl: 1.32060 tp: 0.00000
2009.01.20 02:30:18 '*****': modified #3825310, sell 0.01 EURUSD at 1.30110, sl: 1.32060 tp: 0.00000
2009.01.20 02:30:18 '*****': modified #3825311, sell 0.01 EURUSD at 1.30110, sl: 1.32060 tp: 0.00000
...
2009.01.20 08:14:43 '*****': close market order #3825311 (sell 0.01 EURUSD at 1.30110) (1.29620 / 1.29640)
2009.01.20 08:14:43 '*****': request close sell 0.01 EURUSD added for proccessing (1.29620 / 1.29640 : 1.29620 / 1.29640)
2009.01.20 08:14:43 '*****': close market order #3825310 (sell 0.01 EURUSD at 1.30110) (1.29620 / 1.29640)
2009.01.20 08:14:44 '*****': close order #3825310 (sell 0.01 EURUSD at 1.30110) at 1.29640 completed
2009.01.20 08:14:44 '*****': close order #3825311 (sell 0.01 EURUSD at 1.30110) at 1.29640 completed

.

Вопросы:

1. В чем ошибка?

2. Почему терминал в одном торговом потоке посылает одновременно(видно из лога терминала) две торговые команды?

 
Возможно некорректная обработка при отправке команды на сервер. Ответа от сервера еще не было, что команда выполнена и идет повторная команда. После второй команды ответ есть. Похоже увеличились временные задержки при исполнении команды. Время надо увеличить на обработку команды сервером (сделать паузу после отправки команды больше или добавить, если не было).
 
Inc >>:

Добрый день.

Столкнулся с проблемой.

Советник посылает команду открыть/закрыть позицию. Терминал посылает дополнительно такую же, еще одну команду:

.

...

Вопросы:

1. В чем ошибка?

2. Почему терминал в одном торговом потоке посылает одновременно(видно из лога терминала) две торговые команды?

Уточнение:

Сколько процессов терминала у вас запущено? Каким образом вы запускаете терминал - в ручную или через командный файл с командной строкой?
В каком режиме работает терминал?


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

 

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

 
Alexander писал(а) >>

Уточнение:

Сколько процессов терминала у вас запущено?

...

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

Вы оказались правы. Встроенная учетная запись SYSTEM запускала лишние копии терминалов. Похоже, запускала их как службы, поэтому я и не видел запущенные копии.
Запускаем Диспетчер задач Windows, жмем "Отображать процессы всех пользователей". Видим лишние копии терминалов(напротив SYSTEM):

.

.
Спасибо всем кто принял участие в обсуждении.

 
Сергей #:

Вы оказались правы. Встроенная учетная запись SYSTEM запускала лишние копии терминалов. Похоже, запускала их как службы, поэтому я и не видел запущенные копии.
Запускаем Диспетчер задач Windows, жмем "Отображать процессы всех пользователей". Видим лишние копии терминалов(напротив SYSTEM):

.

.
Спасибо всем кто принял участие в обсуждении.

Когда то было похожее, но через беспроводный интернет,  исполнение заказывалось по пять и больше раз) и одно и тоже.
Причина обращения: