PureBytes Links
Trading Reference Links
|
Ace,
Please check my code below, it looks much simpler. It can rank from
1 to 100. But the exploration is really slow for big database. I am
trying to reduce the calculation amount before I can use it for
daily exploration.
//replace your watchlist number with 15
list = CategoryGetSymbols( categoryWatchlist, 15 );
p = 20;
Count=0;
rank = 0;
symVal = 0;
relval = 0;
Ownval = ROC(C,p);
for( i = 0; ( sym = StrExtract( list, i ) ) != ""; i++ )
{
symVal = Nz(Foreign( sym, "Close" ));
relval = ROC(symval, p);
n=Nz(IIf(relVal!=0,1,0));
Count[BarCount-1]=Count[BarCount-1]+n[BarCount-1];
if(relval[BarCount-1] > Ownval[BarCount-1])
rank[BarCount-1] = rank[BarCount-1]+1;
}
AddColumn(Count,"count",1.0);
AddColumn(rank,"rank",1.0);
rank[BarCount-1] = int(100*(Count[BarCount-1]-rank[BarCount-1])/Count
[BarCount-1]);
Filter = 1;
AddColumn(Ownval,"ROC",1.2);
AddColumn(rank,"rank",1.0);
Gary,
--- In amibroker@xxxxxxxxxxxxxxx, "acesheet" <acesheet@xxxx> wrote:
> Joe,
>
> There's absolutely no problem at all in doing what you are
proposing
> to do. I'm not sure Dave understood what you were suggesting. I'm
> somewhat familiar with Hurst's work, but I've never read the
course
> or studied FLD's. I've only heard of them.
>
> Dave did give you the correct answer, however. 'Ref' is the key
> function.
>
> //------------------------------------------------------
> // Use the below plotting FLD's
> //------------------------------------------------------
> p1=40;
> Plot(Ref(C,-p1),"FLD",colorRed,styleLine);
> //------------------------------------------------------
>
> You don't have to use the colors or linetypes I showed above. The
> code I show takes the price from 40 days ago and plots it
> today. 'Projecting' it from then until now. You aren't using
future
> data at all, only past data. I think this is what you wanted to
do,
> correct?
>
> If you wanted to project the 40 day MA from 40 days back then you
> could do this:
>
> //------------------------------------------------------
> p1=40;
> Plot(Ref(MA(C,p1),-p1),"FLD",colorRed,styleLine);
> //------------------------------------------------------
>
>
> -ace
>
> --- In amibroker@xxxxxxxxxxxxxxx, "jplatt" <jplatt@xxxx> wrote:
> > Dave,
> >
> > Thanks for the feedback on "price data forward shifted".
> >
> > You're right.....I am new to AB and have no coding ability
> whatever and at age 80, come Feb.19, I have no realistic hope of
> ever climbing that mountain.
> >
> > I am also unable to play a piano but nevertheless I spend a lot
> of time enjoying the work that accomplished pianists do
> provide....even pay them for it in the form of buying
> recordings,etc......kind of analogous to buying software.
> >
> > I can appreciate what you're saying about the AB problems that
> would be encountered with price shifting and the fact that AB
wasn't
> designed with that in mind.
> >
> > I seem to have given the impression that I'm trying to get a
peek
> at future editions of the Wall Street Journal (not that I wouldn't
> like to).
> >
> > Actually there is nothing esoteric about forward shifted data
or
> FLD lines
> > as they're called. Almost everyone that's involved with cycle
> work, from Walter Bressert on down, is aware of the phenomenon.
> >
> > I have used the bow compass routine described earlier for many
> years dating back to 1975 when I was first introduced to Hurst's
> work.
> >
> > The FLD's are based on Hurst's "Nominal Cyclic Model" and there
is
> one for every cycle length. Briefly the cycles, daily form, are
2.5,
> 5, 10, 20, 40, and 80 days. There are weekly cycles as well but
I'll
> omit those.
> >
> > Let's say that I'm interested in the 80 day cycle and prices
have
> been dropping for several weeks. I believe (because of other
cyclic
> considerations) that an 80 day cycle low is approaching and I
would
> like to have confirmation that it has occurred and further would
> like to have a good indication of the likely extent of the price
> move, based on that particular cycle.
> >
> > I would set the bow compass at 40 days (one half the cycle
length)
> and proceed to draw a downward sloping price projection on the
right
> side of the chart.
> >
> > If an upward price move occurs as expected then I would mark
where
> the upward current prices and downward sloping FLR coincide.
> According to cycle theory the intersection cross would confirm
that
> an 80 day cycle low had indeed been confirmed and prices are
exactly
> at the midpoint of the total eventual move or at "mid channel"..
> >
> > This is a rather abbreviated description... actually I would
draw
> an FLD for each cycle, which would form a cascading pattern. The
> best of all worlds is when all the different length FLD's are in
> cascade position and the upward break of each one forecasts an up
> move long enough to break the next highest FLD, etc, etc.
> >
> > Admittedly when I first heard of the methodology it
> sounded "esoteric" to say the least but I have seen it work so
many
> times that I've had to admit the obvious.
> >
> > I've digressed quite a way from AB but when I read that you were
> able to write AB code for shifting MA's forward I couldn't help
but
> wonder if price shifting could be done in like manner.
> >
> > I realize that there is little to no interest in price shifting
> and the problems encountered would be considerable which is
probably
> the reason I've never seen software handling the process.
> >
> > thanks Dave,
> >
> > ........Joe Platt
> >
> >
> >
> >
> >
> >
> >
> > ----- Original Message -----
> > From: Dave Merrill
> > To: amibroker@xxxxxxxxxxxxxxx
> > Sent: Monday, December 29, 2003 11:49 PM
> > Subject: RE: [amibroker] Shifting MA's
> >
> >
> > Joe, please excuse if I'm over-whacking the obvious here, but
I
> think you said you were new to AB, so I wanted to make sure you
> understood some important basics.
> >
> > Just because you can write a formula that directly refers to
> future data doesn't mean that that's a valid thing to do. The most
> obvious example, Ref(array, offset) can take a negative offset,
> meaning the number of bars BACK to look, or a positive offset,
> meaning the number of bars IN THE FUTURE to look. While there are
> situations where it may make sense to do that (pattern analysis
> etc), obviously you can't trade signals based on future data,
> because as good as AB is, the future bars it would have to look at
> don't exist yet today, which is when you need the signal. Systems
> that peek into the future can backtest amazingly well (see the Zig
> function), but can't be traded in real life; it'd be like looking
> past the right edge of the chart. There are a bunch of ways to
> reference future data in AB, and it's mostly up to you do
understand
> how your formulas work and avoid it. The Check btn in the
backtester
> will try to warn you, if it can tell, but understanding is your
real
> tool here.
> >
> > Directly referencing future data is fundamentally different
from
> extrapolating an estimate of it, which at the root of it is what
> we're all trying to do -- guess the future by looking at the past.
> As long as you don't actually read data from future bars to
generate
> today's indicators, any way you can think of to make today's
> decisions is ok. As to how you might do that, well, that's trading
> system design (;-).
> >
> > I'm probably going on and on here explaining the painfully
> obvious. The point is just that until you're really confident of
> your AFL skills and fully understand the limited situations when
> it's ok, I'd strongly suggest not referencing future data, ever.
> >
> > Make sense?
> >
> > Dave
> > Dave..
> >
> > It's certainly interesting that you can write code for
> projecting MA's ahead of current price bars....into the future so
to
> speak.
> >
> > That makes me think that you might be able to also project
> other data into the future as well. What I have in mind
specifically
> is price data and my interest arises from the fact that
> the "projection of price data" into the future and the
manipulations
> that can be done with it, account in large measure for the
> development of Jim Hurst's "Cycle Analysis Program".
> >
> > Jim Hurst is regarded by many to be the father of cyclic
> analysis.
> >
> > Maybe I could use an example to more clearly show what I'm
> driving at.
> >
> > Suppose you had a printed copy of a daily chart of say the
> Nasdaq.....could be anything actually. Then you take an ordinary
> drafting room "bow compass" and adjust the points (needle point on
> one end and pencil point on the other end) to say 40 days.
> >
> > Then with the needle point of the compass you trace over the
> current price bar centers starting with the last bar and working
> backward....simple enough and by keeping the two compass points
> horizontal as you trace over the price data with the needle point
> you also leave a "line trail" that's made by the pencil point.
> >
> > That trail is, in effect, a projection of current daily
> prices 40 days into the future and that's what I would like to be
> able to convince the computer to do.
> >
> > It was not unusual in Hurst's program for several price
> projections, of different lengths, to be drawn and shown together
in
> what he called "cascading patterns".
> >
> > He called the projections FLD LINES for "future lines of
> demarcation" and were the foundation of most of his work.
> >
> > His program was detailed in 10, elaborately done, lessons
> which could only be described as a labor of love.
> >
> > I frequently use the bow compass projection routine but it
> would be great if there were AB code available that could do the
job.
> >
> > Does it sound possible?
> >
> > thanks for listening,
> >
> > ...........Joe Platt
> >
> >
> > ----- Original Message -----
> > From: Dave Merrill
> > To: amibroker@xxxxxxxxxxxxxxx
> > Sent: Monday, December 29, 2003 11:10 AM
> > Subject: RE: [amibroker] Shifting MA's
> >
> >
> > ma_shifted = Ref(ma_original, 4);
> >
> > I'm probably misunderstanding what you're trying to do,
but
> that makes the average appear 4 bars before the data from which it
> was created, looking into the future. Not a tradable design.
> >
> > Dave
> > How can I shift a moving average horizontally to the
> right? I am
> > trying to move the moving average of the close 4 bars to
> the right.
> >
> > Thanks in advance.
> >
> > Bill
> >
> >
> > Send BUG REPORTS to bugs@xxxx
> > Send SUGGESTIONS to suggest@xxxx
> > -----------------------------------------
> > Post AmiQuote-related messages ONLY to:
amiquote@xxxxxxxxxxxxxxx
> > (Web page: http://groups.yahoo.com/group/amiquote/messages/)
> > --------------------------------------------
> > Check group FAQ at:
> http://groups.yahoo.com/group/amibroker/files/groupfaq.html
> >
> >
> >
> > -----------------------------------------------------------------
--
> -----------
> > Yahoo! Groups Links
> >
> > a.. To visit your group on the web, go to:
> > http://groups.yahoo.com/group/amibroker/
> >
> > b.. To unsubscribe from this group, send an email to:
> > amibroker-unsubscribe@xxxxxxxxxxxxxxx
> >
> > c.. Your use of Yahoo! Groups is subject to the Yahoo! Terms
> of Service.
Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html
Yahoo! Groups Links
To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
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/
|