Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 988
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Eсли бы такими скрупулёзными, как Вы, были ДЦешники в своём сервисе!
Возможно ли програмно запросить у ДЦ допустимый лимит количества сделок?
Есть такая ошибка:
148
ERR_TRADE_TOO_MANY_ORDERS
Количество открытых и отложенных ордеров достигло предела, установленного брокером
и есть:
ACCOUNT_LIMIT_ORDERS
Максимально допустимое количество действующих отложенных ордеров (0-ограничений нет)
Это не совсем то, что нужно.
Нужен первый вариант, но не в виде ошибки.
Ошибку, конечно, по факту ДЦ пришлёт, но хотелось бы как-то заранее учесть. Можно руками выставлять, но напрягать пользователя выяснять и выставлять - это не самый удобный вариант.
Честно говоря, я даже в пятой версии не нашёл нужного параметра.
Допустим, есть уже установленный отложенный ордер.
По индикатору двигаем его цену.
В один прекрасный момент ордер не может быть модифицирован, т.к. новая расчетная цена для него попала в запретный диапазон из-за стоплевелов, типа Ask/Bid +/- MarketInfo(Symbol(), MODE_STOPLEVEL / MODE_FREEZELEVEL) .
Но ордер непременно нужно открыть, уже "по рынку".
Что в этом случае можно сделать?
Удалить отложенный и открыть по рынку новый?
Или можно как-то отложенник превратить в открытый?
Отложенник в открытый "превратить" нельзя. Можно только войти по рынку.
Вы всё верно описали: нужно удалить отложенный (или лимитный) и войти в сделку по рынку.
Кому что близко - можете на это внимание не обращать. Если лично Вам необходимо через "правое ухо" что-то сделать, делайте. Каждый трейдер получает прибыль от своих решений.
Возможно ли програмно запросить у ДЦ допустимый лимит количества сделок?
...Попробуйте AccountInfoInteger(). Для примера скрипт:
Почему при отладке индикатора отладчик "падает" (т.к. идет доступ за границы массива), но в то же время на графике все рисуется нормально?
МТ4 билд 950, Альпари демка.
Индикатор во вложении.
Юрий, Вы не по адресу задаёте данный вопрос, т.к. у данного индикатора есть конкретный автор, у которого, видимо, Вы его и скачали: https://www.mql5.com/en/code/7116
Будет абсолютно корректно и более верно задать именно ему эти уточняющие вопросы. Он Вам более оперативно и точно ответит. На английский свой вопрос можете через Гугл перевести: https://translate.google.ru/
Попробуйте AccountInfoInteger(). Для примера скрипт:
Я уже пробовал - он выдает лимит количества отложенных ордеров, но никак не лимит количества сделок. А мне нужно именно количество сделок. У разных брокеров это разное кол-во на разных счетах, поэтому возникает необходимость запрашивать лимиты.
Понятно. Т.е. надо узнать сколько максимально можно иметь открытых позиций?
Да. Именно сделок. Правда, как я понял из описания 148-й ошибки, брокер учитывает и сделки и отложенные (лимитные) ордера. Но в моем случае отложек нет, т.к. вхожу по рынку, поэтому речь о сделках.
1) Меня эта тема очень сильно тоже заинтересовала и провёл эсперимент. Есть у меня демка на MetaQuotes-Demo, с помощью скрипта, который я написла выше, нашёл, что макс. кол-во ордеров (как я понимаю и открытых и отложенных, их сумма) на этом сервере = 200. Руками открыл 200 позиций, а вот при попытке открыть 201 позицию выскочила ошибка: 2015.12.29 08:27:02.029 '7363947': order #0 sell 0.01 EURUSD at 1.09650 failed [Too many open orders].
2) Из 200 отрытых позиций закрыл 2. Создал 2 отложенника, и 3-ий отложенник не удалось открыть. Также не смог открыть новую позицию. Т.е. 198 открытых позиций + 2 отложенника = лимит на любого типа ордера.
Так что прихожу к выводу, что ACCOUNT_LIMIT_ORDERS показывает макс. кол-во всех ордеров на данном сервере, в том числе и для позиций.1) Меня эта тема очень сильно тоже заинтересовала и провёл эсперимент. Есть у меня демка на MetaQuotes-Demo, с помощью скрипта, который я написла выше, нашёл, что макс. кол-во ордеров (как я понимаю и открытых и отложенных, их сумма) на этом сервере = 200. Руками открыл 200 позиций, а вот при попытке открыть 201 позицию выскочила ошибка: 2015.12.29 08:27:02.029 '7363947': order #0 sell 0.01 EURUSD at 1.09650 failed [Too many open orders].
2) Из 200 отрытых позиций закрыл 2. Создал 2 отложенника, и 3-ий отложенник не удалось открыть. Также не смог открыть новую позицию. Т.е. 198 открытых позиций + 2 отложенника = лимит на любого типа ордера.
Так что прихожу к выводу, что ACCOUNT_LIMIT_ORDERS показывает макс. кол-во всех ордеров на данном сервере, в том числе и для позиций.Возможно, что у Метаквотов лимит отложек и сделок совпадают по кол-ву. Но реально это разные параметры. ACCOUNT_LIMIT_ORDERS показывает (по моим экспериментам) кол-во отложек. Я задавал запросы программно и не пробовал достичь лимита. Делал на примере Альпари нано-счет. У них лимит сделок 100 штук. А ACCOUNT_LIMIT_ORDERS - показывает лимит 47. Как я понял, - это именно отложенные ордера, поскольку абсолютно точно можно открыть 100 сделок (спецификация нано-счета). На стандартном счёте в Альпари можно открывать 500 сделок. А с большими деньгами (не помню кол-во) лимита нет. Но! на кол-во сделок, а не отложек, что правильно, т.к. иначе можно ДДОС атаку делать - забомбить брокера отложками - у него сервер свалится 1 млн отложек обрабатывать.
Кстати, в тестере стратегий лимит не срабатывает. Поэтому пробовать либо на демке, либо на реале.