[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [amibroker] Re: OT: convert Wealth lab fromula to Amibroker



PureBytes Links

Trading Reference Links

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
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
click here


Yahoo! Groups Links

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