Very simple, just for learn. Code is best annotation.
La compra por encargo de icebergs, que divide los pedidos en pequeñas compras de M, para evitar impactos en el mercado, es una buena estrategia de aprendizaje para entrar en el comercio cuantitativo de Bitcoin.
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
}
}
}