-
Notifications
You must be signed in to change notification settings - Fork 32
Home
TradeDangerous is set of powerful trading tools for Elite Dangerous, organized around one of the most powerful trade run optimizers (TRO) available.
The TRO is a heavy hitter that can calculate complex routes with multiple-stops while taking into account the profits you make along the route.
The price data in TradeDangerous is either manually entered (by you) or crowd sourced. (e.g. using the included eddblink plugin to access EDDN data.)
You're in a ship with 8 cargo spaces that can make 8.56 ly per jump; you're willing to make upto 2 jumps between stations, and we want to see how much money we can make if in 2 trade stops (hops).
trade.py run --credits 5000 --capacity 8 --ly-per 8.56 --jumps 2 --hops 2
If we ran this, TD would search the galaxy for trade runs. But it could take us days to reach some of them. So lets say we're currently at Kummer City in the Andere system.
trade.py run --from "andere/kummer city"
--credits 5000 --capacity 8 --ly-per 8.56 --jumps 2 --hops 2
(The above represents a single line)
That's a lot to type. TD is designed to support laziness when it comes to typing, so it allows for all kinds of short-cuts.
trade.py ru
--fr and/kumm find a station matching 'kumm' in a
system matching 'and'
--cr 5k 'k', 'm' and 'b' are recognized suffixes
--cap 8 8 units of cargo
--ly 8.56 maximum distance *per jump*
--ju 2 maximum 2 jumps
The default for hops is 2, so I didn't have to include it.
You can also use "=" to connect an option with its values:
trade.py ru --fr=and/kumm --cr=5k --cap=8 --ly=8.56 --ju=2
With the data at the time I write this, this produces:
ANDERE/Kummer City -> ANDERE/Malzberg Vision
ANDERE/Kummer City: 6 x Titanium, 2 x Polymers,
G 224-46/Lorrah Dock: 7 x Coltan, 1 x Lepidolite,
ANDERE/Malzberg Vision +8,032cr (502/ton)
This tells us our overall route (line #1), what load to pick up from the first station, what to sell it for and pick up at the second stop and where to finish and unload for our final profit.
Note that it could have just told us to pick up 6 Titanium (the max we could afford) or 8 Copper (the highest profit we could fill up with), Instead, TD crunched hard numbers and maximized the earnings of every cargo space AND credit.
Consider the last hop of a route as "best dumping ground". It is the only step TD doesn't think about "what next", so it's possible to arrive at a station that doesn't have much (or anything) worth buying. To avoid this, it's worth asking TD for 1 or 2 additional hops.
trade.py ru --fr=and/kumm --cr=6.2k --cap=8 --ly=8.56 --ju=2 --hops 5
ANDERE/Kummer City -> G 224-46/Lorrah Dock
ANDERE/Kummer City: 7 x Titanium, 1 x Copper,
G 224-46/Lorrah Dock: 8 x Coltan,
ANDERE/Maury Terminal: 2 x Indium, 4 x Titanium, 1 x Copper, 1 x Aluminium,
G 224-46/Lorrah Dock: 8 x Bertrandite,
ANDERE/Maury Terminal: 4 x Indium, 4 x Titanium,
G 224-46/Lorrah Dock +26,540cr (663/ton)
Malzberg was a great place to sell, but not such a great waypoint.
TD takes into account the money you make along a trip (see --margin), in the 5 hop route we see the cargo loads changing as TD sees you becoming able to afford more expensive-but-profitable wares. This is another reason it can pay to ask for more hops than you intend to make.
While one of TD's sub-commands, "nav", can help with that:
trade.py nav and/kumm --via g224-46 andere --ly=8.56
System JumpLy
-----------------
ANDERE 0.00
LTT 14542 6.16
G 224-46 3.71
LTT 14542 3.71
ANDERE 6.16
We can also just ask TD to give us more detail with our trade run using the "--show-jumps" option or it's short-cut "-J":
ANDERE/Kummer City -> ANDERE/Malzberg Vision
ANDERE/Kummer City: 6 x Titanium, 2 x Polymers,
Jump ANDERE -> LTT 14542 -> G 224-46
G 224-46/Lorrah Dock: 7 x Coltan, 1 x Lepidolite,
Jump G 224-46 -> LTT 14542 -> ANDERE
ANDERE/Malzberg Vision +8,032cr (502/ton)
All TD commands can be asked more or less detail using either "--detail" (short-cut -v) or "--quiet" (short-cut -q). These are incremental, so "-vvv" or "-v v v" ask for 3 levels of increase, "-qq" asks for 2 levels of quiet.
trade.py run --fr And/Kum --cr 5k --cap 8 --ly 8.56 -J -vv
ANDERE/Kummer City -> ANDERE/Malzberg Vision (score: 8035.649800)
Load from ANDERE/Kummer City (1.18Kls, BMk:N, Pad:L, Shp:Y, Out:Y, Ref:Y):
6 x Titanium 803cr vs 1,306cr, 20 days vs 53 days
2 x Polymers 76cr vs 280cr, 20 days vs 53 days
Jump ANDERE, 6.16ly -> LTT 14542, 3.71ly -> G 224-46
Unload at G 224-46/Lorrah Dock (729ls, BMk:N, Pad:M) => Gain 3,426cr (428.25cr/ton) => 8,426cr
Load from G 224-46/Lorrah Dock (729ls, BMk:N, Pad:M):
7 x Coltan 1,132cr vs 1,735cr, 53 days vs 8 days
1 x Lepidolite 428cr vs 813cr, 53 days vs 8 days
Jump G 224-46, 3.71ly -> LTT 14542, 6.16ly -> ANDERE
Unload at ANDERE/Malzberg Vision (493ls, BMk:N, Pad:L, Shp:Y, Out:Y, Ref:Y) => Gain 4,606cr (575.75cr/ton) => 13,032cr
----------------------------------------------------------------------------
Finish at ANDERE/Malzberg Vision (493ls, BMk:N, Pad:L, Shp:Y, Out:Y, Ref:Y) gaining 8,032cr (502cr/ton) => est 13,032cr total
There's a lot going on here: . Fine detail about stations (distance from star, has black market, etc), . "score" tells us how TD ranked this based on factors such as total gain, supercruise distances, number of jumps, etc, . Expected purchase/sale costs and rough data age (some crowd-sourced data can appear to be very old if it hasn't changed), . How much we expect to gain each hop and the cr/ton we make,
Most users tend to use the in-game route planner and prefer the cleaner "--summary" presentation:
trade.py run --fr And/Kum --cr 5k --cap 8 --ly 8.56 -vv --summary
ANDERE/Kummer City -> ANDERE/Malzberg Vision (score: 8035.649800)
Load from ANDERE/Kummer City (1.18Kls, BMk:N, Pad:L, Shp:Y, Out:Y, Ref:Y):
6 x Titanium 803cr vs 1,306cr, 20 days vs 53 days
2 x Polymers 76cr vs 280cr, 20 days vs 53 days
Expect to gain 3,426cr (428.25cr/ton)
Load from G 224-46/Lorrah Dock (729ls, BMk:N, Pad:M):
7 x Coltan 1,132cr vs 1,735cr, 53 days vs 8 days
1 x Lepidolite 428cr vs 813cr, 53 days vs 8 days
Expect to gain 4,606cr (575.75cr/ton)
----------------------------------------------------------------------------
Finish at ANDERE/Malzberg Vision (493ls, BMk:N, Pad:L, Shp:Y, Out:Y, Ref:Y) gaining 8,032cr (502cr/ton) => est 13,032cr total
So you installed TD and you got crazy and you asked it to calculate 150 hops for you, and there was silence. If you specify the "--progress" option it'll tell you what's going on.
At the moment, the primary interface to TradeDangerous' goodness is through a command line tool, "trade.py". I've built TD in a modular, open source way so that other programmers can use it to power their own tools; hopefully tools with web or graphical interfaces.
For instructions on how to get setup see the setup guide.