Ограничение на количество одновременно открытых позиций. Вопрос к разработчикам.

 
У некоторых ДЦ выставляется ограничение на количество одновременно открытых позиций на счету. Как из терминала узнать сколько позиций можно держать открытыми? (Искал среди функций выдающих информацию о счете, но не обнаружил). Или это ограничение не встроено в сервер и является отсебятиной самих ДЦ?

Вопрос весьма актуален в связи с возросшим интересом к Carry Trade.

Ну и к тому же ограничения были на Чемпионате по автотрейдингу 2006 и наверняка будут в 2007 г. Поэтому контроль за открытыми позициями лучше сделать универсальным, т.е. встроить в алгоритм советника, а не вшивать в код и не втыкать вручную во внешние переменные в виде констант.
 
Ограничение на максимальное количество открытых ордеров является стандартной функцией сервера и используется для предотвращения спама (в первую очередь - гридеров). Обычно это около 100 ордеров или вообще без ограничений. Точную информацию можно узнать в службе поддержки своего брокера.

Пока из MQL4 нельзя получить точное значение ограничения, но можно точно сказать - если возник вопрос о потенциальном превышении, то значит применяемая торговая стратегия очень и очень спорная.

При превышении разрешенного количества ордеров (открытых позиций + отложенных ордеров) функция OrderSend вернет код ERR_TRADE_TOO_MANY_ORDERS.
 
Renat:
Ограничение на максимальное количество открытых ордеров является стандартной функцией сервера и используется для предотвращения спама (в первую очередь - гридеров). Обычно это около 100 ордеров или вообще без ограничений. Точную информацию можно узнать в службе поддержки своего брокера.

Пока из MQL4 нельзя получить точное значение ограничения, но можно точно сказать - если возник вопрос о потенциальном превышении, то значит применяемая торговая стратегия очень и очень спорная.

При превышении разрешенного количества ордеров (открытых позиций + отложенных ордеров) функция OrderSend вернет код ERR_TRADE_TOO_MANY_ORDERS.
Если защищать от гридеров, то следовало бы ограничить количество одновременно открытых отложек. Или же задействовать такую защиту только при наличии хотя-бы одной отложки. А здесь ни от чего защиты нет, даже наоборот, т.к. у трейдера на счету есть свободная маржа, но он не может ее задействовать, поскольку стоит ограничение. Т.е. трейдеров ограничивают в возможностях инвестиций.

И то что, OrderSend возвращает ERR_TRADE_TOO_MANY_ORDERS только после того, как значение количества ордеров превышено - это тоже не по людски сделано. Правильнее было бы контролировать процесс в самом начале, например таким макаром?

if (OrdersTotal() >= AccountOrdersLimit()) {
Alert("Too Many Open Orders. Please change dealing center!");
return(0);
}

Потому что, коли в советнике заведомо не предусмотрена возможность контроля за количеством разрешенного лимита открытых ордеров заранее, то он как раз и начнет заниматься спамом. Т.е. пытаться раз за разом открыть позицию и в ответ будет получать ошибку, адекватную реакцию на которую никак невозможно заложить в алгоритм советника. Потому как только трейдер может отреагировать на такое, т.е. сменить ДЦ.
 
Ну, или как альтернативу, можно было оставить ограничение на количество одновременных ордеров, при условии, что запрет действует только на отложенные позиции. Т.е. если открываться по рынку при наличии положительной и достаточной свободной маржи, то можно. А вот, при попытке выставить отложенный ордера, будет выскакивать ERR_TRADE_TOO_MANY_ORDERS. Тогда дейтвительно будет защита от гридерства. А так получается только искусственное занижение ликвидности по финансовым инструментам.
 
Это ограничение от спама (гридерство - лишь один из вариантов).

Совершенно реальное правило - "если возникает вопрос о превышениях количества ордеров или частоты торговых операций, то значит надо менять торговую стратегию, а не пытаться изменить правила торгового сервера". Со стороны сервера будет только усиление правил. Некоторые трейдеры не всегда правильно пользуются мощью автоматического трейдинга и своими действиями (обычно разного рода спам) приводят к урезанию возможностей. Иногда брокеры просто запрещают автотрейдинг.

Кратко - старайтесь до минимума снижать объем торговых операций и не захламлять торговый сервер своей многоуровневой логикой. Компромиссов точно не будет.
 
Renat:

Кратко - старайтесь до минимума снижать объем торговых операций и не захламлять торговый сервер своей многоуровневой логикой. Компромиссов точно не будет.
Cпасибо за правдивый ответ!

Теперь будем знать, что MetaQuotes Software Corp. в качестве своей приоритетной политики выбрала бескомпромисную борьбу с любой многоуровневой логикой (добавлено модератором: а именно - гридерство, десятки и сотни периодически устанавливаемых и удаляемых бесполезных ордеров). Последую Вашему же полезному совету и снижу до минимума нагрузку торговых серверов MetaQuotes Software Corp., дабы они не захламлялись, путем отказа от использования ее торговых терминалов, т.е. до 0 торговых операций.

Засим прощаюсь!
 
Ваше право. Только не надо из себя строить обиженного и выдавать перекрученные выводы.
 
Renat:
Ваше право. Только не надо из себя строить обиженного и выдавать перекрученные выводы.
А я и не обижаюсь. Даже, более того, прошу извинить меня за то что , открывая ордера на Ваших серверах, думал будто торговал, а на самом деле захламлял их. Так, что уж, если сможете, то простите меня за это самое захламление серверов. Виноват, исправлюсь - больше открывать на них ничего не буду. В понедельник все позиции закрою и все.
 
Ради бога, только Вы забыли вторую часть моей просьбы - "не надо выдавать перекрученные выводы".

Вы явным образом пытаетесь для публики выстроить связь:
  • "нормальная торговля" = "спам, против него борятся разработчики"
хотя отлично понимаете, что связь совершенно другая:
  • "гридерство, многоуровневая логика на массовых удаляемых/переносимых ордерах" = "спам, против которого борятся".

Не нужно пытаться на нашем форуме так по-детски выдавать ложные выводы и подменять понятия. Мы постоянно предупреждаем трейдеров о недопустимости тех или иных действий и стараемся заранее предостеречь от ошибок.
 
Renat:
Ради бога, только Вы забыли вторую часть моей просьбы - "не надо выдавать перекрученные выводы".

Вы явным образом пытаетесь для публики выстроить связь:
  • "нормальная торговля" = "спам, против него борятся разработчики"
хотя отлично понимаете, что связь совершенно другая:
  • "гридерство, многоуровневая логика на массовых удаляемых/переносимых ордерах" = "спам, против которого борятся".

Не нужно пытаться на нашем форуме так по-детски выдавать ложные выводы и подменять понятия. Мы постоянно предупреждаем трейдеров о недопустимости тех или иных действий и стараемся заранее предостеречь от ошибок.
ОК. Раз уж представитель компании, что называется, не следит за базаром, то отвечу. Бог с ним, т.е. с термином "захламляют" вместо термина "торгуют".

Бред удален.
 
Вопрос с Вами закрыт.

Как я вижу, Вы целенаправленно подменяете понятия и пытаетесь увести дело в сторону. Придется с Вами распрощаться без сожаления.
Причина обращения: