Отдельно рассчитывать прибыль (код исходит из нуля)

Автор:Трава, Дата: 21-10-2014 20:55:57
Тэги:Инструмент

Прибыль может быть помещена вместе с политикой, но лучше выйти отдельно. Причина: 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);
    }
}

Связанные

Больше