Pemesanan Iceberg sederhana

Penulis:Rumput, Tanggal: 2018-10-13 11:10:27
Tag:StudiBantuan perdaganganGunung es

Sangat sederhana, hanya untuk belajar. Kode adalah anotasi terbaik.

Iceberg menugaskan pembelian, membagi pesanan menjadi M kecil, membeli untuk menghindari kejutan pasar, adalah strategi belajar yang bagus untuk memulai perdagangan kuantitatif 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
        }
        
    }
}

Berkaitan

Lebih banyak

RumputUntuk tujuan pengajaran saja, strategi gunung es yang paling sederhana.