Advertisement
Guest User

mtgox split limit orders v2

a guest
Dec 5th, 2013
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // you can copy and paste this into a javascript console
  2. // This will split a MTGox order into a number of orders.
  3. // fill in your order in MTgox as usual but before pressing
  4. // "BUY" copy paste this code into a javascript console.
  5. // by vongesell
  6.  
  7. var ntrades = 5; // number of orders
  8. var percent = 0.02; // price distribution.
  9. // 0.02 = %2 from bid/ask price set in mtgox UI
  10.  
  11.  
  12. var v = tb.trade.getQuoteVars();
  13. var rate_min = parseFloat(v.rate) - parseFloat(v.rate) * percent / 2;
  14. var rate_max = parseFloat(v.rate) + parseFloat(v.rate) * percent / 2;
  15. var total_left = v.total;
  16. var rates = [];
  17.  
  18. var volumes = [];
  19.  
  20. for (var i = ntrades - 1; i >= 0; i--) {
  21. var rate = Math.random() * (rate_max - rate_min) + rate_min;
  22. var volume = Math.random() * (total_left / rate);
  23. if (i == 0)
  24. /* last -- use all funds */
  25. volume = total_left / rate;
  26.  
  27. var total_left = total_left - (volume * rate);
  28. total_left = total_left.toFixed(7); // grr
  29.  
  30. volumes[i] = volume;
  31. rates[i] = rate;
  32.  
  33. console.log("rate: "+rates[i]+ " vol:" + volumes[i] + " cost:"+(volume * rate)+" leftover:" + total_left)
  34. }
  35.  
  36. msg = "Randomly distributed orders to place:\n\n";
  37. msg += "[rate], [amount], [total cost]\n\n"
  38. for (var i = ntrades - 1; i >= 0; i--) {
  39. msg+= ""+rates[i].toFixed(7)+ ",\t" + volumes[i].toFixed(7) + ",\t"+(rates[i] * volumes[i]).toFixed(4)+"\n";
  40. }
  41. msg += "\nCancel and run again to change distribution.\n"
  42.  
  43. if (confirm(msg)) {
  44. var _price = $('.trade-price').val();
  45. var _amount = $('#trade-amount').val();
  46. for (var i = ntrades - 1; i >= 0; i--) {
  47. $('.trade-price').val(rates[i].toFixed(7));
  48. if ('BTC' === v.activeCurrency)
  49. $('#trade-amount').val(volumes[i]);
  50. else
  51. $('#trade-amount').val(volumes[i]*rates[i]);
  52. tb.trade.addOrder();
  53. }
  54. $('.trade-price').val(_price);
  55. $('#trade-amount').val(_amount);
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement