PureBytes Links
Trading Reference Links
|
Roy,
I've been working through your code suggestions and the Pos variable doesn't
get initialised until after both a Long and a Short trade.
I've stripped out everything else to resolve this first. I'm also not
worried about triggers a day early or late than can be adjusted later.
I'm assuming it's because there is now nothing to trigger the LongEntry,...
variables early now.
This is the stripped out segment:
LongEntryPoint:=Ref(H,-1);
ShortEntryPoint:=Ref(L,-1);
LongExitPoint:=O;
ShortExitPoint:=O;
LongEntry:=Ref(C,-1) < C AND
C < L+((H-L)/4) AND
C < O AND
H < Ref(H,+1); {last part only for system test - following day entry
condition}
LongExit:=barsSince(LongEntry)=3;{auto exit 3 days later}
ShortEntry:=Ref(C,-1) > C AND
C > H-((H-L)/4) AND
C > O AND
L > Ref(L,+1); {last part only for system test - following day entry
condition}
ShortExit:=barsSince(ShortEntry)=3;{auto exit 3 days later}
Init:=Cum(LongEntry<>2 AND LongExit<>2 AND
ShortEntry<>2 AND ShortExit<>2)=1;
Pos:=Ref(If(BarsSince(LongEntry OR Init)>=
BarsSince(LongExit OR Init),0,2) +
If(BarsSince(ShortEntry OR Init)>=
BarsSince(ShortExit OR Init),0,-1),-0);
Thanks again for your help,
Sean
-----Original Message-----
From: owner-metastock@xxxxxxxxxxxxx
[mailto:owner-metastock@xxxxxxxxxxxxx]On Behalf Of Roy Larsen
Sent: Sunday, July 01, 2001 1:01 AM
To: metastock@xxxxxxxxxxxxx
Subject: Re: Indicator System problem
Sean
I believe the following code will track long and short positions more
accurately than that swapped
in previous posts. For the sake of brevity I have reduced Position to Pos. A
long trade is assigned
a value of +2, and a short trade a value of -1. Therefore Pos will have a
value >0 for any long
position (with or without a short position) and = ABS(1) for any short
position (with or without a
long position). I guess you do not expect to be in both a long and short
position at the same time,
but with system testing if it can happen then it will. There are probably a
number of other values
that could be used for Position but +2 and -1 seem to make it simple enough
to differentiate between
current positions.
Roy
Pos{ition}:=Ref(If(BarsSince(LongEntry OR Init)>=
BarsSince(LongExit OR Init),0,2) +
If(BarsSince(ShortEntry OR Init)>=
BarsSince(ShortExit OR Init),0,-1),-0);
EnterLong:=Alert(Pos<1,2) AND Pos>=1;
CloseLong:=Alert(Pos>=1,2) AND Pos<1;
EnterShort:=Alert(Abs(Pos)<>1,2) AND Abs(Pos)=1;
CloseShort:=Alert(Abs(Pos)=1,2) AND Abs(Pos)<>1;
|