下面是我用的测试大吗,非常简单,每个小时以市价购入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);
}
}
この取引のログは
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
理由はご存知ですか?
ほら"100元持っていたら急いで買おう"と頼むと,暫定計算で何枚買えるか計算させてもらいます.
ミノート素晴らしい,あなたは正しい! しかし,私は簡単に混乱すると思う,価格を設定した場合,第2パラメータはETHの数,市場価格の場合,第2パラメータはドル,このAPIは設計が悪い.
発明者 量化 - 微かな夢市場価格表で入力した10は,10のETHではなく,10ドルを表しています.このvar id = exchange.Buy (−1,10) を使います. 10を900に変更します.
発明者 量化 - 微かな夢OKEXの価格表のような取引所のAPIのデザインも設計されている. OKEXのAPIインターフェースは,市場価格で購入した場合,下注金額を受け取らない限り,下注価格 (すなわち,取引所が代表する金額,この金額に基づいて購入,操作コインの量は多少かは不明) を要求するだけで,下注金額 (操作コインの数) を要求するだけで,価格を求めないように設計されている.