A simple fixed-price stop-loss robot can help you stop losses. It's also a great introduction to quantitative digital currency trading.
### Parameters are:
StopPrice:Fixed price to stop loss
Intervel: Intervel(second) of checking coin price
function CancelPendingOrders() { var orders = _C(exchange.GetOrders); for (var j = 0; j < orders.length; j++) { exchange.CancelOrder(orders[j].Id, orders[j]); } } function StopLoss(){ var done = false while(!done){ var ticker = _C(exchange.GetTicker) account = _C(exchange.GetAccount) var price = ticker.Buy var amount = account.Stocks try{ if(amount > 0){ var id = exchange.Sell(price, amount); if(id){ exchange.CancelOrder(id) } else{ Log('all coins are sold') Log('total coins: ', account.Stocks) done = true } } }catch(err){ Log('error, stop') done = true } Sleep(1000); } } function main() { Log('robot starts to run') CancelPendingOrders() var account = _C(exchange.GetAccount) Log('total coins: ', account.Stocks); while(true){ var ticker = _C(exchange.GetTicker) if(ticker.Last <= StopPrice){ Log('Last price is:', ticker.Last, 'Stop price is: ', StopPrice) Log('the stop price has reached, start to sell') StopLoss(); break; } Sleep(Intervel*1000) } Log('robot has stopped') }
lerylinIs it possible that your listing seller is already larger than the real-time price, then your listing will not be transacted, so cancel immediately, re-check the latest sale price, re-list with the latest seller
xh69There is a question, why is it that after the sale, the sale order is cancelled immediately? var id = exchange.Sell ((price, amount); If ((id) { Exchange.CancelOrder (id) is the name of the exchange. I'm not sure.
lerylinIs it possible that your listing seller is already larger than the real-time price, then your listing will not be transacted, so cancel immediately, re-check the latest sale price, re-list with the latest seller