Прибыль может быть помещена вместе с политикой, но лучше выйти отдельно. Причина: 1, при изменении стратегии сделки при перерыве прибыль не будет перемещена. 2, прибыль сама по себе будет вызывать API-функцию, которая часто вызывает ошибки в сети API стратегии, влияющие на работу сделки. 3, можно настроить интервал цикла, чтобы уменьшить эту возможность.
function adjustFloat(v) { return Math.floor(v*1000)/1000; } function GetAccount() { var account; while (!(account = exchange.GetAccount())) { Sleep(1000); } return account; } function GetTicker() { var ticker; while (!(ticker = exchange.GetTicker())) { Sleep(1000); } return ticker; } function updateProfit(accountInit, accountNow, ticker) { var netNow = accountNow.Balance + accountNow.FrozenBalance + ((accountNow.Stocks + accountNow.FrozenStocks) * ticker.Buy); var netInit = accountInit.Balance + accountInit.FrozenBalance + ((accountInit.Stocks + accountInit.FrozenStocks) * ticker.Buy); LogProfit(adjustFloat(netNow - netInit), accountNow); } function main() { InitAccount = GetAccount(); while (true) { updateProfit(InitAccount, GetAccount(), GetTicker()); Sleep(5000); } }