Нужна помощь как обновить терминал МТ5? - страница 2

 
Rashid Umarov:

Это означает, что версия вашего терминала выше, чем версия на сервере валидации.  Попробуйте скомпилировать последним официальным билдом.

Вроде система Live-Update должна поставлять только официальные билды. Бета версиями я ни разу не пользовался. Буду разбираться.

Alexey Viktorov:
Где-то Ренат писал что пока нельзя в маркет выставлять советники если использовалась группировка входных параметров. В вашем советнике нет такого?

У меня как раз присутствует group в параметрах. Сейчас попробую скомпилировать без него.

 

Всё таки group был виноват. Спасибо за помощь!

Теперь валидация завершается сообщениями следующего плана:

failed request buy 60.12 GBPUSD at 1.41258  sl: 1.40758 tp: 1.42505 [Volume limit reached]

При чем, наблюдается это только на длинных позициях. В коде эксперта я обязательно проверяю объем для входа в позицию на превышение SYMBOL_VOLUME_MAX. Так что, по идее, подобных сообщений вылетать не должно. Но они появляются. В чем может быть причина?

Я сделал советник для разгона депозита, так что максимально возможный объем для входа играет очень важную роль. Но как узнать действительный максимальный объем, если сделки не открываются даже со значениями объема близкими к SYMBOL_VOLUME_MAX?

Проверку на достаток средств на депозите выполняю согласно статье: https://www.mql5.com/ru/articles/2555#not_enough_money

Получается, расчётный объем проходит как данную проверку, так и проверку на превышение SYMBOL_VOLUME_MAX,прежде чем войти в рынок. Но при валидации всё равно вылетает сообщение, которое я привёл выше.

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Для получения текущей рыночной информации служат функции SymbolInfoInteger(), SymbolInfoDouble() и SymbolInfoString(). В качестве второго параметра этих функций допустимо передавать один из идентификаторов из перечислений ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE и ENUM_SYMBOL_INFO_STRING соответственно. Некоторые символы (как...
 
Mihail Matkovskij:

Всё таки group был виноват. Спасибо за помощь!

Теперь валидация завершается сообщениями следующего плана:

failed request buy 60.12 GBPUSD at 1.41258  sl: 1.40758 tp: 1.42505 [Volume limit reached]

***

А это случайно не ошибка 10034?

10034

TRADE_RETCODE_LIMIT_VOLUME

The volume of orders and positions for the symbol has reached the limit

 
Vladimir Karputov:

А это случайно не ошибка 10034?

10034

TRADE_RETCODE_LIMIT_VOLUME

The volume of orders and positions for the symbol has reached the limit

Во время валидации этого нельзя узнать, так как сервер такую информацию не выводит для пользователя. У себя в логах посмотрел, но там только ошибки связанные с нулевым объёмом:

2019.11.27 10:54:08.895 Core 1 2019.10.21 00:09:00   failed instant sell 0.00 CADJPY at 82.560 sl: 83.460 tp: 81.660 [Invalid volume]

Которые я благополучно убрал.

По инструменту GBPUSD (на котором крашнула валидация) у меня вообще никаких ошибок за целый месяц тестирования эксперта.

Хочу попробовать сделать проверку максимально возможного лота, как в методе MaxLotCheck класса CAccountInfo, стандартной библиотеки. Или использовать данный класс с этой функцией для проверки расчётного объема перед входом. Как Вам такая идея, Владимир?

 
Mihail Matkovskij:

Во время валидации этого нельзя узнать, так как сервер такую информацию не выводит для пользователя. У себя в логах посмотрел, но там только ошибки связанные с нулевым объёмом:

Которые я благополучно убрал.

По инструменту GBPUSD (на котором крашнула валидация) у меня вообще никаких ошибок за целый месяц тестирования эксперта.

Хочу попробовать сделать проверку максимально возможного лота, как в методе MaxLotCheck класса CAccountInfo, стандартной библиотеки. Или использовать данный класс с этой функцией для проверки расчётного объема перед входом. Как Вам такая идея, Владимир?

Вы всё-таки введите проверки на ошибку 10034.

 
Vladimir Karputov:

Вы всё-таки введите проверки на ошибку 10034.

Хорошо, учту. Хоть эксперт входит у меня только одной позицией на один символ.

 
Mihail Matkovskij:

Хорошо, учту. Хоть эксперт входит у меня только одной позицией на один символ.

Сейчас Вы говорите как человек "живущий" только в идеальном пространстве на идеальном торговом сервере. В реальности на торговом сервере может быть просто огромное количество ограничений: начиная от ограничений на уровне аккаунта, до ограничений по каждому торговому символу.

И как человек пытающийся пройти в Маркет Вы просто обязаны предусмотреть любые варианты.

 
Vladimir Karputov:

Сейчас Вы говорите как человек "живущий" только в идеальном пространстве на идеальном торговом сервере. В реальности на торговом сервере может быть просто огромное количество ограничений: начиная от ограничений на уровне аккаунта, до ограничений по каждому торговому символу.

И как человек пытающийся пройти в Маркет Вы просто обязаны предусмотреть любые варианты.

Это понятно. Лишних проверок не бывает. Грамотный код, а также нормальное его функционирование, прежде всего!

 
Vladimir Karputov:

А это случайно не ошибка 10034?

10034

TRADE_RETCODE_LIMIT_VOLUME

The volume of orders and positions for the symbol has reached the limit

Добавил проверку на максимально допустимый объем с учётом всех открытых ордеров и позиций. Теперь эксперт проходит валидацию. Получается, на счёт TRADE_RETCODE_LIMIT_VOLUME Вы попали в точку. Спасибо за помощь!

 
Господа  у меня проблема с обновой. выдает сообщения что обнова загрузился и просит перезагрузит. Перезагружаю но все равно остается в старом билде. что делать как решить проблему? билд 2361.
Причина обращения: