| 
 PureBytes Links 
Trading Reference Links 
 | 
| 
 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 -----  
  
  
  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" <ajf1111@x...> 
   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 
  <= 21) then >   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
 ![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
 
 |