It may be that I didn't do my homework on this, but I have a question regarding the SetHoldings(...) function.

It appears that the "buying power" referred to in the documentation is calculated taking only the current cash amount into account, not any other security holdings.

In particular, let's say we trigger a first order with

SetHoldings("MSFT", 0.5).

Then, some time later, I'd expect

SetHoldings("MSFT", 1.0)

to trigger an order of approximately the same size (assuming that the price of the security stays the same, approximately). But this is not what happens. Isn't this a bit counter-intuitive?

Adding "liquidateExistingHoldings = true" doesn't help either, since the cash amount determining the buying power is locked in before the liquidation.

Any thoughts on this?