Советник считает лот от риска, риск задаётся во входных параметрах в процентах. Ставлю 1, 2, 5, в тестере всегда минимальный лот 0.01. Депозит 10 000, стоп 300 пунктов на EURUSD, при 2% должно выходить около 0.66. Ошибок в журнале нет, Print лота честно показывает 0.01. Функцию проверил глазами три раза. Куда смотреть?
Нашёл, и стыдно. Параметр объявлен как input int RiskPercent = 2, а в функции строка double risk = RiskPercent / 100; Целое делится на целое, получается ноль, деньги риска ноль, лот ноль. А дальше стояла проверка «если меньше минимального, взять минимальный», она две недели ошибку и прятала. Поменял на 100.0, лот 0.66. Проверку на минимальный убрал совсем: если лот меньше минимума, сделка пропускается с записью в журнал. kedr62, ноль вылез на первом же Print.