Tâche terminée
![](https://c.mql5.com/i/avatar/avatar_na2.png)
Spécifications
Задача классическая. Нужно написать функцию (отдельно для МТ4 и МТ5) double Lots(string symbol, double price, double sl_cost, int sl_pips, bool sell), возвращающую объем (sell ? SELL : BUY)-позиции, открытой для инструмента symbol по цене price, который (объем) удовлетворяет условию: при закрытии без проскальзывания данной позиции по стоплоссу, стоящему на расстоянии sl_pips пунктов от цены price, убыток в валюте депозита без учета комиссии брокера должен быть максимально близким (насколько это позволяет дискретность объема) к числу sl_cost. Если цена price не равна текущей (расчет производиться для отложенного ордера), то результат, как известно, может зависеть от будущих значений цен некоторых других инструментов; в этом случае расчет допускается приближенным. Критически важно, чтобы функция Lots корректно работала для любых торговых инструментов (проверьте, пожалуйста, для валют, включая кросс-курсы, а также для индексов, металлов, акций и фьючерсов) и у любых брокеров (проверьте на Alpari, ForexClub, Roboforex, ICMarkets). Благодарю за внимание!