Quote from sle:
I am not sure that's the right approach. Lets imagine that you have two strategies, one buys S&P 500 when Obama farts and another that sells DAX when Merkel smiles. The two strategies are hedging each other rather well, so you should be more comfortable trading on Obama system when you already have a position based on the Merkel system, do you agree?
That Obama and Merkel visualization can make for a good cartoon
Your example proves that position size of a trade in a strategy say S4 has to depend on currently existing portfolio. So, my statement was wrong. Thanks for giving a counter-example.
After a lot of thought

, this problem can be solved as below:
Step 1: Determine individual position size algorithms for each strategy.
Step 2: Create either the correlated or independent boolean table with 0/1 for strategies either trading or not trading for each day.
Step 3: Re-sample using time priority. So, if some strategies trade primarily in the morning, for any given day, first sample trades of those strategies, then sample the strategies that trade primarily later in the day. Position size of the trades resulting from later strategies will depend on the risk in the portfolio that accrues from the strategies that trade early in the day.
You must have a column vector to store maximum different risks you are willing to take. E.g. if you trade only FX, the column vector should have risk limits for dollar, euro, yen, aud etc.
However, if you trade a more diversified portfolio, then you will need a correlation matrix between different risks. So, since ES and CL are positively correlated, say individual risk limit is 30 contracts of ES and 20 contracts CL limit, but if you have both the exposures then maybe just 15 ES and 10 CL limit.
This approach will ensure that your weights w1, w2,... to different strategies are not constant rather vary from sample to sample - which is what it should be. I think this is the general approach that will do by far the most accurate backtesting of resamples. Happy to hear your thoughts!
Problem becomes more challenging when you have to allocate between multiple strategies that trade mostly during overlapping time period say in morning session. In this case, you cannot sample using time prioritization. So, if you enter S1 and S2 generates a signal 30 minutes after S1, you might have to skip the S2 signal because of margin/risk limits. Or, consider if trades generated in S1 and S2 are on same symbol but are opposite in direction, you might want to reverse the trade generated in S1.
At least in the case when you have a limited number of strategies say < 10 or so, this problem can be solved by constructing a very case-specific tailor-made intricate chain of rules. I would first rank all the strategies, then have a lot of If -> Then -> Else conditions to formulate the strategy prioritization rules - which will be invoked to decide on position sizing, given the current portfolio.
The approach in the above paragraph of highly customizable intricate strategy preference rules is especially suitable for my kind of trading portfolio - highly selective low frequency intra-day trades. If someone is trading hundreds of stocks, then a very different and generic position sizing algorithm will be needed.
Again, there will be lots of changes in this approach over-time. But for the time being, I think this is most suitable for my work - unless someone can challenge this approach on some point or suggest something better.