If you do not come up with any other solution, you can always alter
the position size of each individual signal using custom backtester
code.
Assuming that you are setting numbers of shares in the PostionSize
calculation (as opposed to percentage of equity), something along the
lines of the following (untested) code should work:
SetOption("UseCustomBacktestProc", True );
if (Status("action")== actionPortfolio) {
bo = GetBacktesterObject();
bo.PreProcess();
for (bar = 0; bar < BarCount; bar++) {
for (sig = bo.GetFirstSignal(bar); sig; sig =
bo.GetNextSignal(bar)) {
if (sig.IsEntry() && sig.PosSize > 100) {
sig.PosSize = floor(sig.PosSize/100) * 100;
}
}
bo.ProcessTradeSignals(bar);
}
bo.PostProcess();
}
Mike
--- In [email protected], Flávio Veloso <[EMAIL PROTECTED]> wrote:
>
> Hi all.
>
> Is it possible to use different round lot sizes (e.g. by setting
> RoundLotSize variable) depending on the number of shares that are
going
> to be bought/short?
>
> Basically all I want is RoundLotSize = 100 for any position size
that
> results in more than 100 shares to be bought/short, and RoundLotSize
= 1
> for the rest.
>
> For example:
>
> Number of shares (based on PositionSize): 75
> Use RoundLotSize = 1
> Shares to buy = 75
>
> Number of shares (based on PositionSize): 125
> Use RoundLotSize = 100
> Shares to buy = 100
>
> Number of shares (based on PositionSize): 360
> Use RoundLotSize = 100
> Shares to buy = 300
>
> Anyone doing this? If so, how?
>
> Thanks in advance.
>
> --
> Flávio
>