Могут ли 2 эксперта одновременно торговать на одном инструменте, не мешая друг другу в MT5?

 
Здравствуйте. Программирую на mql4. Появилась необходимость написать немного кода на mql5. Но все никак не могу понять как работать с ордерами и позициями. Представим такую ситуацию: рыночных ордеров нет, первый эксперт входит в рынок, после чего, второй эксперт тоже входит, таким же лотом, только в противоположную сторону. Все. Позиции нет. Как быть? Стоп приказы закрывают всю позицию. Как выставить стоп-приказы, что бы случайно не закрыть "чужую" часть позиции? В голову приходит только выставить лимитный ордер нужным объемом. Magic number, теперь, может быть полезен только что бы по истории пошариться? При параллельной торговле он не спасет? Прошу не бить меня справочником. Перечитал кучу статей типа "mql5 для начинающих", "торговые операции в mql5", "использование orderMagic...", и т. п, но так и не смог представить себе как будет происходить параллельная торговля.
 
Maks_Knyazev:
Здравствуйте. Программирую на mql4. Появилась необходимость написать немного кода на mql5. Но все никак не могу понять как работать с ордерами и позициями. Представим такую ситуацию: рыночных ордеров нет, первый эксперт входит в рынок, после чего, второй эксперт тоже входит, таким же лотом, только в противоположную сторону. Все. Позиции нет. Как быть? Стоп приказы закрывают всю позицию. Как выставить стоп-приказы, что бы случайно не закрыть "чужую" часть позиции? В голову приходит только выставить лимитный ордер нужным объемом. Magic number, теперь, может быть полезен только что бы по истории пошариться? При параллельной торговле он не спасет? Прошу не бить меня справочником. Перечитал кучу статей типа "mql5 для начинающих", "торговые операции в mql5", "использование orderMagic...", и т. п, но так и не смог представить себе как будет происходить параллельная торговля.
с недавних пор уже могут
 
https://www.mql5.com/ru/articles/2299
В MetaTrader 5 добавлена хеджинговая система учета позиций
В MetaTrader 5 добавлена хеджинговая система учета позиций
  • 2016.03.21
  • MetaQuotes Software Corp.
  • www.mql5.com
Чтобы расширить возможности трейдеров ритейл-форекса, в платформу добавлена вторая система учета — хеджинг. Теперь по инструменту можно иметь множество позиций, в том числе — разнонаправленных. Это позволяет реализовывать торговые стратегии с так называемым локированием — если цена пошла против трейдера, он имеет возможность открыть позицию в противоположном направлении.
 
Maks_Knyazev:
Здравствуйте. Программирую на mql4. Появилась необходимость написать немного кода на mql5. Но все никак не могу понять как работать с ордерами и позициями. Представим такую ситуацию: рыночных ордеров нет, первый эксперт входит в рынок, после чего, второй эксперт тоже входит, таким же лотом, только в противоположную сторону. Все. Позиции нет. Как быть? Стоп приказы закрывают всю позицию. Как выставить стоп-приказы, что бы случайно не закрыть "чужую" часть позиции? В голову приходит только выставить лимитный ордер нужным объемом. Magic number, теперь, может быть полезен только что бы по истории пошариться? При параллельной торговле он не спасет? Прошу не бить меня справочником. Перечитал кучу статей типа "mql5 для начинающих", "торговые операции в mql5", "использование orderMagic...", и т. п, но так и не смог представить себе как будет происходить параллельная торговля.

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

Кто из брокеров использующих МТ5 будет давать такие счета - вот это вопрос. Все ли будут и кто сейчас их дает? 

 
На мой взгляд, довольно глупо ставить на один счет кучу экспертов. Сильно усложняется отслеживание работы каждого, да и коллизии между экспертами возможны (даже в МТ4, про МТ5 - и речи нет).
 
Сложность отслеживания заключается в невероятных усилиях требующихся для запуска скрипта.
 
Maks_Knyazev:
Здравствуйте. Программирую на mql4. Появилась необходимость написать немного кода на mql5. Но все никак не могу понять как работать с ордерами и позициями. Представим такую ситуацию: рыночных ордеров нет, первый эксперт входит в рынок, после чего, второй эксперт тоже входит, таким же лотом, только в противоположную сторону. Все. Позиции нет. Как быть? Стоп приказы закрывают всю позицию. Как выставить стоп-приказы, что бы случайно не закрыть "чужую" часть позиции? В голову приходит только выставить лимитный ордер нужным объемом. Magic number, теперь, может быть полезен только что бы по истории пошариться? При параллельной торговле он не спасет? Прошу не бить меня справочником. Перечитал кучу статей типа "mql5 для начинающих", "торговые операции в mql5", "использование orderMagic...", и т. п, но так и не смог представить себе как будет происходить параллельная торговля.

Да, в том случае, если счет работает без хеджирования (одна позиция), то только так и возможна работа нескольких экспертов на одном символе. Приказ об открытии позиции должен подаваться без установки стопов и профитов, а параллельно с ним нужно установить стоповый (аналог Stop Loss) и лимитный (аналог Take Profit) ордера. При этом добавляется необходимость отслеживания факта срабатывания этих ордеров. Как только один из них сработал, второй нужно срочно удалять. 

Да, достаточно сложно, но возможно.  

 
Maks_Knyazev:
Здравствуйте. Программирую на mql4. Появилась необходимость написать немного кода на mql5. Но все никак не могу понять как работать с ордерами и позициями. Представим такую ситуацию: рыночных ордеров нет, первый эксперт входит в рынок, после чего, второй эксперт тоже входит, таким же лотом, только в противоположную сторону. Все. Позиции нет. Как быть? Стоп приказы закрывают всю позицию. Как выставить стоп-приказы, что бы случайно не закрыть "чужую" часть позиции? В голову приходит только выставить лимитный ордер нужным объемом. Magic number, теперь, может быть полезен только что бы по истории пошариться? При параллельной торговле он не спасет? Прошу не бить меня справочником. Перечитал кучу статей типа "mql5 для начинающих", "торговые операции в mql5", "использование orderMagic...", и т. п, но так и не смог представить себе как будет происходить параллельная торговля.
Всё возможно. И ранее и сейчас. Просто роботов нужно писать учитывая неттинг. В этом случае придётся дополнительно организовывать механизм хранения всей информации об открытых позициях данным роботом. В мт4 это делать ненадо было - всё можно разрулить по магику.
 
Alexey Oreshkin:
Всё возможно. И ранее и сейчас. Просто роботов нужно писать учитывая неттинг. В этом случае придётся дополнительно организовывать механизм хранения всей информации об открытых позициях данным роботом. В мт4 это делать ненадо было - всё можно разрулить по магику.
Даааа... конечно возможнооо... Теоретически. 
 
Alexey Oreshkin:
Всё возможно. И ранее и сейчас. Просто роботов нужно писать учитывая неттинг. В этом случае придётся дополнительно организовывать механизм хранения всей информации об открытых позициях данным роботом. В мт4 это делать ненадо было - всё можно разрулить по магику.
И сейчас можно разрулить по магику. Просто учет должен вестись по отложенным ордерам, а не по позиции. Организовывать механизм хранения данных не нужно. Достаточно обновить их в момент прихода очередного тика, исходя из списка рабочих ордеров.
 
Один пример для отрезвления. На одном символе два эксперта, один купил, второй продавал, в сумме 0. Два эксперта в рынке, но в рынке шиш. Как вам такая жизнь?