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

[amibroker] Re: positionscore problem



PureBytes Links

Trading Reference Links

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@xxx> 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/