Hi Steve, Sorry for the delay.I have tried your Idea, and It only invests up to a max of 25%. I've played around with it, but can't get it to work correctly. Thanks for your efforts. Regards, Dan
--- In [email protected], Steve Wong <swstevewon...@...> wrote: > > Hello, > > Just curious if below lines can solve your problem or not, I'm a beginnger > just for practicing (in reference to page 154 of Amibroker 4.90 User Guide > in which sigScaleIn and sigScaleOut were first introduced..): > > // assume pcq is the indicator whose exact formula is not clear to me > > // for PCQ to jump say from 25% to over 75%, positionsize will become 75% < > 100% > // in the process PCQ will pass thru 50%, so the first scaleIn is triggered, > (ie 50% now), then when pass thru 75%, another 25% scalein will be triggered > // so the positionSize is always 25% > // Due to this reason, I think a loop is not needed? > > SetPositionSize(25, spsPercentOfEquity); > Buy = Cross(pcq, 25) or Cross(pcq,50) or Cross(pcq,75) ; > Sell = Cross(25,pcq) or Cross(50,pcq) or Cross(75, pcq); > ScaleInConditionsLong = Cross(pcq,50) or Cross(pcq,75); > ScaleOutConditionsLong = Cross(25,pcq) or Cross(50,pcq) or Cross(75,pcq); > InTrade = Flip(Buy,Sell); > DoScaleIn = ExRem(InTrade AND scaleInConditionsLong, Sell); > DoScaleOut = ExRem(InTrade AND scaleOutConditionsLong,Sell); > Buy = Buy + sigScaleIn * DoScaleIn + sigScaleOut * DoScaleOut; > > // By symmetry the short trade > Short = Cross(-25,pcq) or Cross(-50,pcq) or Cross(-75, pcq); > Cover = Cross(pcq, -25) or Cross(pcq,-50) or Cross(pcq,-75) ; > ScaleInConditionsShort = Cross(-50,pcq) or Cross(-75,pcq); > ScaleOutConditionsShort = Cross(pcq,-25) or Cross(pcq,-50) or Cross(pcq,-75); > InShortTrade = Flip(Short,Cover); > DoScaleInShort = ExRem(InShortTrade AND scaleInConditionsShort, Sell); > DoScaleOutShort = ExRem(InShortTrade AND scaleOutConditionsShort,Sell); > Short = Short + sigScaleIn * DoScaleInShort + sigScaleOut * DoScaleOutShort; > > Regards > SW > > > > > ________________________________ > From: dallen2507 <dall...@...> > To: [email protected] > Sent: Tuesday, March 31, 2009 7:27:54 AM > Subject: [amibroker] Scale IN OUT > > > Hi, > > I have an indicator PCQ that has levels of -100, -75, -50, -25, 0 , 25, 50, > 75 100. I want to use the indicator to scale in and out of a single stock. > I want to Buy when PCQ goes positive with the % of equity equal to the value > of PCQ. So, if PCQ goes from -50 to +25, I want to cover my short at -50% and > then go long 25%. > Basically, I want to scale in or out of the position when PCQ changes levels, > and have a % investment long or short equal to the PCQ level. So, if PCQ goes > from +25 to +75, I want to scale from 25% long to 75% long. > I have tried to use setpositionsize and sigscaleIn and sigscaleOut in buy and > sell rules, but I clearly don't understand how to do this. I have wasted > several days on this. > Can this be done with arrays or do I need to loop? I could not find any > examples. > Any suggestions on how to do this would be much appreciated. > > Regards, > Dan Allen >
