Частичное закрытие позиции

 

Допустим я открыл позицию BUY на 0.15 лота, как можно, если вообще возможно, закрыть с этой позиции 0.05 лота? MINLOT=0.1 и LOTSTEP=0.01

 
Zebra:

Допустим я открыл позицию BUY на 0.15 лота, как можно, если вообще возможно, закрыть с этой позиции 0.05 лота? MINLOT=0.1 и LOTSTEP=0.01


Открыть встречную позицию (частично локировать) лотом 0.05 и встречно закрыть с пом OrderCloseBy(...); https://docs.mql4.com/ru/trading/OrderCloseBy При этом тикет родительской позиции изменится.

Для этого MINLOT д.б. = 0.01 При MINLOT=0.1 вариантов не видно.

OrderClose( ... ) c параметром lots=0.05 при MINLOT=0.1 скорее всего не сработает.

 
Если бы можно было, то это была бы лазейка для открытия ордеров меньше 0.1. Т.е. открыл 0.15 и тут же закрыл 0.14. :-)
 
Zebra:

Допустим я открыл позицию BUY на 0.15 лота, как можно, если вообще возможно, закрыть с этой позиции 0.05 лота? MINLOT=0.1 и LOTSTEP=0.01


В текущей реализации это сделать нельзя. В терминале выполняется проверка на все операции по заданным ограничениям, в том числе по MINLOT и LOTSTEP. Хотя по логике ограничение не должно применяться к закрытию ордеров. Эта проблема уже была обозначена и разработчикам высказано пожелание изменить это правило в MQL5.
Причина обращения: