[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: positionscore problem



PureBytes Links

Trading Reference Links

Ron,
The shorts are indeed being generated as you say, except that the
positionscore will not pick up the short.
Indeed there is enough equity to cover both. I verified that.
In fact I think the only way to do this is to calculate the median
value with addtocomposite...

Claude

--- In amibroker@xxxxxxxxxxxxxxx, "Ron Rowland" <rowland@xxx> wrote:
>
> Cluade,
> 
> If you run a scan you will see that the shorts are indeed being 
> generated.  It appears that you are using all your capital for the 
> long and therefore you have no money left for the short.  You need to 
> add some position size logic.
> 
> Ron
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "claudecaruana" <claudecaruana@> 
> wrote:
> >
> > Thanks for your feedback.
> > 
> > this might sound crazy, but I am still getting only longs with this
> > code....
> > 
> > FirstHourUp = IIf (TimeNum() == 103000,True,False);  
> > numbars=13;
> > SetOption("MaxOpenPositions", 2);
> > SetOption("MaxOpenLong", 1 );
> > SetOption("MaxOpenShort",1);
> > SetOption("SeparateLongShortRank", True ); 
> > PS = 	ROC(C,NumBars)/ATR(250);
> > PositionScore=ps+1000;
> > Buy= FirstHourUp AND PositionScore > 0;
> > PositionScore=ps-1000;
> > Short=FirstHourUp AND PositionScore < 0;
> > 
> > 
> > Sell = TimeNum() == 113000;
> > SellPrice = C;
> > Cover = TimeNum() == 113000;
> > CoverPrice = C;
> > 
> > Is anybody willing to try it out?
> > 
> > Cheers,
> > Claude
> > 
> > --- In amibroker@xxxxxxxxxxxxxxx, "Ron Rowland" <rowland@> wrote:
> > >
> > > Just take the negative of the ABS value of the lowest 
> PositionScore. 
> > > Or force it by subtracting a large number. You will also need to 
> > > account for the times when the best score is neagive.  For 
> example:
> > > 
> > > PS = ROC(C,NumBars)/ATR(250);
> > > PositionScore = PS +1000; // force everthing to be positive
> > > // Buy longs here
> > > PositionScore = PS -1000; // invert the list from absolute value 
> > > perspective
> > > // Buy shorts here
> > > 
> > > 
> > > 
> > > 
> > > --- In amibroker@xxxxxxxxxxxxxxx, "vlanschot" <vlanschot@> wrote:
> > > >
> > > > One way of solving this would be to deduct an average ROC from 
> some 
> > > > aggregate index from each of your individual scores, e.g. if 
> your 
> > > > stocks belong to the S&P500, deduct its ROC from each of your 
> > > > individual ROCs (you can also create one yourself). You are 
> correct 
> > > > in using the new functionality to seperate your shorts from 
> your 
> > > > longs via the MaxOpenLong and MaxOpenShort functions.
> > > > 
> > > > Hope this helps.
> > > > 
> > > > PS
> > > > 
> > > > --- In amibroker@xxxxxxxxxxxxxxx, "claudecaruana" 
> <claudecaruana@> 
> > > > wrote:
> > > > >
> > > > > Hi,
> > > > > 
> > > > > Actually the code I supplied on my original message already 
> does
> > > > > this.. Works ok if the positionscores for each iteration 
> contain 
> > > > both
> > > > > positive and negative values. If they are all positive or all 
> > > > negative
> > > > > the code below would fail.
> > > > > 
> > > > > BR
> > > > > C
> > > > > --- In amibroker@xxxxxxxxxxxxxxx, "Joe" <j0etr4der@> wrote:
> > > > > >
> > > > > > Hi,
> > > > > > 
> > > > > > This bit me, too.  From the AFL Reference Manual, section 
> on 
> > > Using
> > > > > > Position Score, "...AmiBroker will use the absolute value of
> > > > > > PositionScore variable to decide which trades are 
> preferred."  
> > > > > > 
> > > > > > Try this (untested):
> > > > > > 
> > > > > > PS = ROC(C,NumBars)/ATR(250);
> > > > > > PositionScore = PS;
> > > > > > .
> > > > > > .
> > > > > > .
> > > > > > Buy=FirstHourUp AND PS > 0;
> > > > > > Short=FirstHourUp AND PS < 0;
> > > > > > 
> > > > > > 
> > > > > > Good luck,
> > > > > > 
> > > > > > Joe 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > --- In amibroker@xxxxxxxxxxxxxxx, "claudecaruana" 
> > > <claudecaruana@>
> > > > > > wrote:
> > > > > > >
> > > > > > > hi All,
> > > > > > > 
> > > > > > > I am trying to implement a very simple intraday system 
> using
> > > > > > > PositionScore, which buys the strongest symbol at a 
> > > particular 
> > > > time
> > > > > > > and shorts the weakest. Exit is at some particular time 
> > > later. 
> > > > > > > 
> > > > > > > I am using ROC to determine strength. The code below 
> works 
> > > fine 
> > > > when
> > > > > > > the symbols backtested have mixed positive and negative 
> > > ROC's, 
> > > > but if
> > > > > > > on a particular day all ROC's are positive, the short 
> trade 
> > > is 
> > > > missed
> > > > > > > and vice versa for all ROC's negative.
> > > > > > > 
> > > > > > > I think I understand why this is happening, however I 
> cannot 
> > > get
> > > > > > > around solving it! 
> > > > > > > 
> > > > > > > Here is the code: (I am using V5.17)
> > > > > > > 
> > > > > > > FirstHourUp = IIf (TimeNum() == 103000,True,False);  
> > > > > > > numbars=13;
> > > > > > > 
> > > > > > > SetOption("SeparateLongShortRank", True ); 
> > > > > > > SetOption("MaxOpenPositions", 2);
> > > > > > > SetOption("MaxOpenLong", 1 );
> > > > > > > SetOption("MaxOpenShort",1);
> > > > > > > 
> > > > > > > PositionScore = ROC(C,NumBars)/ATR(250);
> > > > > > > 
> > > > > > > Buy=FirstHourUp AND PositionScore > 0;
> > > > > > > Short=FirstHourUp AND PositionScore < 0;
> > > > > > > 
> > > > > > > Sell = TimeNum() == 113000;
> > > > > > > Cover = TimeNum() == 113000;
> > > > > > > 
> > > > > > > 
> > > > > > > Note: If I replace the buy/sell lines with the following:
> > > > > > > 
> > > > > > > Buy=FirstHourUp ;
> > > > > > > Short=FirstHourUp ;
> > > > > > > 
> > > > > > > then I get no short signals at all. I am not sure why.
> > > > > > > 
> > > > > > > Any ideas on what I can do to resolve the issue?
> > > > > > > 
> > > > > > > Thanks for any feedback,
> > > > > > > Claude
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>



------------------------------------

Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/