Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 988

 
paladin80:
Есть непоследовательность в данном подходе. Если ожидается открытие позиции уже в зоне заморозки (невозможности модифицикации) от отложенного ордера, то следовало бы изначально откладывать ордер при другой цене, на границе данной заморозки. Именно по этой причине ваш подход всё-таки многими тут неприемлен.

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

paladin80, все о чем вы пишете, я прекрасно знаю. И про заморозку и про разморозку и про границу и т.п.

Вопрос был лишь в том, нужно ли удалять отложенник и ставить обычный, если требуется (!) стратегией. 

То есть отложенник на расчетной цене "сейчас" не сработает (а нужно, чтобы сработал и ждать неприемлемо).   

Спасибо! 

 
mt4trade:

paladin80, все о чем вы пишете, я прекрасно знаю. И про заморозку и про разморозку и про границу и т.п.

Вопрос был лишь в том, нужно ли удалять отложенник и ставить обычный, если требуется (!) стратегией. 

То есть отложенник на расчетной цене "сейчас" не сработает (а нужно, чтобы сработал и ждать неприемлемо).   

Спасибо! 

Eсли бы такими скрупулёзными, как Вы, были ДЦешники в своём сервисе!
 
borilunad:
Eсли бы такими скрупулёзными, как Вы, были ДЦешники в своём сервисе!
Поверьте, это не важно. :)
 

Возможно ли програмно запросить у ДЦ допустимый лимит количества сделок?

Есть такая ошибка:

148

ERR_TRADE_TOO_MANY_ORDERS

Количество открытых и отложенных ордеров достигло предела, установленного брокером


и есть:

ACCOUNT_LIMIT_ORDERS

Максимально допустимое количество действующих отложенных ордеров (0-ограничений нет)


Это не совсем то, что нужно.

Нужен первый вариант, но не в виде ошибки.

Ошибку, конечно, по факту ДЦ пришлёт, но хотелось бы как-то заранее учесть. Можно руками выставлять, но напрягать пользователя выяснять и выставлять - это не самый удобный вариант.

Честно говоря, я даже в пятой версии не нашёл нужного параметра.

 
mt4trade:
Допустим, есть уже установленный отложенный ордер.
По индикатору двигаем его цену.
В один прекрасный момент ордер не может быть модифицирован, т.к. новая расчетная цена для него попала в запретный диапазон из-за стоплевелов, типа Ask/Bid +/- MarketInfo(Symbol(), MODE_STOPLEVEL / MODE_FREEZELEVEL) .

Но ордер непременно нужно открыть, уже "по рынку".

Что в этом случае можно сделать?

Удалить отложенный и открыть по рынку новый?

Или можно как-то отложенник превратить в открытый?

Отложенник в открытый "превратить" нельзя. Можно только войти по рынку.

Вы всё верно описали: нужно удалить отложенный (или лимитный) и войти в сделку по рынку.

Кому что близко - можете на это внимание не обращать. Если лично Вам необходимо через "правое ухо" что-то сделать, делайте. Каждый трейдер получает прибыль от своих решений.

 
Chiripaha:

Возможно ли програмно запросить у ДЦ допустимый лимит количества сделок?

...

Попробуйте AccountInfoInteger(). Для примера скрипт:

#property strict

void OnStart()
  {
   long amount=AccountInfoInteger(ACCOUNT_LIMIT_ORDERS);
   Print("Максимальное кол-во отложенных ордеров (0-ограничений нет) = ",IntegerToString(amount));
  }
 
digital:

Почему при отладке индикатора отладчик "падает" (т.к. идет доступ за границы массива), но в то же время на графике все рисуется нормально?

МТ4 билд 950, Альпари демка.

Индикатор во вложении. 

Юрий, Вы не по адресу задаёте данный вопрос, т.к. у данного индикатора есть конкретный автор, у которого, видимо, Вы его и скачали: https://www.mql5.com/en/code/7116

Будет абсолютно корректно и более верно задать именно ему эти уточняющие вопросы. Он Вам более оперативно и точно ответит. На английский свой вопрос можете через Гугл перевести: https://translate.google.ru/

 
paladin80:

Попробуйте AccountInfoInteger(). Для примера скрипт:

Я уже пробовал - он выдает лимит количества отложенных ордеров, но никак не лимит количества сделок. А мне нужно именно количество сделок. У разных брокеров это разное кол-во на разных типах счетов, поэтому возникает необходимость запрашивать лимиты.
 
Chiripaha:
Я уже пробовал - он выдает лимит количества отложенных ордеров, но никак не лимит количества сделок. А мне нужно именно количество сделок. У разных брокеров это разное кол-во на разных счетах, поэтому возникает необходимость запрашивать лимиты.
Понятно. Т.е. надо узнать сколько максимально можно иметь открытых позиций?
 
paladin80:
Понятно. Т.е. надо узнать сколько максимально можно иметь открытых позиций?
Да. Именно сделок. Правда, как я понял из описания 148-й ошибки, брокер учитывает и сделки и отложенные (лимитные) ордера. Но в моем случае отложек нет, т.к. вхожу по рынку, поэтому речь о сделках.
Причина обращения: