double set_order_lot (int perc_risk, int delta_stop, double max_lot_size) { double lot_size; if (!force_order_flag) { double risk_money = AccountFreeMargin() * perc_risk / money_mult1; //мы планируем рисковать в каждой сделке такой долей капитала lot_size = NormalizeDouble (risk_money / delta_stop * money_mult2 / MathPow(10, lot_digits), lot_digits) ; // размер лота if (lotsize_restrict_flag) { if (lot_size > max_lot_size) { lot_size = NormalizeDouble (max_lot_size, lot_digits); } } Print ("Функция вычисл. размера лота. Доступная сумма депозита = ", MathRound (AccountFreeMargin()), ", процент риска = ", perc_risk, "%, финансовый риск = ", MathRound(risk_money), ", стоп (пп.) = ", delta_stop, ", лот = ", lot_size); } else { lot_size = standart_lot; Print ("Функция вычисл. размера лота. Доступная сумма депозита = ", MathRound (AccountFreeMargin()), ", включен флаг принудительной установки размера лота. Лот = ", lot_size); } return (lot_size); } //set_order_lot()