Very simple, just for learn. Code is best annotation.
Продажа по заказу “Айсберга” (Iceberg) - это хорошая и простая стратегия для обучения количественному трейдингу в биткоине. Продажа в небольших порциях позволяет избежать рыночного удара. Плагин может быть запущен одним нажатием на торговом терминале, без взимания платы, чтобы упростить ручную торговлю. Подробнее: https://www.fmz.com/digest-topic/5051
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)
return 'Iceberg order to sell is done, avg price is ' + avgCost
}
}
}