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

Schriftsteller:Anmerkungen, Erstellt: 2018-03-05 18:18:47, Aktualisiert: 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);
    }
}

Einer dieser Transaktionen ist Log.

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

Ich bin der Meinung, dass es eine gute Idee ist, das zu tun.


Mehr

Das ist alles.Wenn ich 100 Yuan in der Tasche habe und mich beeilen muss, um Geld zu kaufen, dann lasse ich mir vorübergehend ausrechnen, wie viel ich kaufen kann, denn ich habe keine Zeit mehr.

AnmerkungenIch denke, es ist einfach verwirrend, wenn man den Preis setzt, ist der zweite Parameter die Menge an ETH, wenn der Marktpreis, ist der zweite Parameter Dollar, die API ist schlecht konzipiert.

Kleine TräumeWenn Sie hier mit der Marktpreisliste 10 eingegeben haben, bedeutet das nicht 10 ETH, sondern 10 USD, und Sie verwenden die var id = exchange.Buy. ((-1, 10); die Zahl 10 wird auf 900 geändert.

Kleine TräumeDie OKEX-API-Schnittstelle ist so konzipiert, dass wenn der Marktpreis gekauft wird, kein Auftragsvolumen empfangen wird, sofern der Auftragspreis (d. h. der Betrag, der durch die Währung dargestellt wird, und nicht die Anzahl der Währungen bestimmt wird) gekauft wird, nur der Auftragsvolumen (die Anzahl der Währungen) eingegeben wird, ohne dass der Preis verlangt wird.