下面是我用的测试大吗,非常简单,每个小时以市价购入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);
}
}
Log dari salah satu transaksi ini
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
Apakah Anda tahu alasannya?
DyahhuJika saya memiliki uang 100 yuan di kantong dan ingin membeli uang segera, Anda meminta saya untuk menghitung berapa banyak yang bisa saya beli sementara, saya belum punya waktu.
Tanda tanganiBagus, Anda benar! Tapi saya pikir ini mudah membingungkan, jika Anda menetapkan harga, parameter kedua adalah jumlah ETH, jika harga pasar, parameter kedua adalah dolar, API ini dirancang dengan buruk.
Penemu Kuantitas - Mimpi KecilDi sini, 10 yang ditransfer dengan daftar harga pasar, bukan 10 koin ETH, tetapi 10 dolar, Anda menggunakan var id = exchange.Buy ((-1, 10); jumlah 10 berubah menjadi 900 Cobalah, lihat apakah setelah membeli saham akan lebih dekat ke 1 ETH.
Penemu Kuantitas - Mimpi KecilIni juga dirancang untuk menghubungkan desain API dari bursa, seperti daftar harga OKEX, antarmuka API OKEX dirancang agar jika harga pasar dibeli, tidak menerima jumlah pesanan, hanya harga pesanan (yaitu jumlah yang diwakili oleh mata uang yang dihitung, berdasarkan jumlah yang dibeli, tidak pasti berapa banyak mata uang yang dioperasikan), menjual hanya dengan permintaan untuk mengirimkan jumlah pesanan (jumlah mata uang yang dioperasikan), tidak meminta harga.