Oh I see...
Your settings are interesting, I tried something similar to yours before.
Major interesting differences:
I have no idea what economyDecayMult do, so I don't meddled with it yet.
But "economyMinDemandForPricing" and "economyMinStockpileForPricing" I put at 1, I only speculate this, but if you put 0, you will break the economy majorly.
Those two variables in the code are intended to be used only for non-zero demand and stockpile, I don't checked in the game code what they do, but I assumed that if they were zero, you would see aberrant behaviour due to maths at 0 (example: divide by zero results in NAN or infinite, depending of what the coders involved wanted, the power of zero is always 1, zero to power of something is always 0, but 0^0 is 1, the inverse of something *0=0 (theretically 0/0) is all values in math ever (because anything*0=0, thus 0/0 is "anything") and so on.
Finally, in my previous post I mentioned I mnade the economy run much faster, I did that by using 1 day to update (isntead of the default 30, it is the first variable).
Another notable variable is the RollingAverageFactor, when the economy updates, after making all the necessary calculatons, it save stuff with the formula (1f-rollingaveragefactor)*oldstuff + rollingaveragefactor*newstuff, meaning with the default value of 0.1 that a new price is 90% of the old price + 10% of the new price, and the stockpile is 90% of old stockpile + 10% of new stockpile, Alex intention was to make the economy stable, but at 30 days update it means the economy is "frozen" instead, for example if you kill ALL merchant ships in the market, it would take 66 months to the big enough stockpiles to reach zero (of course small stockpiles reach zero faster if you round numbers down, if you instead are rounding up it will never reach zero).
I tried using a very high rolling average factor (including 100%), the result was very interesting, but the simulation isn't good enough, so the result was a bit wonky sometimes, but after I made the simulation run once a day, I noticed I could set rolling average to 0.2 (my number now, but I will tweak more later) to have reasonable results (1 day update and 1.0f rolling factor results in the price changing from 50 to 700 in a day for example... this CAN happen in the real world, but is rare, the game simulator should not do this except with events).
With 1 day update, and rolling average of 0.2, it takes 42 days of blockade to zero the stock of a market, this sounds much more reasonable.
final note: I used "market blockade" as an example, but in-game this don't actually work, the calculations are done in the Economy.class file, you can't override it without overriding the entire campaign simulation (although I found the fact that you CAN override the campaign very impressive).
the Economy.class has a function called "makePurchasesForLocalDemand" that as you imagine is the function that calculates international trade based on demand, the relevant lines in its source to us are this:
transaction.localCommodity.addToStockpile(transaction.quantity);
transaction.otherCommodity.removeFromStockpile(transaction.quantity);
transaction.localCommodity.getTransactions().commodityBought(transaction.otherMarket.getId(), transaction.quantity, transaction.pricePerDemandUnit * transaction.quantity);
transaction.otherCommodity.getTransactions().commoditySold(transaction.localMarket.getId(), transaction.quantity, transaction.pricePerDemandUnit * transaction.quantity);
As you can see, the function that make import purchases to meet demand instantly teleport goods around, meaning there is actually no way to block it.
This is the source of some of the most bizarre behaviours you see on the game economy (example: blockaded systems still having normal trading if the blockage is in hyperspace, blockades generating the "trade disruption" event, that change good prices, but not good amounts, thus you see a market that can't import food still having food... or the biggest importer of metal disrupted, yet the planet that sells the metal still has their stocks dwindling).
I am yet to find a way to circunvent this, while I can't find a way, I am modding other stuff.