实际交易数量与exchange.Buy设置的数量不符。

Auteur:Les notes, Créé: 2018-03-05 18:18:47, Mis à jour: 2018-03-05 18:19:29

下面是我用的测试大吗,非常简单,每个小时以市价购入10个ETH,初试价格是10000,但是在模拟回测的时候发现每次都显示交易成功,但是交易的量都不是10.

function onTick() {
    var id = exchange.Buy(-1, 10);
    Log("Order Id:", id);
    Log(exchange.GetOrder(id));
    Log(exchange.GetTrades());
    Log(exchange.GetAccount());
}

function main() {
    Log(exchange.GetAccount());
    while (true) {
        onTick();
        Sleep(3600 * 1000);
    }
}

Le journal de l'une de ces transactions

2018-03-05 06:00:25		信息	{"Balance":9699.61809,"Stocks":0.33250049999999987,"FrozenBalance":0,"FrozenStocks":0}
2018-03-05 06:00:24		信息	[{"Id":31,"Time":1520200824800,"Price":900,"Amount":1,"Type":1}]
2018-03-05 06:00:24		信息	{"Id":31,"Price":-1,"Amount":10,"DealAmount":10,"Type":0,"Status":1,"AvgPrice":900.01}
2018-03-05 06:00:24		信息	Order Id: 31
2018-03-05 06:00:24	OKCoin_EN	买入	市价	10

Savez-vous pourquoi?


Plus de

Je vous en prie.Si j'ai 100 yuans dans ma poche et que je dois m'empresser d'en acheter, vous me faites calculer le montant à court terme, je n'ai pas le temps.

Les notesSuper, tu as raison! Mais je pense que c'est facile à confondre, si vous définissez le prix, le deuxième paramètre est la quantité d'ETH, si le prix du marché, le deuxième paramètre est le dollar, l'API est mal conçue.

Le petit rêveIci, le 10 indiqué dans la liste de prix indique que ce n'est pas 10 pièces d'ETH, mais 10 dollars, vous utilisez ce var id = exchange.Buy ((-1, 10); le nombre 10 est changé en 900.

Le petit rêveL'interface API d'OKEX a été conçue de manière à ce que, si le prix du marché est acheté, il ne reçoive pas le montant de la commande, mais le prix de la commande (c'est-à-dire le montant représenté par la devise, en fonction du montant acheté, il n'est pas certain de la quantité de pièces d'opération) est vendu, mais le montant de la commande est transmis (le nombre de pièces d'opération) n'est pas demandé.