Guest User

mtgox split limit orders

a guest
Dec 5th, 2013
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. var v = tb.trade.getQuoteVars();
  2. var ntrades = 5;
  3.  
  4. var percent = 0.02;
  5. var rate_min = parseFloat(v.rate) - parseFloat(v.rate) * percent / 2;
  6. var rate_max = parseFloat(v.rate) + parseFloat(v.rate) * percent / 2;
  7. var total_left = v.total;
  8. var rates = [];
  9.  
  10. var volumes = [];
  11.  
  12. for (var i = ntrades - 1; i >= 0; i--) {
  13. var rate = Math.random() * (rate_max - rate_min) + rate_min;
  14. var volume = Math.random() * (total_left / rate);
  15. if (i == 0)
  16. /* last -- use all funds */
  17. volume = total_left / rate;
  18.  
  19. var total_left = total_left - (volume * rate);
  20. total_left = total_left.toFixed(7); // grr
  21.  
  22. volumes[i] = volume;
  23. rates[i] = rate;
  24.  
  25. console.log("rate: "+rates[i]+ " vol:" + volumes[i] + " cost:"+(volume * rate)+" leftover:" + total_left)
  26. }
  27.  
  28. msg = "Randomly distributed orders to place:\n\n";
  29. msg += "[rate], [volume], [total cost]\n\n"
  30. for (var i = ntrades - 1; i >= 0; i--) {
  31. msg+= ""+rates[i].toFixed(7)+ ",\t" + volumes[i].toFixed(7) + ",\t"+(rates[i] * volumes[i]).toFixed(4)+"\n";
  32. }
  33. msg += "\nCancel and run again to change distribution.\n"
  34.  
  35. if (confirm(msg)) {
  36. var _price = $('.trade-price').val();
  37. var _vol = $('#trade-amount').val();
  38. for (var i = ntrades - 1; i >= 0; i--) {
  39. $('.trade-price').val(rates[i].toFixed(7));
  40. $('#trade-amount').val(volumes[i].toFixed(7));
  41. tb.trade.addOrder();
  42. }
  43. $('.trade-price').val(_price);
  44. $('#trade-amount').val(_vol);
  45. }
Advertisement
Add Comment
Please, Sign In to add comment