SHOW:
|
|
- or go back to the newest paste.
| 1 | // you can copy and paste this into a javascript console | |
| 2 | - | var ntrades = 5; |
| 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 | - | var percent = 0.02; |
| 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 | - | msg += "[rate], [volume], [total cost]\n\n" |
| 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 | - | var _vol = $('#trade-amount').val();
|
| 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 | - | $('#trade-amount').val(volumes[i].toFixed(7));
|
| 40 | + | |
| 41 | msg += "\nCancel and run again to change distribution.\n" | |
| 42 | ||
| 43 | if (confirm(msg)) {
| |
| 44 | - | $('#trade-amount').val(_vol);
|
| 44 | + | |
| 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 | } |