संसाधन लोड हो रहा है... लोड करना...

सरल आइसबर्ग बेचने का आदेश

लेखक:घास, दिनांकः 2018-10-13 11:22:03
टैगःअध्ययनव्यापार सहायता प्राप्तहिमशैल

बहुत सरल, सिर्फ सीखने के लिए। कोड सबसे अच्छा एनोटेशन है।

बर्फ के पहाड़ के आदेश को बेचने, आदेशों को छोटे पेन में विभाजित करने और बाजार को झटका देने से बचने के लिए, एक अच्छा सरल परिचय है


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
        }
    }
}

संबंधित

अधिक

घासशुरुआती लोगों के लिए विकल्प, प्रोग्रामेटिक लेनदेन पूरी रणनीति को पूरा करने के लिए नहीं है, लेकिन इस तरह के एक आइसबर्ग के रूप में छोटे कार्य को सौंप दिया जा सकता है