Very simple, just for learn. Code is best annotation.
আইসবার্গ অর্ডার বিক্রয়, অর্ডারকে ছোট টুকরো টুকরো করে বিক্রি করা, বাজারকে ধাক্কা না দেওয়া, বিটকয়েন কোয়ান্টাম ট্রেডিংয়ের জন্য একটি ভাল এবং সহজ শিক্ষণ কৌশল
function main(){
var initAccount = _C(exchange.GetAccount)
if (initAccount.Stocks < SELLAMOUNT){
throw 'check your account amount to sell'
}
while(true){
var account = _C(exchange.GetAccount)
var dealAmount = initAccount.Stocks - account.Stocks
var ticker = _C(exchange.GetTicker)
if(SELLAMOUNT - dealAmount > SELLSIZE){
var id = exchange.Sell(ticker.Buy, SELLSIZE)
Sleep(INTERVAL*1000)
if(id){
exchange.CancelOrder(id) // May cause error log when the order is completed, which is all right.
}else{
throw 'sell error'
}
}else{
account = _C(exchange.GetAccount)
var avgCost = (account.Balance - initAccount.Balance)/(initAccount.Stocks - account.Stocks)
Log('Iceberg order to sell is done, avg price is ', avgCost) // including fee cost
return
}
}
}