AccountFreeMargin() в MQL 4 работает некорректно

 
Такое впечатление, что AccountFreeMargin() работает некорректно.
Для получения плавающего числа лотов при работе эксперта в МТ 3 я использовал
параметр INVEST=Normalize(FreeMargin/1000-0.05,1);
Я вставлял его вместо параметра Lots при открытии новой позиции. Работало все замечательно. При высокой прибыльности эксперта прибыль росла по экспоненте
благодаря тому, что в игру вступал каждый раз весь депозит. Впрочем, можно и регулировать процент его участия путем увеличения делителя с 1000 до бесконечности.
После перехода на МТ 4 я переписал строчку на
INVEST=NormalizeDouble(AccountFreeMargin()/1000-0.05,1);
Эксперт стал работать непредсказуемо, то останавливаясь после первой сделки, то просто занижая по непонятному закону число лотов.
Сейчас у меня стоит МТ 4 б.182 от 14.09
 
А почему Вы думаете, что маржевые требования всегда $1000 за лот?
 
В данном случае это не имеет значения. Только что я проверил на паре USD/CHF,
где именно такие требования. Эксперт отработал одну сделку, увеличил депозит с
300 долл. до 364 при 0.3 лота и встал. Проверить можно на любом эксперте.
При установке депозита в 1000 долл. эксперт начал с 1 лота, прибавил 215, получив 1215, после чего открыл позицию почему-то 0.2 лот, сделал тейкпрофит, прибавив 147, затем с депозита 1362 открылся 1.1 лотом. Всех этих чудес не было
в МТ 3.
 
Поставь на любой график в эксперт
Comment(AccountFreeMargin());
и постоянно сравнивай с тем, что у тебя в Терминале на закладке Торговля.
У меня пока все совпадает.
 
Тема уже поднималась, но проблема осталась.
"AccountFreeMargin() и AccountBalance()"