In-Development TradeDangerous: power-user trade optimizer

The import was failing, it was not importing the bad data. The only thing you could not do was import the bad data.

Code:
trade.py import --plug=maddavo 
<bad error>
trade.py run --from sol ... 
<still works, has old data>

Unfortunately that's not how it was. It was stuck at rebuilding the cache file and it tried to rebuild it and fail with every call of trade.py, so it was indeed broken. Here is some output from yesterday:

Code:
trade.py local --ly=0 Branglal
NOTE: Rebuilding cache file: this may take a moment.
Traceback (most recent call last):
  File "trade.py", line 102, in <module>
    main(sys.argv)
  File "trade.py", line 52, in main
    tdb = tradedb.TradeDB(cmdenv, load=cmdenv.wantsTradeDB)
  File "/Users/andreas/Documents/EliteData/tradedangerous/tradedb.py", line 537, in __init__
    self.reloadCache()
  File "/Users/andreas/Documents/EliteData/tradedangerous/tradedb.py", line 607, in reloadCache
    cache.buildCache(self, self.tdenv)
  File "/Users/andreas/Documents/EliteData/tradedangerous/cache.py", line 998, in buildCache
    processImportFile(tdenv, tempDB, Path(importName), importTable)
  File "/Users/andreas/Documents/EliteData/tradedangerous/cache.py", line 885, in processImportFile
    for linein in csvin:
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/codecs.py", line 313, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 147-148: invalid continuation byte

It downloads the data to "import.prices". Then it tries to import that.

If that succeeds, it renames your data/TradeDangerous.prices to data/TradeDangerous.prev and then it generates a new TradeDangerous.prices.

So ... you're already pretty well covered :)

Ok, I didn't know that. But does it rename the old file before it imports? Because it never finished importing, and just left itself in a corrupted state.
 
Unfortunately that's not how it was. It was stuck at rebuilding the cache file and it tried to rebuild it and fail with every call of trade.py, so it was indeed broken. Here is some output from yesterday:

Code:
trade.py local --ly=0 Branglal
NOTE: Rebuilding cache file: this may take a moment.
Traceback (most recent call last):
  File "trade.py", line 102, in <module>
    main(sys.argv)
  File "trade.py", line 52, in main
    tdb = tradedb.TradeDB(cmdenv, load=cmdenv.wantsTradeDB)
  File "/Users/andreas/Documents/EliteData/tradedangerous/tradedb.py", line 537, in __init__
    self.reloadCache()
  File "/Users/andreas/Documents/EliteData/tradedangerous/tradedb.py", line 607, in reloadCache
    cache.buildCache(self, self.tdenv)
  File "/Users/andreas/Documents/EliteData/tradedangerous/cache.py", line 998, in buildCache
    processImportFile(tdenv, tempDB, Path(importName), importTable)
  File "/Users/andreas/Documents/EliteData/tradedangerous/cache.py", line 885, in processImportFile
    for linein in csvin:
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/codecs.py", line 313, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 147-148: invalid continuation byte



Ok, I didn't know that. But does it rename the old file before it imports? Because it never finished importing, and just left itself in a corrupted state.

Ah - that's not the same error. The ".csv" files don't get "imported", they are brute-force overwrites of the ones you had, no safety buffer. The "good stuff" is all in the import of prices.
 
Code:
>trade.py import --plug=maddavo --opt=stncsvConnecting to server: [URL]http://www.davek.com.au/td/station.asp[/URL]
data/Station.csv: 400,787/400,787 bytes |   0.77MB/s | 100.00%
Connecting to server: [URL]http://www.davek.com.au/td/prices-2d.asp[/URL]
import.prices: 4,724,545/4,724,545 bytes | 638.55KB/s | 100.00%
NOTE: Rebuilding cache file: this may take a moment.
*** INTERNAL ERROR: NOT NULL constraint failed: Station.system_id
CSV File: P:\Program Files (x86)\td\data\Station.csv:1797
SQL Query: INSERT INTO Station (system_id,name,ls_from_star,blackmarket,max_pad_size) VALUES((SELECT System.system_id FROM System WHERE System.name = ?),?,?,?,?)
Params: ['CANOPUS', "Rangarajan's Base", '0', '?', '?']

Line 1796-1798 of station.csv

Code:
'CANDIAEI','Lloyd Dock',0,'?','?'
'CANOPUS','Rangarajan''s Base',0,'?','?'
'CANTJARISNI','Cochrane Enterprise',6,'N','L'

The error is caused by the CANOPUS system missing from system.csv. It would be *nice* if the error message (which I appreciate is from the SQL engine) was a bit more helpful. :)
 
I've had a number of people asking me about using Python to access TD for themselves - people just wondering what's involved for curiosity sake and folks who would like an opportunity to see some Python for themselves.

To this end, I've put together a quick walk-through to do a few neat things that show off Python and using TD in an interactive python specifically. You went to all that hassle of installing Python on your computer, you don't have to install anything else to do this, and you don't have to become a programmer to try it, but you might get a sense of how fun it can be for those tickled by that kind of thing.

https://bitbucket.org/kfsone/tradedangerous/wiki/Python Quick Peek
 
BUT some systems are huge and not scrollable beyond the screen limits even when fully zoomed out

I have never seen such behavior, can you list few systems that are too large to fit into system map?

I found an example system - SHEELA NA GIG.
I just get a gas giant with a line going off to the right and nothing to click on to go further to the right. This may be a bug or it may just be that I only have partial data for the system, not sure.

Screenshot_0002.jpg
 
I found an example system - SHEELA NA GIG.
I just get a gas giant with a line going off to the right and nothing to click on to go further to the right. This may be a bug or it may just be that I only have partial data for the system, not sure.


Yes, it seems you have only partial data, but anyway you should be able to scroll inside the system window using your left and right mouse button pressed down. So you shall also get access to the two stations at the very right side.

EliteDangerous32 2015-02-06 14-20-59-38.jpg
 
Code:
v6.9.0 Feb 06 2015
[color=gold]. (kfsone) Added "--towards" option to "run" command:
       --towards GOALSYSTEM will restrict the route to destinations which
       move the player towards GOALSYSTEM.[/color]
. (kfsone) Added "distanceTo" function to "System" which returns the
       distance in ly to a second system,
. (kfsone) Minor performance gain in distance calculations,

If anyone has any thoughts on improving the description of "--towards" in the readme, I'd be grateful.

Right now, I'm using it to help me find a run that will take me towards Liu Bese. Data out here is spotty and TD is designed to optimize profits, so it has a very hard time finding a route.

With this command, I'm using something like:

Code:
trade.py run --from LundwallCity --goal LiuBese ... --hops 5 --jumps 4

If it could reach LiuBese in 5 hops or less, it would stop. But it can't. Here's what I get for output:

Code:
$ trade.py run --from lundwallcity --towards liubese --ly=12.02 --cap=166 --cr=591833 --prog --hops=5 --ju=4 --ls-max=9000 -vv
* Hop   1: .........1 origins
* Hop   2: ........30 origins
* Hop   3: ........47 origins
* Hop   4: ........62 origins
* Hop   5: .......100 origins
LTT 1349/Lundwall City -> WARUTS/Burbank Ring (score: 1369152.074151)
[color=gold] [Distance to LIU BESE: 163.12 ly][/color]
  Load from LTT 1349/Lundwall City (111ls/star, No/bm, Lrg/pad):
      135 x Land Enrichment Systems      4,370cr each,    589,950cr total,data from 2 hrs vs 34 days
       11 x Aquaponic Systems              166cr each,      1,826cr total,data from 2 hrs vs 34 days
        2 x Biowaste                        20cr each,         40cr total,data from 2 hrs vs 34 days
  Jump LTT 1349 -> JIBITOQ -> LP 711-32
  Unload at LP 711-32/Bear Terminal (85ls/star, Yes/bm, Lrg/pad) => Gain 153,125cr (1,034.63cr/ton) => 744,958cr
[color=gold] [Distance to LIU BESE: 160.66 ly][/color]
  Load from LP 711-32/Bear Terminal (85ls/star, Yes/bm, Lrg/pad):
      166 x Animal Meat                  1,179cr each,    195,714cr total,data from 34 days vs 18 days
  Jump LP 711-32 -> LP 771-72 -> SHENETSERII -> ROSS 584 -> BORR
  Unload at BORR/Armstrong City (1,263ls/star, No/bm, Lrg/pad) => Gain 62,748cr (378cr/ton) => 807,706cr
[color=gold] [Distance to LIU BESE: 152.87 ly][/color]
  Load from BORR/Armstrong City (1,263ls/star, No/bm, Lrg/pad):
      123 x Performance Enhancers        6,558cr each,    806,634cr total,data from 18 days vs 33 days
        5 x Synthetic Meat                 180cr each,        900cr total,data from 18 days vs 33 days
  Jump BORR -> LHS 191 -> LTT 17686 -> ARGESTES -> LTT 17868
  Unload at LTT 17868/Giles Colony (764ls/star, No/bm, Med/pad) => Gain 125,453cr (980.102cr/ton) => 933,159cr
[color=gold] [Distance to LIU BESE: 121.57 ly][/color]
  Load from LTT 17868/Giles Colony (764ls/star, No/bm, Med/pad):
      166 x Gallium                      4,992cr each,    828,672cr total,data from 33 days vs 27 days
  Jump LTT 17868 -> LHS 1838 -> YGGDRAJANG -> ZANDU
  Unload at ZANDU/Frimout Horizons (419ls/star, No/bm, Lrg/pad) => Gain 122,176cr (736cr/ton) => 1,055,335cr
[color=gold] [Distance to LIU BESE: 106.99 ly][/color]
  Load from ZANDU/Frimout Horizons (419ls/star, No/bm, Lrg/pad):
      164 x Consumer Technology          6,407cr each,  1,050,748cr total,data from 27 days vs 27 days
        2 x Reactive Armour              1,721cr each,      3,442cr total,data from 27 days vs 27 days
  Jump ZANDU -> DUCAT -> WARUTS
  Unload at WARUTS/Burbank Ring (17ls/star, Unk/bm, Unk/pad) => Gain 183,368cr (1,104.63cr/ton) => 1,238,703cr
[color=gold] [Distance to LIU BESE: 96.12 ly][/color]
  ----------------------------------------------------------------------------
  Finish at WARUTS/Burbank Ring (17ls/star, Unk/bm, Unk/pad) gaining 646,870cr => est 1,238,703cr total

A hop can *never* go backwards, but it is allowed for both ends of a hop to be the same distance from the goal. This allows for some same-system hops, which is handy in sparse area of space where the station you're at might not have something worth trading.

However, if you don't want any same-system hops, just use --unique.

I could probably reach Liu Bese in this many jumps but I really need to make some money after my last set of upgrades, not least so I can buy a big enough FSD to make it to the Black Hole I want to go visit :)

Hope that some of you find this as useful as I do :)
 
Last edited:
That yellowish/orangeish color is barely readable from the white background, I had to select the whole text to read it. Just a helpful reminder of color usage in forum.
 
Some inputs of thought...

I've been using TradeDangerous for around a month now and I really love it. I have been mainly trading during this time as I like to truck around the galaxy.
Before TD I just had a couple of spreadsheets in Excel of my most visited places. When I heard of TD I immediately recognized that this would replace my spreadsheets and bring even much more.
I don't use OCR or any of that fancy pancy and I never will be. I want to maintain stations by hand, for me that seems like the proper way of playing. That said, I really don't care how others play and I am of course glad for all people that upload in whatever way to maddavo.

This post is not about bugs or things that need to be fixed, it's more thought as a theoretical discussion, just some stuff that is going through my mind.
There are mainly 2 'problems' I want to address.

1. The what I call 'ending-at-a-dump' problem. This concerns the usage without a destination like

trade.py run --fr=stationA --ly=X --cap=Y --cr=Z (--hops=Q)

(As I understand TD uses --hops=2 as default for runs when nothing else is specified?)

Often the last hop of a run (or the 2nd hop with default hops=2) ends you at a station that gives you max profit, but when you search for something to pick up from there you realize that there are no profitable runs from this station, so you end up picking a mission or some hydrogen fuel to just get away from that 'dump hole'.
To solve this problem, would it be feasible to just extend the hops by one internally but don't output it? This would decrease your immediate profit but ensure that there is actually a profitable continuation from the station you landed on the last hop.

2. The finding a trade route (circular) problem

So I just arrived in this new juicy neighborhood and want to pass some time around here searching for a profitable route. How do you guys approach this?

I used to just start trading around and after 5-10 trades I realized there are actually like 2-3 systems you jump to that bring you the most profit. So you make a route over these systems.
I wondered if that can be sped up. By playing around I realized you can often find such a route by increasing the --hops

e.g.

Code:
trade.py run --fr=Branglal/Skripochka --cap=100 --cr=500000 --ly=12.5 -vv         
BRANGLAL/Skripochka Gateway -> FK5 2550/Wundt Gateway (score: 213930.500560)
  Load from BRANGLAL/Skripochka Gateway (882ls/star, No/bm, Lrg/pad):
      100 x Advanced Catalysers       2486cr each,     248600cr total,data from 4 hrs vs 2 days
  Jump BRANGLAL -> LHS 1933 -> LHS 1914
  Unload at LHS 1914/Scheutz Hub (103ls/star, No/bm, Med/pad) => Gain 84900cr (849cr/ton) => 584900cr
  Load from LHS 1914/Scheutz Hub (103ls/star, No/bm, Med/pad):
       94 x Superconductors           6171cr each,     580074cr total,data from 2 days vs 11 days
        6 x Titanium                   803cr each,       4818cr total,data from 2 days vs 11 days
  Jump LHS 1914 -> FK5 2550
  Unload at FK5 2550/Wundt Gateway (154ls/star, No/bm, Lrg/pad) => Gain 128992cr (1289,92cr/ton) => 713892cr
  ----------------------------------------------------------------------------
  Finish at FK5 2550/Wundt Gateway (154ls/star, No/bm, Lrg/pad) gaining 213892cr => est 713892cr total
  
  
  trade.py run --fr=Branglal/Skripochka --cap=100 --cr=500000 --ly=12.5 --hops=3 -vv
BRANGLAL/Skripochka Gateway -> KAMCHATA/Schweickart Enterprise (score: 306121.632000)
  Load from BRANGLAL/Skripochka Gateway (882ls/star, No/bm, Lrg/pad):
      100 x Advanced Catalysers       2486cr each,     248600cr total,data from 4 hrs vs 2 days
  Jump BRANGLAL -> FK5 2550 -> DELPHIN
  Unload at DELPHIN/Clark Orbital (834ls/star, No/bm, Lrg/pad) => Gain 85300cr (853cr/ton) => 585300cr
  Load from DELPHIN/Clark Orbital (834ls/star, No/bm, Lrg/pad):
      100 x Gallium                   4683cr each,     468300cr total,data from 2 days vs 27 days
  Jump DELPHIN -> JITA TEN -> ZANDU
  Unload at ZANDU/Frimout Horizons (419ls/star, No/bm, Lrg/pad) => Gain 104500cr (1045cr/ton) => 689800cr
  Load from ZANDU/Frimout Horizons (419ls/star, No/bm, Lrg/pad):
      100 x Consumer Technology       6407cr each,     640700cr total,data from 27 days vs 5 days
  Jump ZANDU -> TASCHETER SECTOR FG-X B1-1 -> KAMCHATA
  Unload at KAMCHATA/Schweickart Enterprise (1216ls/star, No/bm, Med/pad) => Gain 116300cr (1163cr/ton) => 806100cr
  ----------------------------------------------------------------------------
  Finish at KAMCHATA/Schweickart Enterprise (1216ls/star, No/bm, Med/pad) gaining 306100cr => est 806100cr total
  
  
  trade.py run --fr=Branglal/Skripochka --cap=100 --cr=500000 --ly=12.5 --hops=5 -vv
BRANGLAL/Skripochka Gateway -> NIMA/Rushworth Terminal (score: 536501.318400)
  Load from BRANGLAL/Skripochka Gateway (882ls/star, No/bm, Lrg/pad):
      100 x Advanced Catalysers       2486cr each,     248600cr total,data from 4 hrs
  Jump BRANGLAL -> LIE ZIP -> MAIAWA
  Unload at MAIAWA/Clement Landing (no details) => Gain 87600cr (876cr/ton) => 587600cr
  Load from MAIAWA/Clement Landing (no details):
      100 x Silver                    4321cr each,     432100cr total,data from 4 hrs vs 36 hrs
  Jump MAIAWA -> LIE ZIP -> BRANGLAL
  Unload at BRANGLAL/Gibson Horizons (882ls/star, No/bm, Lrg/pad) => Gain 112400cr (1124cr/ton) => 700000cr
  Load from BRANGLAL/Gibson Horizons (882ls/star, No/bm, Lrg/pad):
      100 x Consumer Technology       6560cr each,     656000cr total,data from 36 hrs vs 4 hrs
  Jump BRANGLAL -> LIE ZIP -> MAIAWA
  Unload at MAIAWA/Clement Landing (no details) => Gain 96300cr (963cr/ton) => 796300cr
  Load from MAIAWA/Clement Landing (no details):
       90 x Gold                      8786cr each,     790740cr total,data from 4 hrs
       10 x Cobalt                     524cr each,       5240cr total,data from 4 hrs
  Jump MAIAWA -> LIE ZIP -> BRANGLAL
  Unload at BRANGLAL/Skripochka Gateway (882ls/star, No/bm, Lrg/pad) => Gain 141720cr (1417,2cr/ton) => 938020cr
  Load from BRANGLAL/Skripochka Gateway (882ls/star, No/bm, Lrg/pad):
      100 x Auto-Fabricators          3287cr each,     328700cr total,data from 4 hrs vs 9 days
  Jump BRANGLAL -> LHS 1933 -> NIMA
  Unload at NIMA/Rushworth Terminal (58ls/star, Yes/bm, Lrg/pad) => Gain 98400cr (984cr/ton) => 1036420cr
  ----------------------------------------------------------------------------
  Finish at NIMA/Rushworth Terminal (58ls/star, Yes/bm, Lrg/pad) gaining 536420cr => est 1036420cr total

As you can see, with --hops=5 TD suggest a route that jumps back and forth between Branglal and Maiawa, but not with --hops=2 or --hops=3.
This even works if you're currently not on one of these planets but just in the vicinity, it just needs 1-2 hops more.

Maybe this is useful for detecting good circular trade routes.

cheers to everybody that read through all of this. :)

regards
CMDR Carbo
 
Last edited:
That yellowish/orangeish color is barely readable from the white background, I had to select the whole text to read it. Just a helpful reminder of color usage in forum.

The default skin "Official Elite Theme" for this forum though is a black background. :) You can choose skins at the bottom left on the page.
 
Code:
v6.9.0 Feb 06 2015
[COLOR=gold]. (kfsone) Added "--towards" option to "run" command:
       --towards GOALSYSTEM will restrict the route to destinations which
       move the player towards GOALSYSTEM.[/COLOR]
. (kfsone) Added "distanceTo" function to "System" which returns the
       distance in ly to a second system,
. (kfsone) Minor performance gain in distance calculations,

If anyone has any thoughts on improving the description of "--towards" in the readme, I'd be grateful.

Love this feature. Would have helped me immensely over the last couple of weeks while I try to trade my way over 125ly to rejoin the ETA DRACONIS campaign in a new ship that had awful jump range.

how about:

Code:
v6.9.0 Feb 06 2015
[COLOR=gold]. (kfsone) Added "--towards" option to "run" command:
       --towards GOALSYSTEM may not maximise profit, but aims to
         produce a profitable route that ends closer to GOALSYSTEM
         than your starting point[/COLOR]
. (kfsone) Added "distanceTo" function to "System" which returns the
       distance in ly to a second system,

Your examples seem to be outputting the results of --distanceto argument, but you're not using it in the command? And what's with the (own) --goal ? ;)
 
Some inputs of thought...

I've been using TradeDangerous for around a month now and I really love it. I have been mainly trading during this time as I like to truck around the galaxy.
Before TD I just had a couple of spreadsheets in Excel of my most visited places. When I heard of TD I immediately recognized that this would replace my spreadsheets and bring even much more.
I don't use OCR or any of that fancy pancy and I never will be. I want to maintain stations by hand, for me that seems like the proper way of playing. That said, I really don't care how others play and I am of course glad for all people that upload in whatever way to maddavo.

<snip>

cheers to everybody that read through all of this. :)

regards
CMDR Carbo

I'd really recommend OCR. It gives you quite a lot of time back to actually play the game. And in my experience it's now more accurate than me typing in things by hand. I've tried typing, Windows Speech Recognition, and OCR.

Before you used TD you maintained your spreadsheets right? By using TD and maddavo, you do lose some of the 'jeopardy' of finding new data for yourself. You are 'told' by TD where to go to a certain extent.

FYI, there is a way around this, if you want to keep Elite 'real' and closer to when you used spreadsheets. Just maintain your own station.csv. Edit it, so that it only contains stations that you have personally visited. That way, TD will only give you routes for places you've already been and gathered your own data. When you visit a new station, just use trad.py station to add it.

(I did read the rest honest :D)
 
1. The what I call 'ending-at-a-dump' problem. This concerns the usage without a destination like

trade.py run --fr=stationA --ly=X --cap=Y --cr=Z (--hops=Q)

(As I understand TD uses --hops=2 as default for runs when nothing else is specified?)

Often the last hop of a run (or the 2nd hop with default hops=2) ends you at a station that gives you max profit, but when you search for something to pick up from there you realize that there are no profitable runs from this station, so you end up picking a mission or some hydrogen fuel to just get away from that 'dump hole'.
To solve this problem, would it be feasible to just extend the hops by one internally but don't output it? This would decrease your immediate profit but ensure that there is actually a profitable continuation from the station you landed on the last hop.

Take a look at the "--start-jumps" (-s for short) and "--end-jumps" (-e for short) options. They're for exactly this :)

2. The finding a trade route (circular) problem

So there's a strong chance that the reason you're finding that is a lack of data. It's a tell that there's a really profitable set of trades in some of the nearby systems, the way that shaking might be a tell for a volcano eruption.

It's not impossible to find a situation like that, since this is a live economy, but it's biased against it.

Secondly, the problem you're describing is that TD is telling you "there's more money to be made".

So here's my take:

If *you* have spotted a situationally more enjoyable trade activity - go do it :) If you're asking for a 5 hop route and TD is saying A->B->A->B->X, it's teling you that B->X is better than B->A, which means that, really, A->B is "ok" but it's not great. So try asking it for 5 or 6 hops. Try using "-s3" (--start-jumps=3).

The circular routes you're thinking are profitable aren't, they are actually an "island-dump", the problem is that it's just profitable enough that the air-fare out of the pocket will keep you in there.
 
Take a look at the "--start-jumps" (-s for short) and "--end-jumps" (-e for short) options. They're for exactly this :)

Thanks for pointing that out, I've never used --start-jumps. Will definitely look into it.

So there's a strong chance that the reason you're finding that is a lack of data. It's a tell that there's a really profitable set of trades in some of the nearby systems, the way that shaking might be a tell for a volcano eruption.

It's not impossible to find a situation like that, since this is a live economy, but it's biased against it.

Secondly, the problem you're describing is that TD is telling you "there's more money to be made".

So here's my take:

If *you* have spotted a situationally more enjoyable trade activity - go do it :) If you're asking for a 5 hop route and TD is saying A->B->A->B->X, it's teling you that B->X is better than B->A, which means that, really, A->B is "ok" but it's not great. So try asking it for 5 or 6 hops. Try using "-s3" (--start-jumps=3).

The circular routes you're thinking are profitable aren't, they are actually an "island-dump", the problem is that it's just profitable enough that the air-fare out of the pocket will keep you in there.

While I'm quite content with 2500cr per ton and turn, I tried it with -s5 and tried to increase the --hops to see if it brings me out of the 'island'.

Code:
trade.py run --fr=Branglal/Skripochka --cap=100 --cr=500000 --ly=12.5 -s5 --hops=10 -vv
BRANGLAL/Skripochka Gateway -> BRANGLAL/Skripochka Gateway (score: 1188048.920320)
  Load from BRANGLAL/Skripochka Gateway (882ls/star, No/bm, Lrg/pad):
      100 x Advanced Catalysers       2486cr each,     248600cr total,data from 1 hr
  Jump BRANGLAL -> LIE ZIP -> MAIAWA
  Unload at MAIAWA/Clement Landing (no details) => Gain 87600cr (876cr/ton) => 587600cr
  Load from MAIAWA/Clement Landing (no details):
      100 x Silver                    4321cr each,     432100cr total,data from 1 hr vs 5 hrs
  Jump MAIAWA -> LIE ZIP -> BRANGLAL
  Unload at BRANGLAL/Gibson Horizons (882ls/star, No/bm, Lrg/pad) => Gain 112500cr (1125cr/ton) => 700100cr
  Load from BRANGLAL/Gibson Horizons (882ls/star, No/bm, Lrg/pad):
      100 x Consumer Technology       6560cr each,     656000cr total,data from 5 hrs vs 1 hr
  Jump BRANGLAL -> LIE ZIP -> MAIAWA
  Unload at MAIAWA/Clement Landing (no details) => Gain 100900cr (1009cr/ton) => 801000cr
  Load from MAIAWA/Clement Landing (no details):
       91 x Gold                      8786cr each,     799526cr total,data from 1 hr vs 5 hrs
        2 x Cobalt                     524cr each,       1048cr total,data from 1 hr vs 5 hrs
        4 x Hydrogen Fuel               94cr each,        376cr total,data from 1 hr vs 5 hrs
        3 x Biowaste                    14cr each,         42cr total,data from 1 hr vs 5 hrs
  Jump MAIAWA -> LIE ZIP -> BRANGLAL
  Unload at BRANGLAL/Gibson Horizons (882ls/star, No/bm, Lrg/pad) => Gain 135426cr (1354,26cr/ton) => 936426cr
  Load from BRANGLAL/Gibson Horizons (882ls/star, No/bm, Lrg/pad):
      100 x Consumer Technology       6560cr each,     656000cr total,data from 5 hrs vs 1 hr
  Jump BRANGLAL -> LIE ZIP -> MAIAWA
  Unload at MAIAWA/Clement Landing (no details) => Gain 100900cr (1009cr/ton) => 1037326cr
  Load from MAIAWA/Clement Landing (no details):
      100 x Gold                      8786cr each,     878600cr total,data from 1 hr vs 5 hrs
  Jump MAIAWA -> LIE ZIP -> BRANGLAL
  Unload at BRANGLAL/Gibson Horizons (882ls/star, No/bm, Lrg/pad) => Gain 147900cr (1479cr/ton) => 1185226cr
  Load from BRANGLAL/Gibson Horizons (882ls/star, No/bm, Lrg/pad):
      100 x Consumer Technology       6560cr each,     656000cr total,data from 5 hrs vs 1 hr
  Jump BRANGLAL -> LIE ZIP -> MAIAWA
  Unload at MAIAWA/Clement Landing (no details) => Gain 100900cr (1009cr/ton) => 1286126cr
  Load from MAIAWA/Clement Landing (no details):
      100 x Gold                      8786cr each,     878600cr total,data from 1 hr vs 5 hrs
  Jump MAIAWA -> LIE ZIP -> BRANGLAL
  Unload at BRANGLAL/Gibson Horizons (882ls/star, No/bm, Lrg/pad) => Gain 147900cr (1479cr/ton) => 1434026cr
  Load from BRANGLAL/Gibson Horizons (882ls/star, No/bm, Lrg/pad):
      100 x Consumer Technology       6560cr each,     656000cr total,data from 5 hrs vs 1 hr
  Jump BRANGLAL -> LIE ZIP -> MAIAWA
  Unload at MAIAWA/Clement Landing (no details) => Gain 100900cr (1009cr/ton) => 1534926cr
  Load from MAIAWA/Clement Landing (no details):
      100 x Gold                      8786cr each,     878600cr total,data from 1 hr
  Jump MAIAWA -> LIE ZIP -> BRANGLAL
  Unload at BRANGLAL/Skripochka Gateway (882ls/star, No/bm, Lrg/pad) => Gain 152900cr (1529cr/ton) => 1687826cr
  ----------------------------------------------------------------------------
  Finish at BRANGLAL/Skripochka Gateway (882ls/star, No/bm, Lrg/pad) gaining 1187826cr => est 1687826cr total

As you see, I ended up back where I started. :)

Also, trade.py local -v tells me there are 63 stations with market data within 30 ly, so I'm not somewhere completely out of any reasonable trade routes.
 
Last edited:
I knew that someone brings up this theme. I just knew it..

Yes, we should all take the same theme, even if others are available. Resistance is futile.

All I was saying gents, is that there *is* a default skin. Perhaps rather than grumbling about how somebody produces something that's hard to read because you don't use the default skin, you could instead just quote the OP's text and format it differently so it reads better for folks who are using the same one as you?
 
Back
Top Bottom