PureBytes Links
Trading Reference Links
|
Philip
The simplest way to pick up the first time an event is true (and filter it out on subsequent
occasions) is to use an expression like
"Expression" {=TRUE} AND Cum("Expression")=1;
I'm not sure if this exactly what you have in mind but I toss it in for your consideration. I
haven't been following the thread fully so forgive me if I'm way off.
Roy
----- Original Message -----
From: "salzburg10708" <pschmi02@xxxxxxxxxxx>
To: <Metastockusers@xxxxxxxxxxxxxxx>
Sent: Sunday, December 07, 2003 7:41 AM
Subject: [Metastockusers] Re: Writing code for "the first time an event happens"
> Strongly agree about posting to the list, Mike. You beat me to the
> punch. :-)
>
> It never ceases to amaze me how difficult it is to express exactly
> what one would like to code, and I woke up this morning realizing that
> I STILL have not put into precise terms what I want to explore for.
>
> Judging from the .jpg you sent, your code and that of metarockx,
> generates a signal every time the event takes place subsequent to the
> trend kicking in. But the only event I want to identify is the first
> one of its kind when none other of its kind has preceded it since the
> trend condition kicked in.
>
> Let me try one more time:
>
> 1. Trend condition obtains
> 2. Retracement condition obtains today, BUT
> 3. as of yesterday, the retracement condition has never obtained since
> the trend condition was first true.
>
> So if today represents the second, third or "x" time the retracement
> condition has occurred since the beginning of the trend, that's not
> what I'm looking for.
>
> Let's make believe I could write the following condition:
>
> Condition1:= ALERT(fml("retracement"), since the beginning of the
> trend);
>
> Well, what I'm looking for is: condition1=false.
>
> Generally I can express myself reasonably well, but in this case I'm
> evidently verbally challenged. What a way to start of on a new list!
> For those of you who are losing patience with me, please hang on one
> more round.
>
> Philip
>
> --- In Metastockusers@xxxxxxxxxxxxxxx, "Mike Sloane" <mfsloane@xxxx>
> wrote:
> > Hi Phillip,
> >
> > Your email may make a little more sense to the group if you
> included the
> > off-line communications as well:
> >
> > See below:
> >
> > -----Original Message-----
> > From: Mike Sloane [mailto:mfsloane@x...]
> > Sent: Friday, 5 December 2003 11:47 PM
> > To: 'Philip'
> > Subject: RE: [Metastockusers] Writing code for "the first time an
> event
> > happens"
> >
> >
> > Hi Philip,
> >
> > 1.0 Yes, you could replace Trend with any variation of your
> > definition of the trend.
> > 2.0 Yes, you could replace Trigger with any indicator, provided
> it is
> > a binary signal (only possible values are 0 or 1)
> > 3.0 No; in my code, Test rises to 1 when Trend is true and rises
> to 2
> > when "Trend is already true and Trigger becomes true" (note Trigger
> is
> > true for one bar only); Signal spikes when Test rises from 1 -> 2
> (i.e.
> > Crosses 1.5).
> >
> > A couple of further points:
> >
> > My code is an example of a latched indicator that requires the use
> of
> > the PREV function; for some reason I tend to write a lot of my code
> this
> > way. The code posted by metarockx is a perfectly valid (and
> efficient)
> > way of achieving the same result without using the PREV function -
> an
> > important factor if you have a slower computer or many indicators
> that
> > use the PREV function, as it requires more processing time.
> >
> > However there were a couple of small errors with ">" and "<" in the
> > metarockx code; I have taken the liberty of correcting it and
> > rearranging it a little:
> >
> > Trend := Mov(C,55,E) > Ref(Mov(C,55,E),-1);
> >
> > StartTrend := Trend AND Ref(Mov(C,55,E),-1) < Ref(Mov(C,55,E),-2);
> >
> > Trigger:= Cross(Mov(C,8,E),Mov(C,13,E));
> >
> > Signal:= Trend AND Trigger
> >
> > AND BarsSince(Ref(Trigger,-1)) > BarsSince(StartTrend);
> >
> >
> >
> > Signal
> >
> >
> >
> > Note that when they are both plotted on a chart (see attached SPX -
> > metarockx signal is top/blue; my signal is bottom/purple), my signal
> > requires Trend to be established for one day before Trigger can
> give a
> > signal; metarockx code will give a signal in the case where Trend
> and
> > Signal both become true on the same day.
> >
> > It all depends on what you wish to achieve.
> >
> > As noted in my earlier post, when I am building an indicator like
> this I
> > will often create separate sub-indicators (Trend, Trigger, Test
> etc) and
> > plot them in separate windows on the chart, observe the interaction
> and
> > make sure it is doing exactly what I intended.
> >
> >
> > Good trading,
> > Mike
> >
> > PS: you may wish to post this to the group to "complete" the thread
> - I
> > will leave that up to you.
> >
> > Regards,
> > MS
> >
> >
> >
> >
> >
> >
> >
> > -----Original Message-----
> > From: Philip [mailto:pschmi02@x...]
> > Sent: Friday, 5 December 2003 5:48 PM
> > To: mfsloane@xxxx
> > Subject: RE: [Metastockusers] Writing code for "the first time an
> event
> > happens"
> >
> >
> > Mike,
> >
> > Many thanks for your help! I'll need about a week or ten days to
> work
> > with your formulas. SPECIAL thanks for the tip about the "Using
> latches
> > in MS.doc" -- that might be just what I need.
> >
> > If you could spare another few minutes, some questions have come to
> > mind.
> >
> > 1. Even with my limited grasp of the syntax it seems that if I
> wanted to
> > vary my trend definition, all I would have to do is replace the
> > statement following Trend:=, right? But what about changing the
> trigger?
> > Say my trigger is some formula I've cooked up in the indicator
> builder
> > called . . . I don't know . . . "TURN" consisting of an oversold
> StoRSI
> > or some price pattern. Would I simply substitute "TURN" instead of
> > Cross(Mov(C, 8, E), Mov(C, 13, E)); following Trigger:=? And would
> this
> > entail making a change to the next to last line, the line that
> currently
> > reads: Signal:= Cross(Test, 1.5);?
> >
> > 2. The syntax you''ve written could be used both as an indicator or
> an
> > exploration filter, correct?
> >
> > TIA,
> >
> > Philip
> >
> >
> >
> > "urn:schemas-microsoft-com:office:office">
> > Philip,
> >
> > The previous post from metarockx prompted me to take another look
> at the
> > code I posted earlier and I found a condition that is not in line
> with
> > your spec.
> >
> > As written, the signal plot will spike if the 8 EMA is already
> above the
> > 13 EMA when the 55 EMA turns up; this can be solved by changing the
> > Trigger condition from " > " to a "cross" condition, as below:
> >
> > Trend:= Mov(C, 55, E) > Ref(Mov(C, 55, E), -1);
> > Trigger:= Cross(Mov(C, 8, E), Mov(C, 13, E));
> >
> > Test:= If(PREV = 0,
> > If(Trend, 1, 0),
> > If(Trigger, 2,
> > If(Trend + Trigger = 0, 0, PREV)));
> >
> > Signal:= Cross(Test, 1.5);
> >
> > Signal
> >
> > Good trading,
> > Mike
> >
> >
> >
> > -----Original Message-----
> > From: Philip [mailto:pschmi02@x...]
> > Sent: Saturday, 6 December 2003 7:31 AM
> > To: Metastockusers@xxxxxxxxxxxxxxx
> > Subject: RE: [Metastockusers] Writing code for "the first time an
> event
> > happens"
> >
> >
> >
> > Thanks, Mike, your explanations are great! I don't always do as
> good a
> > job
> > of communicating these things clearly, but when I posted originally
> I
> > was
> > trying to find a way to run an exploration for an event which has
> > occurred
> > for the first time. More specifically, the first retracement in a
> trend,
> >
> > regardless of how the trend (or the retracement) is defined.
> >
> > In the past, I've simply created an indicator and then "called" it
> in
> > the
> > symbol or highlight section of an expert. So I would have written
> > something
> > like:
> >
> > Fml( "Trenddefinition") and Fml("Retracement") . . . and then
> chosen a
> > buy
> > arrow or some such. When both obtain I get my signal. Wouldn't that
> give
> > me
> > the same result as the code you and metarockx have written? But now
> I'm
> > trying to isolate that first retracement and explore for that first
> > event
> > alone -- and I'm stumped.
> >
> > In terms of watching the way price moves, it seems that the first
> > retracement after a trend kicks in has a better chance of leading
> to a
> > profitable trade than later retracements. I'm still at the "hunch"
> stage
> >
> > about this, but I'd like to investigate further. So how do I nail
> (i.e.
> > explore for) that first retracement? Say my trend definition has
> been
> > true
> > since October 1, 2003 (or even just since yesterday, for that
> matter)
> > and
> > today, for the first time, my retracement definition is met. Using
> your
> > .jpg as an example, I'd like to run an exploration that would
> identify
> > only
> > such retracements as the one signal both you and metarockx have
> > identified
> > early in July -- the first signal of its kind after the trend
> definition
> >
> > has kicked in.
> >
> > I'm afraid I didn't do a good job of expressing this in my initial
> post.
> >
> > Philip
> >
> >
> >
> >
> > Yahoo! Groups Sponsor
> >
> > ADVERTISEMENT
> >
> > <http://rd.yahoo.com/SIG=12ch1q3jm/M=267637.4116
> 730.5333196.1261774/D=eg
> > roupweb/S=1705001779:HM/EXP=1070742690/A=1853618
> /R=0/*http://www.netflix
> > .com/Default?mqso=60178338&partid=4116730> click here
> >
> > <http://us.adserver.yahoo.com/l?M=267637.4116730
> .5333196.1261774/D=egrou
> > pmail/S=:HM/A=1853618/rand=494308586>
> >
> > To unsubscribe from this group, send an email to:
> > Metastockusers-unsubscribe@xxxxxxxxxxx
> >
> >
> >
> > Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service
> > <http://docs.yahoo.com/info/terms/> .
>
>
>
> To unsubscribe from this group, send an email to:
> Metastockusers-unsubscribe@xxxxxxxxxxx
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
>
------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark
Printer at MyInks.com. Free s/h on orders $50 or more to the US & Canada.
http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/zMEolB/TM
---------------------------------------------------------------------~->
To unsubscribe from this group, send an email to:
Metastockusers-unsubscribe@xxxxxxxxxxx
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
|