PureBytes Links
Trading Reference Links
|
Anthony,
I took a stab at conversion... since I know nothing about wealth lab
I made some deductions...
It runs, but never exits the first position... take it as a
starting point... I'll let U know if it get further...
Walt
/*********************************/
// in AA settings set buy, sell, short, cover to "open" with 1 day
delay
// set "reverse signal forces exit"
// also set your stop prefs for the following two statements:
/* Install AutoStops */
/*InstallStopLoss( 12 ) */
threshold=2;
PtsPctATR=2; /*0=Points, 1=Precent, 2=ATR*/
tradetrends=1; /*0=trends and reactions, 1=trends only*/
inBuy=0;
outSell=0;
outCover=0;
inShort=0;
Buy=0;
Sell=0;
Cover=0;
Short=0;
/*State == 0 Uptrend */
/*State == 1 Dntrend */
/*State == 2 NatRally*/
/*State == 3 SecRally*/
/*State == 4 NatReact*/
/*State == 5 SecReact*/
if (PtsPctATR == 0)
{
Thresh=threshold;
HalfThresh=thresh/2;
}
for (Bar=1 ; bar<=21;bar++)
{
if (Bar == 1)
{
"Init";
SecondaryRally=C;
NaturalRally=C;
UpTrend=C;
SecondaryReaction=C;
NaturalReaction=C;
DnTrend=C;
ResumeUpTrend=False;
ResumeDnTrend=False;
UseRule10=False; /*if true try/test futures only*/
}
if (Bar <= 21)
{ /*1*/
MA10_Now=MA(Close, 10 );
MA10_10=MA( Ref(Close, -10 ), 10 );
if (Bar == 21)
{ /*2*/
if (LastValue(MA10_Now>MA10_10))
{
"InUpTrend";
State=0;
UpTrend=C;
}
else
{
"InDnTrend";
DnTrend=C;
State=1;
}
} /*2*/
} /*1*/
}
/*Main Loop*/
for (Bar=22;bar>0; bar--)
{ /*3*/
if (PtsPctATR == 1)
{
Thresh=threshold * (Ref(C,-1)/100);
HalfThresh=Thresh/2;
}
else if (PtsPctATR == 2)
{
Thresh=threshold * ATR(14);
HalfThresh=Thresh/2;
//"ATR thresh " + NumToStr(Thresh);
//"State " + NumToStr(State);
//"Price " + NumToStr(C);
//"Nat Reaction " + NumToStr(NaturalReaction);
}
if (state==0)
/* If InUpTrend */
{ /*4*/
if (LastValue(C > NaturalReaction + Thresh))
NaturalReactionRL=NaturalReaction; /*Rule 4b*/
//"InUpTrend";
if (ResumeUpTrend) /* Rule 10 logic. */
{ /*6*/
if (LastValue(C > UpTrendRL + HalfThresh))
{
ResumeUpTrend=False; /*Rule 10a*/
State=4; /*InNatReact*/
NaturalReaction=C;
UpTrend=C;
}
else if (LastValue(C < UpTrendRL -
HalfThresh))
{
ResumeUpTrend=False; /*Rule 10b*/
State=4; /*InNatReact*/
NaturalReaction=C;
}
} /*6*/
else if (LastValue(C < UpTrend - Thresh)) /*start
NaturalReaction*/
{ /*Rules 4a, 6a*/
State=4; /*InNatReact*/
UpTrendRL=UpTrEnd ;/*pivot point, rule 8*/
NaturalReaction=C;
ResumeUpTrend=False;
}
else if (LastValue(C > UpTrend)) /*remain in uptrend
higher high price*/
UpTrend=C;
} /*4 InUpTrend*/
if (state==2)
/*Natural Rally State*/
{ /*7*/
if (LastValue(C > NaturalReaction + thresh))
NaturalReactionRL=NaturalReaction; /*Rule 4b*/
if (LastValue(C > UpTrend)) /*resume UpTrend*/
{ /*rules 6d, 6f*/
State=0; /*InUpTrend*/
//" Set to InUpTrend";
UpTrend=C;
if (UseRule10) ResumeUpTrend=True;
}
else if (LastValue(C > NaturalRallyBL + HalfThresh))
{ /*Rules 5a*/
//"Set to InUpTrend";
State=0; /*InUpTrend*/
UpTrend=C;
if (UseRule10) ResumeUpTrend=True;
}
else if (LastValue(C < DnTrend)) /*Start DnTrend*/
{ /*Rule 6b*/
//"InNatRally start dntrend";
State=1; /*InDnTrend*/
DnTrend=C;
NaturalRallyBL=C; /*rule 4D*/
}
else if (LastValue(C < NaturalRally - Thresh))
{
if (LastValue(C < NaturalReaction)) /*start
Natural Reaction*/
{ /*rule 4d, 6b*/
State=4; /*InNatReact*/
//"InNatRally start nat reaction";
NaturalReaction=C;
NaturalRallyBL=C; /*rule 4D*/ /*Pivot
pt,
Rule 9b*/
}
else /*start secondaryreaction*/
{ /*rule 6h*/
//"InNatRally start sec reaction";
State=5; /*InSecReact*/
SecondaryReaction=C;
}
if (LastValue(C > NaturalRally))
NaturalRally=C;
//" none of the above";
}
} /*7 InNatRally*/
if (state==3) /* Secondary Rally State*/
{
if (LastValue(C > UpTrend))
{ /*rules 6d, 6f*/
//"InSecRally";
State=0; /*InUpTrend*/
UpTrend=C;
if (UseRule10) ResumeUpTrend=True;
}
else if (LastValue(C > NaturalRallyBL + halfthresh))
{ /*rules 5a*/
State=0; /*InUpTrend*/
UpTrend=C;
if (UseRule10) ResumeUpTrend=True;
}
else if (LastValue(C > NaturalRally))
{ /*rule 6g*/
State=2; /*InNatRally*/
NaturalRally=C;
}
else if (LastValue(C < DnTrend)) /*start DnTrend*/
{ /*rule 6b*/
State=1; /*InDnTrend*/
DnTrend=C;
NaturalRallyBL=C; /*rule 4d, pivot pt,
rule 9b*/
}
else if (LastValue(C > SecondaryRally)) /*record
higher high*/
SecondaryRally=C; /*rule 3, 6g*/
} /*InSecRally*/
/* DOWN TREND STATE*/
if (state==1)
{ /*9*/
if (LastValue(C < NaturalRally - Thresh))
NaturalRallyBL=NaturalRally; /*rule 4d*/
if (ResumeDnTrend) /*Rule 10 logic best works with
futures*/
{
if (LastValue(C < DnTrendBL - HalfThresh))
{
ResumeDnTrend=False; /*rule 10a*/
DnTrend=C; /*rule 2, 6b*/
}
else if (LastValue(C > DnTrendBL +
HalfThresh))
/*DnTrend Over*/
/*return to NaturalRally*/
{
//"return to NaturalRally";
ResumeDnTrend=False;
State=2; /*InNatRally*/
NaturalRally=C;
}
}
else if (LastValue(C > DnTrend + Thresh))
/*Start NaturalRally*/
{ /* rules 4c, 6c*/
//"return to NaturalRally";
State=2; /*InNatRally*/
NaturalRally=C;
DnTrendBL=DnTrend; /*Pivot Pt, Rule 8*/
ResumeDnTrend=False;
}
else if (LastValue(C < DnTrend)) /*remain in down
trend, record lower lows*/
DnTrend=C; /*Rule 2, 6b*/
} /*9 InDnTrend*/
if (state==4)
/* Natural Reaction State */
{ /*Nat Reaction State*/
if (LastValue(C < NaturalRally - Thresh))
NaturalRallyBL=NaturalRally; /*Rule 4d*/
if (LastValue(C < DnTrend)) /*resume DnTrend*/
{ /*Rule 6b, 6e*/
//"InNatReact - InDnTrend1";
State=1; /*InDnTrend*/
DnTrend=C;
if (UseRule10) ResumeDnTrend=True;
}
else if (LastValue(C < NaturalReactionRL -
halfthresh ))
/*resume DnTrend*/
{ /*rules 5b*/
//"InNatReact - InDnTrend2";
State=1; /*InDnTrend*/
DnTrend=C;
if (UseRule10) ResumeDnTrend=True;
}
else if (LastValue(C > UpTrend)) /*start
UpTrend*/
{ /*rule 6d*/
//"InNatReact - InUpTrend1";
State=0; /*InUpTrend*/
UpTrend=C;
NaturalReactionRL=C; /*rule 4b, pvt
point, rule 9c*/
}
else if (LastValue(C > NaturalReaction + Thresh))
{
if (LastValue(C > NaturalRally)) /*start
Natural Rally*/
{ /*rules 4b, 6d*/
State=2; /*In Nat Rally*/
NaturalRally=C;
NaturalReactionRL=C; /*rule 4b, pvt
point, rule 9c*/
}
else /*start SecondaryRally*/
{ /*rule 6g*/
State=3; /*In Sec Rally*/
SecondaryRally=C;
}
}
else if (LastValue(C<NaturalReaction))
/*remain in NaturalReaction , record lower lows*/
NaturalReaction=C; /*rule 3, 6a,6b*/
} /*InNatReact*/
if (state==5)
{
//"InSecReact";
if (LastValue(C<DnTrend)) /*resume DnTrend*/
{ /*rules 6b, 6e*/
State=1; /*InDnTrend*/
DnTrend=C;
if (UseRule10) ResumeDnTrend=True;
}
else if (LastValue(C<NaturalReactionRL - halfthresh))
{ /*rules 5b*/
State=1; /*InDnTrend*/
DnTrend=C;
if (UseRule10) ResumeDnTrend=True;
}
else if (LastValue(C > UpTrend)) /*start
UpTrend*/
{ /*rules 6d*/
State=0; /*InUpTrend*/
UpTrend=C;
NaturalReactionRL=C; /*rule 4b,pivot point,
rule 9c*/
}
else if (LastValue(C<NaturalReaction))
{ /*rules 6h*/
State=4; /*InNatReact*/
NaturalReaction=C;
}
else if (LastValue(C<SecondaryReaction))
/*record lower lows*/
SecondaryReaction=C; /*rule 6h*/
} /*InSecReact*/
else
{
//"Never get here! ";
}
}
/* Paint it */
//if (state==0)
//{
// SetBarColor( Bar, colorBlue );
//}
//if (state==1)
//{
// SetBarColor( Bar, colorRed ); /*Down Trend*/
//}
//if (state==2)
//{
// SetBarColor( Bar, colorBlack );
//}
//if (state==3)
//{
// SetBarColor( Bar, colorGreen );
//}
//if (state==4)
//{
// SetBarColor( Bar, colorYellow );
//}
//if (state==5)
//{
// SetBarColor( Bar, colorpurple );
//}
//else
//"!important to show! ";
//}
if (tradetrends)
{
inbuy=(State == 0);
inShort=(State == 1);
}
else
{
inbuy=(State == 0) OR (State == 2) OR (State == 3);
inShort=(State == 1) OR (State == 4) OR (State == 5);
}
Buy=ExRem(inbuy,outsell);
Sell=ExRem(outsell,inbuy);
Short=ExRem(inshort,outcover);
Cover=ExRem(outcover,inshort);
--- In amibroker@xxxxxxxxxxxxxxx, "Anthony Faragasso" <ajf1111@xxxx>
wrote:
> Thank you, I await the re-run...
>
> Anthony
> ----- Original Message -----
> From: duke.jones
> To: amibroker@xxxxxxxxxxxxxxx
> Sent: Saturday, March 12, 2005 8:37 PM
> Subject: Re: [amibroker] Re: OT: convert Wealth lab fromula to
Amibroker
>
>
> Anthony, scratch that second run as it is not exiting properly. I
need to rework the stop loss.
>
> -------Original Message-------
> > From: "duke.jones" <Duke.Jones@xxxx>
> > Subject: Re: [amibroker] Re: OT: convert Wealth lab fromula to
Amibroker
> > Sent: 12 Mar 2005 12:25:42
> >
> > Anthony,
> >
> > Here is the rerun using the installstops of 10%. The formula
needs to have the positions rewritten to remove the shorts but there
is no need as WL already gives you the long only and short only
position metrics. I have included some graphs of the plots with
various chart type formations, big winners, trading range etc so you
can see how it worked. I also ran this on a list of High RS stocks
and High EPS ranked stocks and it does very well catching big moves.
The risk is these induce higher drawdowns when market corrects but
the outperformance makes it something to explore in my book. I think
this might be a good exercise for me to try and convert but it will
have to go on the back burner as I am already way behind in my other
conversions.
> >
> > Duke Jones, CMT
> > -------Original Message-------
> > > From: "Anthony Faragasso"
> > > Subject: Re: [amibroker] Re: OT: convert Wealth lab fromula
to Amibroker
> > > Sent: 12 Mar 2005 19:51:43
> > >
> > > Duke,
> > >
> > > Thank you for running the formula....would you be so kind
as to run the formula for Long only....or does the formula have to be
edited ? ....
> > >
> > > Also, you mention stops....is the maximum stop loss on
initial purchase set to 10 % ?....if not could you set it to 10 %...
> > >
> > > Is there any provision in the formula to plot something on
a chart ? ...if there is could you attach a chart ?....
> > >
> > > Thank you
> > > Anthony
> > >
> > > Ps. I appreciate your time....thank you very much.
> > >
> > > ----- Original Message -----
> > > FROM: duke.jones
> > > TO: amibroker@xxxxxxxxxxxxxxx
> > > SENT: Saturday, March 12, 2005 7:20 PM
> > > SUBJECT: Re: [amibroker] Re: OT: convert Wealth lab
fromula to Amibroker
> > >
> > > Anthony, I don't know if I am at the stage of being able
to convert it to AFL yet but here is what it looks like with 5%
equity initial positions and the defined stops in the code.
> > >
> > > The list is a random sampling of securities between lg
cap small cap etc. The data runs from 01 to Nov 04.
> > >
> > > Regards,
> > >
> > > Duke Jones, CMT
> > > -------Original Message-------
> > > > From: "Anthony Faragasso"
> > > > Subject: Re: [amibroker] Re: OT: convert Wealth lab
fromula to Amibroker
> > > > Sent: 12 Mar 2005 18:49:40
> > > >
> > > > Hello Jim,
> > > >
> > > > It is not a joke, I am not familiar with Wealth lab
coding....
> > > >
> > > > This formula is supposed to represent Jesse Livermore's
trading rules / style....
> > > >
> > > > I was / am interested in testing it...
> > > >
> > > > Thanks
> > > > Anthony
> > > >
> > > > ----- Original Message -----
> > > > FROM: jnk1997
> > > > TO: amibroker@xxxxxxxxxxxxxxx
> > > > SENT: Saturday, March 12, 2005 1:30 PM
> > > > SUBJECT: [amibroker] Re: OT: convert Wealth lab
fromula to Amibroker
> > > >
> > > > Anthony,
> > > >
> > > > That looks like a lot of work (or is it a joke?).
> > > > Anyway's perhaps someone would be willing if you
published the WL
> > > > stats, like win rate etc.....
> > > > If somone does, please post it here.
> > > >
> > > > Regards
> > > > Jim
> > > >
> > > > --- In amibroker@xxxxxxxxxxxxxxx, "Anthony Faragasso"
> > > > wrote:
> > > > > Anyone able to convert this wealth lab formula to
Amibroker ?
> > > > >
> > > > > Thank you
> > > > > Anthony
> > > > > var Bar : integer;
> > > > > var SecondaryRally, NaturalRally,
SecondaryReaction, DnTrend :
> > > > float;
> > > > > var ResumeUpTrend, ResumeDnTrend, UseRule10 :
boolean;
> > > > > var Thresh , threshold,
HalfThresh ,NaturalReaction,
> > > > NaturalRallyBL, NaturalReactionRL, UpTrendRL,
UpTrend, DnTrendBL :
> > > > float;
> > > > > var MA10_10, MA10_Now , State,
ATRvalue : integer;
> > > > > var PtsPctATR, tradetrends : integer;
> > > > > { Install AutoStops }
> > > > > {InstallStopLoss( 12 ); }
> > > > > threshold := 2;
> > > > > PtsPctATR := 2; {0=Points, 1=Precent,
2=ATR}
> > > > > tradetrends := 1; {0=trends and reactions,
1=trends only}
> > > > > {State = 0 Uptrend }
> > > > > {State = 1 Dntrend }
> > > > > {State = 2 NatRally}
> > > > > {State = 3 SecRally}
> > > > > {State = 4 NatReact}
> > > > > {State = 5 SecReact}
> > > > > if (PtsPctATR = 0) then
> > > > > begin
> > > > > Thresh := threshold;
> > > > > HalfThresh := thresh/2;
> > > > > end;
> > > > > for Bar := 1 to 21 do
> > > > > begin
> > > > > if (Bar = 1) then
> > > > > begin
> > > > > AddCommentary('Init');
> > > > > SecondaryRally := PriceClose(bar);
> > > > > NaturalRally := PriceClose(bar);
> > > > > UpTrend := PriceClose(bar);
> > > > > SecondaryReaction := PriceClose(bar);
> > > > > NaturalReaction := PriceClose(bar);
> > > > > DnTrend := PriceClose(bar);
> > > > > ResumeUpTrend := false;
> > > > > ResumeDnTrend := false;
> > > > > UseRule10 := false; {if true try/test futures
only}
> > > > > end;
> > > > > if (Bar begin {1}
> > > > > MA10_Now := SMASeries( #Close, 10 );
> > > > > MA10_10 := SMASeries( OffSetSeries( #Close, -
10 ), 10 );
> > > > >
> > > > >
> > > > > if (Bar = 21) then
> > > > > begin {2}
> > > > >
> > > > > if @MA10_Now[Bar] > @MA10_10[Bar] then
> > > > > begin
> > > > > AddCommentary('InUpTrend');
> > > > > State := 0;
> > > > > UpTrend := PriceClose(bar);
> > > > > end
> > > > > else
> > > > > begin
> > > > > AddCommentary('InDnTrend');
> > > > > DnTrend := PriceClose(bar);;
> > > > > State := 1;
> > > > > end;
> > > > > end {2}
> > > > > end; {1}
> > > > > end;
> > > > >
> > > > > {Main Loop}
> > > > > for Bar := 22 to BarCount - 1 do
> > > > > begin {3}
> > > > >
> > > > > if (PtsPctATR = 1) then
> > > > > begin
> > > > > Thresh := threshold * (PriceClose(bar-
1)/100);
> > > > > HalfThresh := Thresh/2;
> > > > > end
> > > > > else if (PtsPctATR = 2) then
> > > > > begin
> > > > > Thresh := threshold * ATR(Bar, 14);
> > > > > HalfThresh := Thresh/2;
> > > > > AddCommentary('ATR thresh ' + FloatToStr
(Thresh));
> > > > > AddCommentary('State ' + IntToStr(State));
> > > > > AddCommentary('Price ' + FloatToStr
(PriceClose(bar)));
> > > > > AddCommentary('Nat Reaction ' + FloatToStr
(NaturalReaction));
> > > > > end;
> > > > > case State of
> > > > > 0:
> > > > > { If InUpTrend then}
> > > > > begin {4}
> > > > > if (PriceClose(bar) > (NaturalReaction +
Thresh)) then
> > > > > NaturalReactionRL := NaturalReaction;
{Rule 4b}
> > > > > AddCommentary('InUpTrend');
> > > > >
> > > > > if ResumeUpTrend then { Rule 10
logic. }
> > > > > begin {6}
> > > > > if (PriceClose(bar) > (UpTrendRL +
HalfThresh)) then
> > > > > begin
> > > > > ResumeUpTrend := false; {Rule
10a}
> > > > > State := 4; {InNatReact}
> > > > > NaturalReaction := PriceClose
(bar);
> > > > > UpTrend := PriceClose(bar);
> > > > > end
> > > > > else if (PriceClose(bar) <
(UpTrendRL - HalfThresh))
> > > > then
> > > > > begin
> > > > > ResumeUpTrend := false;
{Rule 10b}
> > > > > State := 4; {InNatReact}
> > > > > NaturalReaction := PriceClose
(bar);
> > > > > end;
> > > > > end {6}
> > > > > else if (PriceClose(bar) < (UpTrend -
Thresh)) then
> > > > {start NaturalReaction}
> > > > > begin {Rules 4a, 6a}
> > > > > State := 4; {InNatReact}
> > > > > UpTrendRL := UpTrend; {pivot
point, rule 8}
> > > > > NaturalReaction := PriceClose
(bar);
> > > > > ResumeUpTrend := false;
> > > > > end
> > > > > else if (PriceClose(bar) > UpTrend)
then {remain in
> > > > uptrend higher high price}
> > > > > UpTrend := PriceClose(bar);
> > > > > end; {4 InUpTrend}
> > > > > 2:
> > > > > {Natural Rally State}
> > > > > begin {7}
> > > > >
> > > > > if (PriceClose(bar) >
(NaturalReaction + thresh)) then
> > > > > NaturalReactionRL :=
NaturalReaction; {Rule 4b}
> > > > > if (PriceClose(bar) > UpTrend) then
{resume UpTrend}
> > > > > begin {rules 6d, 6f}
> > > > > State := 0; {InUpTrend}
> > > > > AddCommentary(' Set to
InUpTrend');
> > > > > UpTrend := PriceClose(bar);
> > > > > if UseRule10 then
ResumeUpTrend := true;
> > > > > end
> > > > > else if (PriceClose(bar) >
(NaturalRallyBL +
> > > > HalfThresh)) then
> > > > > begin {Rules 5a}
> > > > > AddCommentary('Set to
InUpTrend');
> > > > > State := 0; {InUpTrend}
> > > > > UpTrend := PriceClose(bar);
> > > > > if UseRule10 then
ResumeUpTrend := true;
> > > > > end
> > > > > else if (PriceClose(bar) <
DnTrend) then {Start
> > > > DnTrend}
> > > > > begin {Rule 6b}
> > > > > AddCommentary('InNatRally
start dntrend');
> > > > > State := 1; {InDnTrend}
> > > > > DnTrend := PriceClose(bar);
> > > > > NaturalRallyBL := PriceClose
(bar); {rule 4D}
> > > > > end
> > > > > else if (PriceClose(bar) <
(NaturalRally - Thresh))
> > > > then
> > > > > begin
> > > > > if (PriceClose(bar) <
NaturalReaction) then
> > > > {start Natural Reaction}
> > > > > begin {rule 4d, 6b}
> > > > > State := 4; {InNatReact}
> > > > > AddCommentary('InNatRally
start nat
> > > > reaction');
> > > > > NaturalReaction :=
PriceClose(bar);
> > > > > NaturalRallyBL :=
PriceClose(bar); {rule 4D}
> > > > {Pivot pt, Rule 9b}
> > > > > end
> > > > > else {start
secondaryreaction}
> > > > > begin {rule 6h}
> > > > > AddCommentary('InNatRally
start sec
> > > > reaction');
> > > > > State := 5; {InSecReact}
> > > > > SecondaryReaction :=
PriceClose(bar);
> > > > > end;
> > > > > if (PriceClose(bar) >
NaturalRally) then
> > > > > NaturalRally :=
PriceClose(bar);
> > > > > AddCommentary(' none of the
above');
> > > > > end;
> > > > > end; {7 InNatRally}
> > > > > 3: { Secondary Rally State}
> > > > > begin
> > > > > if (PriceClose(bar) >
UpTrend) then
> > > > > begin {rules 6d, 6f}
> > > > > AddCommentary
('InSecRally');
> > > > > State := 0; {InUpTrend}
> > > > > UpTrend := PriceClose
(bar);
> > > > > if UseRule10 then
ResumeUpTrend := true;
> > > > > end
> > > > > else if (PriceClose(bar) >
(NaturalRallyBL +
> > > > halfthresh)) then
> > > > > begin {rules 5a}
> > > > > State := 0; {InUpTrend}
> > > > > UpTrend := PriceClose
(bar);
> > > > > if UseRule10 then
ResumeUpTrend := true;
> > > > > end
> > > > > else if (PriceClose(bar) >
NaturalRally) then
> > > > > begin {rule 6g}
> > > > > State := 2;
{InNatRally}
> > > > > NaturalRally :=
PriceClose(bar);
> > > > > end
> > > > > else if (PriceClose(bar)
< DnTrend) then
> > > > {start DnTrend}
> > > > > begin {rule 6b}
> > > > > State := 1;
{InDnTrend}
> > > > > DnTrend := PriceClose
(bar);
> > > > > NaturalRallyBL :=
PriceClose(bar); {rule
> > > > 4d, pivot pt, rule 9b}
> > > > > end
> > > > > else if (PriceClose(bar)
> SecondaryRally)
> > > > then {record higher high}
> > > > > SecondaryRally :=
PriceClose(bar); {rule
> > > > 3, 6g}
> > > > > end; {InSecRally}
> > > > > { DOWN TREND STATE}
> > > > > 1:
> > > > > begin {9}
> > > > >
> > > > > if (PriceClose(bar) <
(NaturalRally - Thresh))
> > > > then
> > > > > NaturalRallyBL :=
NaturalRally; {rule 4d}
> > > > > if ResumeDnTrend then {Rule 10
logic best works
> > > > with futures}
> > > > > begin
> > > > > if (PriceClose(bar) <
(DnTrendBL -
> > > > HalfThresh)) then
> > > > > begin
> > > > > ResumeDnTrend := false;
{rule 10a}
> > > > > DnTrend := PriceClose
(bar); {rule 2, 6b}
> > > > > end
> > > > > else if (PriceClose(bar) >
(DnTrendBL +
> > > > HalfThresh)) then {DnTrend Over}
> > > > > {return to NaturalRally}
> > > > > begin
> > > > > AddCommentary('return
to NaturalRally');
> > > > > ResumeDnTrend := false;
> > > > > State := 2;
{InNatRally}
> > > > > NaturalRally :=
PriceClose(bar);
> > > > > end;
> > > > > end
> > > > > else if (PriceClose(bar) >
(DnTrend +
> > > > Thresh)) then {Start NaturalRally}
> > > > > begin { rules 4c, 6c}
> > > > > AddCommentary('return
to NaturalRally');
> > > > > State := 2;
{InNatRally}
> > > > > NaturalRally :=
PriceClose(bar);
> > > > > DnTrendBL := DnTrend;
{Pivot Pt, Rule 8}
> > > > > ResumeDnTrend := false;
> > > > > end
> > > > > else if (PriceClose(bar)
< DnTrend) then
> > > > {remain in down trend, record lower lows}
> > > > > DnTrend := PriceClose
(bar); {Rule 2, 6b}
> > > > > end; {9 InDnTrend}
> > > > > 4:
> > > > > { Natural Reaction State }
> > > > > begin {Nat Reaction State}
> > > > > if (PriceClose(bar) <
(NaturalRally -
> > > > Thresh)) then
> > > > > NaturalRallyBL :=
NaturalRally; {Rule 4d}
> > > > > if (PriceClose(bar) <
DnTrend) then {resume
> > > > DnTrend}
> > > > > begin {Rule 6b, 6e}
> > > > > AddCommentary
('InNatReact - InDnTrend1');
> > > > > State := 1;
{InDnTrend}
> > > > > DnTrend := PriceClose
(bar);
> > > > > if UseRule10 then
ResumeDnTrend := true;
> > > > > end
> > > > > else if (PriceClose(bar)
<
> > > > (NaturalReactionRL - halfthresh )) then
> > > > > {resume DnTrend}
> > > > > begin {rules 5b}
> > > > > AddCommentary
('InNatReact - InDnTrend2');
> > > > > State := 1;
{InDnTrend}
> > > > > DnTrend :=
PriceClose(bar);
> > > > > if UseRule10 then
ResumeDnTrend := true;
> > > > > end
> > > > > else if (PriceClose
(bar) > UpTrend) then
> > > > {start UpTrend}
> > > > > begin {rule 6d}
> > > > > AddCommentary
('InNatReact - InUpTrend1');
> > > > > State := 0;
{InUpTrend}
> > > > > UpTrend :=
PriceClose(bar);
> > > > > NaturalReactionRL :=
PriceClose(bar);
> > > > {rule 4b, pvt point, rule 9c}
> > > > > end
> > > > > else if (PriceClose
(bar) >
> > > > NaturalReaction + Thresh) then
> > > > > begin
> > > > > if (PriceClose
(bar) > NaturalRally)
> > > > then {start Natural Rally}
> > > > > begin {rules
4b, 6d}
> > > > > State := 2; {In
Nat Rally}
> > > > >
NaturalRally := PriceClose(bar);
> > > > >
NaturalReactionRL := PriceClose
> > > > (bar); {rule 4b, pvt point, rule 9c}
> > > > > end
> > > > > else {start
SecondaryRally}
> > > > > begin {rule
6g}
> > > > > State := 3;
{In Sec Rally}
> > > > >
SecondaryRally := PriceClose(bar);
> > > > > end;
> > > > > end
> > > > > else if (PriceClose
(bar) <
> > > > NaturalReaction) then {remain in NaturalReaction ,
record lower lows}
> > > > > NaturalReaction :=
PriceClose(bar);
> > > > {rule 3, 6a, 6b}
> > > > > end; {InNatReact}
> > > > > 5:
> > > > > begin
> > > > > AddCommentary
('InSecReact');
> > > > > if (PriceClose(bar) <
DnTrend) then
> > > > {resume DnTrend}
> > > > > begin {rules 6b, 6e}
> > > > > State := 1;
{InDnTrend}
> > > > > DnTrend :=
PriceClose(bar);
> > > > > if UseRule10 then
ResumeDnTrend := true;
> > > > > end
> > > > > else if (PriceClose
(bar) <
> > > > (NaturalReactionRL - halfthresh)) then
> > > > > begin {rules 5b}
> > > > > State := 1;
{InDnTrend}
> > > > > DnTrend :=
PriceClose(bar);
> > > > > if UseRule10 then
ResumeDnTrend := true;
> > > > > end
> > > > > else if (PriceClose
(bar) > UpTrend) then
> > > > {start UpTrend}
> > > > > begin {rules 6d}
> > > > > State := 0;
{InUpTrend}
> > > > > UpTrend :=
PriceClose(bar);
> > > > >
NaturalReactionRL := PriceClose(bar);
> > > > {rule 4b, pivot point, rule 9c}
> > > > > end
> > > > > else if (PriceClose
(bar) <
> > > > NaturalReaction) then
> > > > > begin {rules 6h}
> > > > > State := 4;
{InNatReact}
> > > > >
NaturalReaction := PriceClose(bar);
> > > > > end
> > > > > else if (PriceClose
(bar) <
> > > > SecondaryReaction) then {record lower lows}
> > > > >
SecondaryReaction := PriceClose
> > > > (bar); {rule 6h}
> > > > > end; {InSecReact}
> > > > > else
> > > > > begin
> > > > > AddCommentary('Never get
here! ');
> > > > > end;
> > > > > end;
> > > > > { Paint it }
> > > > > case State of
> > > > > 0:
> > > > > begin
> > > > > SetBarColor( Bar, #blue );
> > > > > end;
> > > > > 1:
> > > > > begin
> > > > > SetBarColor( Bar, #Red ); {Down Trend}
> > > > > end;
> > > > > 2:
> > > > > begin
> > > > > SetBarColor( Bar, #Black );
> > > > > end;
> > > > > 3:
> > > > > begin
> > > > > SetBarColor( Bar, #Green );
> > > > > end;
> > > > > 4:
> > > > > begin
> > > > > SetBarColor( Bar, #yellow );
> > > > > end;
> > > > > 5:
> > > > > begin
> > > > > SetBarColor( Bar, #purple );
> > > > > end
> > > > > else
> > > > > AddCommentary('not important to show! ');
> > > > > end;
> > > > > if (tradetrends = 1) then
> > > > > { Trend Rules }
> > > > > begin
> > > > > if (State = 0) then {uptrend}
> > > > > begin
> > > > > if (not lastpositionactive()) then
> > > > > begin
> > > > > buyAtMarket( Bar+1, 'LE');
> > > > > end;
> > > > > if positionshort(lastposition) then
> > > > > coverAtMarket(
Bar+1,LastPosition, 'SXL');
> > > > > end;
> > > > >
> > > > > if (State = 1) then {downtrend}
> > > > > begin
> > > > > if (not lastpositionactive()) then
> > > > > begin
> > > > > shortAtMarket( Bar+1, 'SE');
> > > > > end;
> > > > > if positionlong(lastposition) then
> > > > > SellAtMarket( Bar+1,
Lastposition, 'LXS');
> > > > > end;
> > > > >
> > > > > end
> > > > > else
> > > > > { Trend plus Rules = trade trends, rallies,
reactions}
> > > > > begin
> > > > > if ((State = 0) or (State = 2) or (State =
3)) then
> > > > > begin
> > > > > if (not lastpositionactive()) then
> > > > > begin
> > > > > buyAtMarket( Bar+1, 'LE');
> > > > > end;
> > > > > if positionshort(lastposition) then
> > > > > coverAtMarket(
Bar+1,LastPosition, 'SXL');
> > > > > end;
> > > > >
> > > > > if ((State = 1) or (State = 4) or (State =
5)) then
> > > > > begin
> > > > > if (not lastpositionactive()) then
> > > > > begin
> > > > > shortAtMarket( Bar+1, 'SE');
> > > > > end;
> > > > > if positionlong(lastposition) then
> > > > > SellAtMarket( Bar+1,
Lastposition, 'LXS');
> > > > > end;
> > > > > end;
> > > > >
> > > > > end;
> > > > >
> > > > >
> > > > > No virus found in this outgoing message.
> > > > > Checked by AVG Anti-Virus.
> > > > > Version: 7.0.308 / Virus Database: 266.7.2 -
Release Date: 3/11/2005
> > > >
> > > > 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 other support material please check also:
> > > > http://www.amibroker.com/support.html
> > > >
> > > > -------------------------
> > > >
> > > > No virus found in this incoming message.
> > > > Checked by AVG Anti-Virus.
> > > > Version: 7.0.308 / Virus Database: 266.7.2 - Release
Date: 3/11/2005
> > > >
> > > > 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 other support material please check also:
> > > > http://www.amibroker.com/support.html
> > > >
> > > > YAHOO! GROUPS SPONSOR
> > > >
> > > > ADVERTISEMENT
> > > >
> > > > -------------------------
> > > > 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 the Yahoo!
Terms of Service.
> > > >
> > > > -------------------------
> > > > No virus found in this outgoing message.
> > > > Checked by AVG Anti-Virus.
> > > > Version: 7.0.308 / Virus Database: 266.7.2 - Release
Date: 3/11/2005
> > > -------Original Message-------
> > >
> > > 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 other support material please check also:
> > > http://www.amibroker.com/support.html
> > >
> > > -------------------------
> > >
> > > No virus found in this incoming message.
> > > Checked by AVG Anti-Virus.
> > > Version: 7.0.308 / Virus Database: 266.7.2 - Release
Date: 3/11/2005
> > >
> > > 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 other support material please check also:
> > > http://www.amibroker.com/support.html
> > >
> > > YAHOO! GROUPS SPONSOR
> > >
> > > ADVERTISEMENT
> > >
> > > -------------------------
> > > 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 the Yahoo! Terms of
Service.
> > >
> > > -------------------------
> > > No virus found in this outgoing message.
> > > Checked by AVG Anti-Virus.
> > > Version: 7.0.308 / Virus Database: 266.7.2 - Release Date:
3/11/2005
> > -------Original Message-------
> >
> > 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 other support material please check also:
> > http://www.amibroker.com/support.html
> >
> > YAHOO! GROUPS SPONSOR
> >
> > ADVERTISEMENT
> >
> > -------------------------
> > 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 the Yahoo! Terms of
Service.
> -------Original Message-------
>
>
> 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 other support material please check also:
> http://www.amibroker.com/support.html
>
>
>
>
> Yahoo! Groups Sponsor
> ADVERTISEMENT
>
>
>
>
>
> --------------------------------------------------------------------
----------
> 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.
>
>
>
>
> --------------------------------------------------------------------
----------
>
>
> No virus found in this incoming message.
> Checked by AVG Anti-Virus.
> Version: 7.0.308 / Virus Database: 266.7.2 - Release Date:
3/11/2005
>
> No virus found in this outgoing message.
> Checked by AVG Anti-Virus.
> Version: 7.0.308 / Virus Database: 266.7.2 - Release Date: 3/11/2005
------------------------ Yahoo! Groups Sponsor --------------------~-->
Has someone you know been affected by illness or disease?
Network for Good is THE place to support health awareness efforts!
http://us.click.yahoo.com/Rcy2bD/UOnJAA/cosFAA/GHeqlB/TM
--------------------------------------------------------------------~->
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 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/
<*> 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/
|