Very simple, just for learn. Code is best annotation.
冰山委托买入,将订单分成小笔M买入,避免冲击市场,是很好的简单入门比特币量化交易的学习策略
function main(){ var initAccount = _C(exchange.GetAccount) while(true){ var account = _C(exchange.GetAccount) var dealAmount = account.Stocks - initAccount.Stocks var ticker = _C(exchange.GetTicker) if(BUYAMOUNT - dealAmount > BUYSIZE){ var id = exchange.Buy(ticker.Sell, BUYSIZE) Sleep(INTERVAL*1000) if(id){ exchange.CancelOrder(id) // May cause error log when the order is completed, which is all right. }else{ throw 'buy error' } }else{ account = _C(exchange.GetAccount) var avgCost = (initAccount.Balance - account.Balance)/(account.Stocks - initAccount.Stocks) Log('Iceberg order to buy is done, avg cost is ', avgCost) // including fee cost return } } }
小草 仅为教学目的,最简单的冰山策略。