Very simple, just for learn. Code is best annotation.
Iceberg order buy, split the order into small M buy, avoid market shock, is a good simple introduction to Bitcoin quantitative trading learning strategy
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 } } }
The grassFor educational purposes only, the simplest iceberg tactics.