Достаточность средств для отложенного ордера.

 

Создаю эксперта для торговой платформы MT4.

 

Ход действий эксперта был следующим:

1. Эксперт проверил функций AccountFreeMarginCheck достаточность средств для  торгового приказа sell объемом 0.02, и при успешной проверки отправил  торгового приказ  sell limit объемом 0.02. 

2. К моменту достижения цены открытия ордера sell limit объемом 0.02 средств оказалось недостаточно и сервер удалил данный ордер. 

 

В тестере выглядит это так:

 

 

Как избавится от таких предупреждений в тестере, а то модератор не пропускает  эксперта в маркет?

Или необходимо в каждом тике проверять достаточность средств для отложенных ордеров и удалять их самостоятельно? 

 
Evgenij Lihouzov:

Создаю эксперта для торговой платформы MT4.

 

Ход действий эксперта был следующим:

1. Эксперт проверил функций AccountFreeMarginCheck достаточность средств для  торгового приказа sell объемом 0.02, и при успешной проверки отправил  торгового приказ  sell limit объемом 0.02. 

2. К моменту достижения цены открытия ордера sell limit объемом 0.02 средств оказалось недостаточно и сервер удалил данный ордер.

Положить больше денег
 
Evgenij Lihouzov:

Создаю эксперта для торговой платформы MT4.

 

Ход действий эксперта был следующим:

1. Эксперт проверил функций AccountFreeMarginCheck достаточность средств для  торгового приказа sell объемом 0.02, и при успешной проверки отправил  торгового приказ  sell limit объемом 0.02. 

2. К моменту достижения цены открытия ордера sell limit объемом 0.02 средств оказалось недостаточно и сервер удалил данный ордер. 

 

В тестере выглядит это так:

 

 

Как избавится от таких предупреждений в тестере, а то модератор не пропускает  эксперта в маркет?

Или необходимо в каждом тике проверять достаточность средств для отложенных ордеров и удалять их самостоятельно? 

Ну проверьте достаточность при подходе к ордеру, за пару пунктов. Если не хватает то удалите.
 
Evgenij Lihouzov:

Как избавится от таких предупреждений в тестере, а то модератор не пропускает  эксперта в маркет?

Или необходимо в каждом тике проверять достаточность средств для отложенных ордеров и удалять их самостоятельно? 

Опишите ситуацию модератору.

Вы не можете со 100% точностью рассчитать необходимую в будущем маржу. И удалять ордер вручную незачем.

А если упрется из самодурства, поставьте заплатку для проверки в маркете (например, заведомо меньший лот при тесте). 

 
Andrey Khatimlianskii:

Опишите ситуацию модератору.

Вы не можете со 100% точностью рассчитать необходимую в будущем маржу. И удалять ордер вручную незачем.

А если упрется из самодурства, поставьте заплатку для проверки в маркете (например, заведомо меньший лот при тесте). 

Никакие доводы не помогут. Я тоже проходил эту процедуру. У них нет понимания, что в mql4 нет таких функций которые есть в mql5. Ответ один: "Ошибок не должно быть..." и всё тут...

Правда у меня советник мартин и лот там был далеко не 0.02 и следовательно проверка AccountFreeMarginCheck() помогла.

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

 
Alexey Viktorov:

Никакие доводы не помогут. Я тоже проходил эту процедуру. У них нет понимания, что в mql4 нет таких функций которые есть в mql5. Ответ один: "Ошибок не должно быть..." и всё тут...

Правда у меня советник мартин и лот там был далеко не 0.02 и следовательно проверка AccountFreeMarginCheck() помогла.

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

У меня другой опыт, на встречу идут. Бывает.

А абсолютное значение лота роли не играет, если шаг маленький, то ошибка все равно проявится. Тут, скорее, важно расстояние до ордера (на сколько изменится залоговая сумма при новом значении).

 
Andrey Khatimlianskii:

У меня другой опыт, на встречу идут. Бывает.

А абсолютное значение лота роли не играет, если шаг маленький, то ошибка все равно проявится. Тут, скорее, важно расстояние до ордера (на сколько изменится залоговая сумма при новом значении).

В общем-то да. Но в этом частном случае надо просто для конкретного участка тестирования, суммы депозита, плеча и лота подобрать необходимый алгоритм и пусть в других местах эта ошибка проявляется. Ну какая проблема в том что сервер удалил ордер???

Или писать свою функцию проверки. Но как быть с кроссами? Как угадать какой будет курс этих валют к баксу? В общем точно посчитать вряд-ли возможно.

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

дык пользователь тогда видит причину - нет средств, а как по другому этот вопрос решить? если я удалю все ордера заранее - алгоритму = хана! и потом точно будут недовольные покупатели

 

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

 

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

 
Vladislav Andruschenko:

дык пользователь тогда видит причину - нет средств, а как по другому этот вопрос решить? если я удалю все ордера заранее - алгоритму = хана! и потом точно будут недовольные покупатели

 

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

 

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

Этот вопрос решается через глобальную переменную терминала, к которой обращаются все советники.
Причина обращения: