Trade route lengths. Don't make trade routes too short. You need to give each town time to consume what you have sold it before you return to try and sell more. Personally, I try to set up my routes so that I don't go back to a town for at least two weeks, preferably three weeks.
Well, this is one approach, but it can go badly. Because you have to compete with the AI traders. And if you leave a town unattended for so long, you can find that the AI traders have supplied it while you were away. In order to give the towns time to consume what you sell them, it is not necessary to leave them unvisited for long periods of time, because you can also adjust the amount of goods you drop off to the lenght of your trade route. For simplicity's sake, let's use an example of a trade route that's 10 days long.
Every town on that route will only be visited by your convoy once every ten days. That means the optimum strategy is to drop off sufficient goods in the *warehouse* which you have previously built there to last them for 10 days. This way, the goods are gradually sold at the highest possible prices, because your warehouse administrators gets orders not to sell under a certain price. When he hits that lower limit of pricing, he will wait until the town consumes some of the goods before he sells again. You can find out what quantities to drop off using the town consumption screen: click on a harbor cannon or on the town center to get it to pop up; alternately, if you don't have a warehouse in town, clicking on the town while no ships of yours are there will also bring up this consumption info. So let's say on of the towns in your route has a consumption of 5 for grain. This means the town will consume 5 barrels of grain every day, or 50 barrels of grain in 10 days (10 days = lenght of your route, remember?). You should therefore drop off no more than 50 barrels of grain with every visit your convoy makes there.
But should you really drop off the whole 50 barrels? Well, that depends on if you buy the respective goods elsewhere, or if you produce them yourself. If you produce them yourself efficiently, you can afford to drop off 50 barrels of grain every ten days and set the selling price at the warehouse so low that you are sure none of the AI traders will sell cheaper than that. This ensures that all your produced goods are sold for a profit. But if you buy the goods in other towns, you should generally not supply the whole 50 barrels. Why? Because AI traders who produce that good efficiently in their own businesses will be able to sell cheaper than you can. Which means you'll only sell a part of those 50 barrels and the unsold goods will accumulate in the town with every passing of your convoy. So for bought goods, you are generally on the safe side if you supply only half of the demand, to ensure that all of your cargo is eventually sold. In some cases you can supply more then that, especially if you use the load/unload settings in your trade route that are discussed below.
For simplicities sake, lets use just 2 towns in this route: Town A and Town B and let's assume your trade route is 10 days long and that you have a warehouse in each (always very helpful). Set your warehouses to both buy the goods which the town produces and to sell the goods which the town does not produce. In town A, you buy meat and fish to sell in town B, where you buy tobacco and cocoa to sell in town A. For simplicities sake, let's say the 10 day consumption for all sold goods is 50. You should set your warehouses to buy 50 of each goods you intend to sell. So warehouse A buys 50 meat and 50 fish, while warehouse B buys 50 tobacco and 50 cocoa. The settings for your convoy should be as follows:
1st Stop: Town A
Unload MAX Fish to warehouse
Unload MAX Meat to warehouse
Load MAX Tobacco from warehouse
Load MAX Cocoa from warehouse
2nd Stop Town A (yes, town A again)
Unload 50 Tobacco to warehouse
Unload 50 Cocoa to warehouse
Load 50 Fish from warehouse
Load 50 Meat from warehouse
3d Stop Town B
Unload MAX Tobacco to warehouse
Unload MAX Cocoa to warehouse
Load MAX Fish from warehouse
Load MAX Meat from warehouse
4th stop Town B (yes, town B again)
Unload 50 Fish to warehouse
Unload 50 Meat to warehouse
Load 50 Tobacco from warehouse
Load 50 Cocoa from warehouse
These settings ensure that goods that are not sold during the 10 day interval of the trade route (for example, because an AI trader has brought a very cheap delivery) do not accumulate, but are brought back to the town they were originally bought in. In this town were they were originally bought in, they can not accumulate because you have a buying cap in your warehouse: If the quantity for the respective good is equal to or higher than (in our case) 50, the administrator stops buying, no matter how cheap the good is offered in town.
It is very important to set up the route so that with every stop, your convoy first UNLOADS and then LOADS. This helps to keep the necessary cargo space at a minimum for each convoy. In the editing screen of the trade route, the items higher up will be dealt with first, so you can change the handling priority by dragging the little icons of the goods around. Drag items to be unloaded UPWARDS and items to be loaded BELOW them. Note that you can only drag around icons of goods that are actually loaded or unloaded during that stop. So in our route, you can only drag around the icons of meat, fish, tobacco and cocoa - you can't move the other little symbols around (and it's not necessary).
This system is very efficient in preventing accumulations of goods. The two downsides are that you need slightly bigger convoys than usually and that you can only visited half the number of towns that a 1-stop-per-town convoy would be able to visit. But usually, it's worth it, to ensure maximum profits and to prevent accumulations of goods.
If you produce all the goods you sell yourself, not buying anything from towns, you could get away with using 1-stop-per-town routes, but then you'll have to ship slightly fewer goods than the full town demand AND you'll have to check your warehouses from time to time, to see if there have been accumulations, just to make sure. No matter how many stops per town, make sure your convoys first UNLOAD and only after that load.
Hope that helps.