Stratégie d'équilibre sur une seule plateforme

Auteur:Nul, Date: 14 août 2014 20:20:48
Les étiquettes:Le solde

Si la valeur de la pièce est supérieure au solde de la pièce est supérieure à 5000 et la différence est supérieure à la dépréciation, par exemple, si la pièce est maintenant de 6000 dollars, on vend 6 000/2 pièces, c'est-à-dire si la pièce est en hausse, on change l'argent, si la pièce est dépréciée, par exemple 4000, on achète 5 000-4 000/4 000/2 pièces, on en achète de nouveau quand la pièce est en baisse, et si elle est en baisse, on la vend de nouveau, comme si c'était un équilibre, une couverture différente des deux côtés, donc je l'appelle une stratégie d'équilibre


/*backtest
start: 2018-03-01 00:00:00
end: 2018-08-01 11:00:00
period: 15m
exchanges: [{"eid":"OKCoin_EN","currency":"BTC"}]
*/

function CancelPendingOrders() {
    var ret = false;
    while (true) {
        var orders = null;
        while (!(orders = exchange.GetOrders())) {
            Sleep(Interval);
        }

        if (orders.length == 0) {
            return ret;
        }

        for (var j = 0; j < orders.length; j++) {
            exchange.CancelOrder(orders[j].Id);
            ret = true;
            if (j < (orders.length-1)) {
                Sleep(Interval);
            }
        }
    }
    return ret;
}

var InitAccount = null;

function onTick() {
    var acc = _C(exchange.GetAccount);
    var ticker = _C(exchange.GetTicker);
    var spread = ticker.Sell - ticker.Buy;
    var diffAsset = (acc.Balance - (acc.Stocks * ticker.Sell)) / 2;
    var ratio = diffAsset / acc.Balance;
    LogStatus('ratio:', ratio, _D());
    if (Math.abs(ratio) < threshold) {
        return false;
    }
    if (ratio > 0) {
        var buyPrice = _N(ticker.Sell + spread, ZPrecision);
        var buyAmount = _N(diffAsset / buyPrice, XPrecision);
        if (buyAmount < MinStock) {
            return false;
        }
        exchange.Buy(buyPrice, buyAmount, diffAsset, ratio);
    } else {
        var sellPrice = _N(ticker.Buy - spread, ZPrecision);
        var sellAmount = _N(-diffAsset / sellPrice, XPrecision);
        if (sellAmount < MinStock) {
            return false;
        }
        exchange.Sell(sellPrice, sellAmount, diffAsset, ratio);
    }
    return true;
}

function main() {
    InitAccount = _C(exchange.GetAccount);
    LoopInterval = Math.max(LoopInterval, 1);
    while (1) {
        if (onTick()) {
            Sleep(1000);
            CancelPendingOrders();
            Log(_C(exchange.GetAccount));
        }
        Sleep(LoopInterval * 1000);
    }
}

Relationnée

Plus de

le brouillageC'est une stratégie légendaire du 50-50, pas besoin de fréquences élevées.

Des robots quantifiésL'idéal n'est pas réalisable, les conditions ne peuvent être qu'une seule transaction. Par exemple, le Bitcoin contre l'USD, la condition initiale est que le plus d'argent dans le compte, moins de pièces, vous pouvez, si inversement, vomir du sang.

Je vous en prie.L'idée est unique, apprise, merci de la partager.

le momoxLe chemin vers Jane, la phrase est utilisée dans cette stratégie ne convient plus, mais le code simple, qui est en fait la stratégie la plus magique, adorant

Les petits arbustes du SudC'est censé être un marché aux pièces, un marché aux taureaux.