Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // you can copy and paste this into a javascript console
- // This will split a MTGox order into a number of orders.
- // fill in your order in MTgox as usual but before pressing
- // "BUY" copy paste this code into a javascript console.
- // by vongesell
- var ntrades = 5; // number of orders
- var percent = 0.02; // price distribution.
- // 0.02 = %2 from bid/ask price set in mtgox UI
- var v = tb.trade.getQuoteVars();
- var rate_min = parseFloat(v.rate) - parseFloat(v.rate) * percent / 2;
- var rate_max = parseFloat(v.rate) + parseFloat(v.rate) * percent / 2;
- var total_left = v.total;
- var rates = [];
- var volumes = [];
- for (var i = ntrades - 1; i >= 0; i--) {
- var rate = Math.random() * (rate_max - rate_min) + rate_min;
- var volume = Math.random() * (total_left / rate);
- if (i == 0)
- /* last -- use all funds */
- volume = total_left / rate;
- var total_left = total_left - (volume * rate);
- total_left = total_left.toFixed(7); // grr
- volumes[i] = volume;
- rates[i] = rate;
- console.log("rate: "+rates[i]+ " vol:" + volumes[i] + " cost:"+(volume * rate)+" leftover:" + total_left)
- }
- msg = "Randomly distributed orders to place:\n\n";
- msg += "[rate], [amount], [total cost]\n\n"
- for (var i = ntrades - 1; i >= 0; i--) {
- msg+= ""+rates[i].toFixed(7)+ ",\t" + volumes[i].toFixed(7) + ",\t"+(rates[i] * volumes[i]).toFixed(4)+"\n";
- }
- msg += "\nCancel and run again to change distribution.\n"
- if (confirm(msg)) {
- var _price = $('.trade-price').val();
- var _amount = $('#trade-amount').val();
- for (var i = ntrades - 1; i >= 0; i--) {
- $('.trade-price').val(rates[i].toFixed(7));
- if ('BTC' === v.activeCurrency)
- $('#trade-amount').val(volumes[i]);
- else
- $('#trade-amount').val(volumes[i]*rates[i]);
- tb.trade.addOrder();
- }
- $('.trade-price').val(_price);
- $('#trade-amount').val(_amount);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement