収益は,戦略と並べられるが,独立した方が良い.理由: (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); } }