I've got an indicator which is giving buy/sell signals (ie. 0
nothing, +1 buy 100 shares, +2 buy 200 shares, -3 sell 300 shares and
so forth).
SigScaleIn/SigScaleOut variables don't seem to be able to manage
long/short positions properly. Let's say I'm long 400 shares and get
a -6 from my indicator. I should close the long position and open a
new short position for 200 shares.
The code below is a draft of what I'm trying to achieve but there is
no way to let it work as it should. Any help is much appreciated.
p
SetPositionSize( 100 * abs(Indicator), spsShares);
DoScaleInBuy = Indicator > 0;
DoScaleOutBuy = Indicator < 0;
DoScaleInShort = Indicator < 0;
DoScaleOutShort = Indicator > 0;
Buy = DoScaleInBuy * SigScaleIn + DoScaleOutBuy * SigScaleOut;
Short = DoScaleInShort * SigScaleIn + DoScaleOutShort * SigScaleOut;
Sell = Cover = 0;