View difference between Paste ID: tESPiTvg and hAm3bqfq
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
}