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 -----
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"
<ajf1111@xxxxxxxx> > 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
|