Внесистемные ограничения как принципиальное нарушение свободы алго-трейдинга

 

Сегодня утром заметил странное явление - не выполнились рыночные заявки на продажу CFD на нефть по c RetCode=100015, и с некоторой новым описанием причины [Volume limit reached]. Стал разбираться что это за "Volume limit" - уже при ручной попытке открыть сделку оказалось что это какое-то новое ограничение на стороне MT5-Server, которое не учитывается ни в одном поле описания инструмента!

Т.е. у меня открытая позиция -10,3, я хочу открыть позицию еще на -5, а сервер заявку не принимает, ни в программном режиме ни в ручном, хотя лимит указанный в SymbolinfoDouble: SYMBOL_VOLUME_MAX  в размере 100 контрактов не достигнут! При этом SymbolinfoDouble: SYMBOL_VOLUME_LIMIT вообще указан 0, т.е.стандартно это значит "без ограничений". 

Т.е. пор сути получается что описания инструментов в SymbolinfoDouble - какая-то полная чушь, так как на стороне MT5-Server могут быть сконфигурированы иные ограничения/лимиты, отличные от данные полей и их значений, и таким образом полностью нарушен весь процесс алго-трейдинга.

Прошу рассмотреть это как критический баг в всей платформы MQL и убрать в следующей версии MT5-Server возможность выставлять на стороне какие-либо внесистемные ограничения на торговлю, т.е. ограничения которые  не отображаются и не выводятся через функции SymbolinfoХХХ.

Внесистемные огранчиения

 

VOLUME_LIMIT странный показатель, не все DC(сервера) им утруждаются. Поэтому в экземплярах "для маркета" он учитывается (без него валидация не проходит), а для себя любимого нет. Иначе робот может просто встать и ничего не делать на редком инструменте

 
Maxim Kuznetsov #:

VOLUME_LIMIT странный показатель, не все DC(сервера) им утруждаются. Поэтому в экземплярах "для маркета" он учитывается (без него валидация не проходит), а для себя любимого нет. Иначе робот может просто встать и ничего не делать на редком инструменте

Я подбирал опытным путем. Получилось по 200, причём отдельно в каждую сторону. И если в системе ==0 -> ставлю 200.

 
Gladiator WXT:

А отложек нет по этому инструменту? Лимит на позиции + ордера, может в этом дело..

Хотя, значение 0 намекает на то, что лимита быть не должно. Разве что он не подтянулся с сервера без перезагрузки терминала (только установили на сервере).

 
Andrey Khatimlianskii #:

А отложек нет по этому инструменту? Лимит на позиции + ордера, может в этом дело..

Хотя, значение 0 намекает на то, что лимита быть не должно. Разве что он не подтянулся с сервера без перезагрузки терминала (только установили на сервере).

Значение этого параметра не передается на клиента почти никогда. Перезагрузка - ни о чём.

 
Gladiator WXT:

Сегодня утром заметил странное явление - не выполнились рыночные заявки на продажу CFD на нефть по c RetCode=100015, и с некоторой новым описанием причины [Volume limit reached]. Стал разбираться что это за "Volume limit" - уже при ручной попытке открыть сделку оказалось что это какое-то новое ограничение на стороне MT5-Server, которое не учитывается ни в одном поле описания инструмента!

Т.е. у меня открытая позиция -10,3, я хочу открыть позицию еще на -5, а сервер заявку не принимает, ни в программном режиме ни в ручном, хотя лимит указанный в SymbolinfoDouble: SYMBOL_VOLUME_MAX  в размере 100 контрактов не достигнут! При этом SymbolinfoDouble: SYMBOL_VOLUME_LIMIT вообще указан 0, т.е.стандартно это значит "без ограничений". 

Т.е. пор сути получается что описания инструментов в SymbolinfoDouble - какая-то полная чушь, так как на стороне MT5-Server могут быть сконфигурированы иные ограничения/лимиты, отличные от данные полей и их значений, и таким образом полностью нарушен весь процесс алго-трейдинга.

Прошу рассмотреть это как критический баг в всей платформы MQL и убрать в следующей версии MT5-Server возможность выставлять на стороне какие-либо внесистемные ограничения на торговлю, т.е. ограничения которые  не отображаются и не выводятся через функции SymbolinfoХХХ.


Может считается как 500 CRUDOIL?

 

Сегодня было снова повторение этой ситуации - ночью советник не смогу открыть сделку по появившемуся сигналу, и затем утром при разборе ситуации я обнаружил, что даже через графический интерфейс для ручной торговли я не могу открыть 22 лота по мини-контрактам на USOIL(100бареллей на лот), при том что МТ5-Сервер транслирует показатель MaxVolume 100к. Скрин-шоты ситуации прилагаю.

Это просто смешно - проводятся какие-то там доработки под интеграцию с Python, применение моделей ONNX и пр. высокопарные доработки, и при этом на платформе МТ5 не обеспечивается константность алготрейдинга как такого - брокер может настраивать на Сервере МТ5 самые непредсказуемые ограничения на объемы торговых операций, которые не транслируются в показателе MaxVolume торгового инструмента. Советники в таких ситуациях просто "слепнут" - операция не проходит, определить допустимый объем для открытия сделки невозможно.

Прошу asp пропатчить на уровне МТ5 Сервера - все вводимые брокером ограничения должны транслироваться в Терминал МТ5, никакие "скрытые" настройки недопустимы.

Файлы:
mt5_VL-rr1.jpg  210 kb
mt5_VL-rr2.jpg  252 kb
 
В настройках есть контроль максимальной совокупной позиции по всем инструментам. Это используется для рискменеджмента.


Свяжитесь со своим брокером, чтобы они сняли или расширили лимит.

Из настроек его не получить, так как это контроль выше.
 
Renat Fatkhullin #:
В настройках есть контроль максимальной совокупной позиции по всем инструментам. Это используется для рискменеджмента.


Свяжитесь со своим брокером, чтобы они сняли или расширили лимит.

Из настроек его не получить, так как это контроль выше.

На скриншотах выше вроде бы позиций нет? Лимит может быть нулевым (запрещено торговать вообще)?