Berechnen Sie die Einnahmen separat (Code von null)

Schriftsteller:Das Gras, Datum: 21.10.2014 20:55:57
Tags:Werkzeug

Die Erträge können zusammen mit der Strategie gesetzt werden, aber sie sind besser, wenn sie unabhängig voneinander ausgeführt werden. Gründe: (1) Die Erträge werden nicht neu eingestellt, wenn die Transaktionspolitik geändert wird. (2) Die Ertragsberechnung selbst ruft die API-Funktion an, was häufig zu einem Netzwerkfehler der Strategie-API führt, der den Transaktionsbetrieb beeinflusst und die Möglichkeit reduziert, dass die Transaktionen unabhängig voneinander ausgeführt werden. (3) Die Zyklusintervalle können angepasst werden.



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);
    }
}

Verwandt

Mehr