Mengambil alih satu membeli atau menjual satu juga merupakan cara untuk menghantar secara perlahan, dengan kesan yang lebih kecil terhadap pasaran. Strategi ini juga mempunyai beberapa penambahbaikan, dengan mengubah jumlah perdagangan minimum atau ketepatan secara manual. Beli:https://www.fmz.com/strategy/191582Dijual:https://www.fmz.com/strategy/191730
Plugin ini boleh dimulakan dengan satu klik di terminal dagangan, tidak mengenakan bayaran, dan memudahkan dagangan manual.https://www.fmz.com/digest-topic/5051
function GetPrecision(){ var precision = {price:0, amount:0} var depth = exchange.GetDepth() for(var i=0;i<depth.Asks.length;i++){ var amountPrecision = depth.Asks[i].Amount.toString().indexOf('.') > -1 ? depth.Asks[i].Amount.toString().split('.')[1].length : 0 precision.amount = Math.max(precision.amount,amountPrecision) var pricePrecision = depth.Asks[i].Price.toString().indexOf('.') > -1 ? depth.Asks[i].Price.toString().split('.')[1].length : 0 precision.price = Math.max(precision.price,pricePrecision) } return precision } function main(){ var initAccount = exchange.GetAccount() if(!initAccount){return '无法获取账户信息'} var precision = GetPrecision() var buyPrice = 0 var lastId = 0 var done = false while(true){ var account = _C(exchange.GetAccount) var dealAmount = account.Stocks - initAccount.Stocks var ticker = _C(exchange.GetTicker) if(BuyAmount - dealAmount > 1/Math.pow(10,precision.amount) && ticker.Buy > buyPrice){ if(lastId){exchange.CancelOrder(lastId)} var id = exchange.Buy(ticker.Buy, _N(BuyAmount - dealAmount,precision.amount)) if(id){ lastId = id }else{ done = true } } if(BuyAmount - dealAmount <= 1/Math.pow(10,precision.amount)){done = true} if(done){ var avgCost = (initAccount.Balance - account.Balance)/dealAmount return 'order is done, avg cost is ' + avgCost // including fee cost } Sleep(Intervel*1000) } }