Cоветник создаёт дубли лотов

 
Здравствуйте. Занимаюсь написанием своего советника и в ходе тестирования столкнулся с такой проблемой: открываю ордер допустим с лотом в 0.1, выставляю sl и tp, ордер закрывается по tp, только в этот момент до закрытия tp, появляется ещё несколько ордеров с 0.1. Итого закрывается большее количество лотов, например 0.4. Из-за чего может быть?
 

"Виновата не бобина"

 вам сюда

Клуб Телепатов - MQL4 форум
  • www.mql5.com
Клуб Телепатов - MQL4 форум
 
Вот два скрина. Одни чуть после открытия. Второй сразу после закрытия
Файлы:
1.png  91 kb
2.png  105 kb
 
код где??
 
pako:
код где??

Уже нашёл в чём дело. Судя по всему мой брокер не поддерживает торговлю микролотами на демо счете. При изменении лота до 1 проблема исчезла.

А насчёт кода... Нереально создать такую ситуацию с помощью ошибки в коде. По сути ордера открывались задним числом. Было бы это реально - все бы стали миллионерами :) 

 
Нет. Ошибка сохраняется. Просто при лоте в 1 маржи не хватает на открытие более 1 за раз. 
 
Для локализации проблемы сделал генерацию случайного числа в комментарий. Для дублирующих ордеров получается одно и то же число в комментариях. Значит советник приказ отсылает один раз, а исполняется он несколько раз. 
Файлы:
3.png  104 kb
 

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

Мой советник, судя по всему, успевал отослать следующий приказ до исполнения на сервере текущего из-за этого проверка на количество ордеров не помогала. Решил проблему просто: вызываю Sleep() на две минуты после отправки запроса.  

 
Fannasankh:

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

Мой советник, судя по всему, успевал отослать следующий приказ до исполнения на сервере текущего из-за этого проверка на количество ордеров не помогала. Решил проблему просто: вызываю Sleep() на две минуты после отправки запроса.  

Вы ещё долго будете сам с собой разговаривать - хотите помощи ? код где ? 

Дайте парням код и они помогут 

 
Fannasankh:

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

Мой советник, судя по всему, успевал отослать следующий приказ до исполнения на сервере текущего из-за этого проверка на количество ордеров не помогала. Решил проблему просто: вызываю Sleep() на две минуты после отправки запроса.  

Ну ведь Вам хотели помочь, намекали показать код - т.к. только код виноват во всём, что происходит с нами. Если есть проблема, то здесь в первую очередь показывают проблемный код.
 

Несмотря на то, что у меня был Internet  с 1998 года, со скоростью 3.5 KB/сек., но вы меня не найдете ни в фейсбуке или в однокласнике и нигде.

Это первый форум, где я зарегистрировался в начале этого года.

И не удивительно, что этот форум мне очень нравится.  Иногда здесь более интересно, чем в программе "Comedy Club".  :) 

 

 P.S.  А что означает Fannasankh  ?

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