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

Re: [amibroker] Var IAF another question



PureBytes Links

Trading Reference Links




Keith:
 
I've been trying to find Stephane's PowerSAR for some time now, but I have 
no clue where it is. I've looked in the 3rd party area and the Yahoo groups 
files area, but I see nothing labeled PowerSAR. Can you point me to where it is? 
Thanks a lot.
 
Al Venosa
<BLOCKQUOTE 
>
  ----- Original Message ----- 
  <DIV 
  >From: 
  Keith 
  Bennett 
  To: <A title=amibroker@xxxxxxxxxxxxxxx 
  href="">amibroker@xxxxxxxxxxxxxxx 
  Sent: Saturday, May 03, 2003 1:05 
PM
  Subject: [amibroker] Var IAF another 
  question
  For Peter & Dimitris,I use SAR variants in 
  conjunction with a custom composite index for market timing and then I use 
  these signals to trade hi betas. Of particular value to me was the 
  powerSAR dll posted by Stephane some time ago (thank you Stephane) which 
  importantly provided different acceleration factors for "long" and "short" 
  positions.I'm not even close to being able to understand your attached 
  code but I have loaded it into IB and immediately noted that "as is" the 
  SARafl reversal signals often occured one day (sometimes two) earlier 
  than the "best" signals from powerSAR.Would it be 
  possible/difficult to provide this same facilty in SARafl to independently 
  set the "long" and "short" accelerations. Thank you both for your many 
  contributions.Keith--- In amibroker@xxxxxxxxxxxxxxx, 
  "bluesinvestor" <investor@xxxx> wrote:> 
  Dimitris,>  > You are correct ... I did not make any other 
  modifications other than> what you suggested in your prior email 
  (sorry).>  > Attached is another version that takes 
  variable arrays for IAF and> MaxIAF.  Below are answers to your 
  comments.>  > Regards,> Peter>  > 
  -----Original Message-----> From: DIMITRIS TSOKAKIS 
  [mailto:TSOKAKIS@xxxx] > Sent: Saturday, May 03, 2003 6:22 AM> 
  To: amibroker@xxxxxxxxxxxxxxx> Subject: [amibroker] Var IAF Re: 
  DIMITRIS- Question>  > Peter,> thank you very much 
  for your reply.> I can not make a lot of comments on your code, see 
  my> <A 
  href="">http://groups.yahoo.com/group/amibroker/message/39501> 
  experimental idea.> I hope you will excuse my naive comments 
  below.> Dimitris Tsokakis >  >  > --- In 
  amibroker@xxxxxxxxxxxxxxx, "bluesinvestor" <investor@xxxx> > 
  wrote:> > Dimitris,> > > > It does not seem to 
  make a big difference with a variable IAF.> > > > 
  Peter> > > > // Initialize IAF Array> > 
  X=(DEMA(StochD(40),20)-50)/50; > > 
  IAF=0.05*(1.1+abs(X));>  > this function varies [for ^NDX] 
  from 0.055 to 0.105> It is important for the MaxAF selection> 
  Fixed in attached version>  > > > > function 
  SARafl( Cvar, Hvar, Lvar, MaxAF )> > {> 
  >     //IAF = 0.02;       
  // acceleration factor> >     //MaxAF = 
  0.02;     // max acceleration>  > It 
  does not make sense to me. MaxAF should be at least 10*IAF> Fixed - 
  actually 20*IAF based on your prior email>  > 
  >     psar = 
  Cvar;            // 
  initialize> >     long = 
  1;        // assume long for initial 
  conditions> >     af = IAF[ 0 
  ];         // init acelleration 
  factor>  > I suppose here you define the initial af 
  value> yes>  > >     ep = 
  Lvar[ 0 ];   // init extreme point> 
  >     hp = Hvar [ 0 ];> 
  >     lp = Lvar [ 0 ];> > > 
  >     for( i = 2; i < BarCount; i++ )> 
  >     {> 
  >           if ( long 
  )> >           
  {> 
  >                 
  psar [ i ] = psar [ i-1 ] + af * ( hp - psar [> > i-1 ] 
  );>  > I suppose here you create the various psar values. 
  > af has still it initial value ? I do not see variable af 
  here.> af changes in other portions of the code - it is 
  variable>  > 
  >           }> 
  >           else> 
  >           {> 
  >                 
  psar [ i ] = psar [ i-1 ] + af * ( lp - psar [> > i-1 ] 
  );>  > af still has its initial value ?> not 
  necessarily>  > 
  >           }> 
  > > >           
  reverse =  0;> 
  >           //check for 
  reversal> 
  >           if ( long 
  )> >           
  {> 
  >                 
  if ( Lvar [ i ] < psar [ i ]  )> 
  >                 
  {> 
  >                       
  long = 0; reverse = 1; // reverse> > position to Short> 
  >                       
  psar [ i ] =  hp;       // SAR is 
  Hvar> > point in prev trade> 
  >                       
  lp = Lvar [ i ];> 
  >                       
  //af = IAF;> 
  >                       
  af = IAF[ i ];> af changes here ---------^> 
  >                 
  }> >           
  }> >           
  else> >           
  {> 
  >                 
  if ( Hvar [ i ] > psar [ i ]  )> 
  >                 
  {> 
  >                       
  long = 1; reverse = > 1;        
  //reverse> > position to long> 
  >                       
  psar [ i ] =  lp;> 
  >                       
  hp = Hvar [ i ];> 
  >                       
  //af = IAF;> 
  >                       
  af = IAF[ i ];> af changes here ---------^> 
  >                 
  }> >           
  }> > > 
  >           if ( reverse 
  == 0 )> 
  >           {> 
  >                 
  if ( long )> 
  >                 
  {> 
  >                       
  if ( Hvar [ i ] > hp ) > 
  >                       
  {> 
  >                             
  hp = Hvar [ i ]; > 
  >                             
  //af = af + IAF;> 
  >                             
  af = af + IAF[ i ]; > 
  >                             
  if( af > MaxAF ) af = MaxAF; > 
  >                       
  }> 
  >              
  > 
  >                       
  if( Lvar[ i - 1 ] < psar[ i ] ) psar[ > i> > ] = Lvar[ i - 
  1 ];> 
  >                       
  if( Lvar[ i - 2 ] < psar[ i ] ) psar[ > i> > ] = Lvar[ i - 
  2 ];> 
  >                 
  }> 
  >            
  else> 
  >                 
  {> 
  >                       
  if ( Lvar [ i ] < lp )  > 
  >                       
  { > 
  >                             
  lp = Lvar [ i ]; > 
  >                             
  //af = af + IAF; > 
  >                             
  af = af + IAF[ i ];> 
  >                             
  if( af > MaxAF ) af = MaxAF; > 
  >                       
  }     > 
  >                       
  > 
  >                       
  if( Hvar[ i - 1 ] > psar[ i ] ) psar[ > i> > ] = Hvar[ i - 
  1 ];> 
  >                       
  if( Hvar[ i - 2 ] > psar[ i ] ) psar[ > i> > ] = Hvar[ i - 
  2 ];> > > 
  >                 
  }> >           
  }> >     }> >     
  return psar;> > }> > > > Plot( Close, "Price", 
  colorBlack, styleCandle );> > Plot( SARafl(C,H,L,0.02), "SAR", 
  colorRed, styleDots | styleNoLine |> > styleThick );> 
  > > > Filter=1;> > 
  AddColumn(SAR(.02,.02),"SAR");>  > you use the same IAF, 
  maxAF here ?> just for comparison . this is the built-in SAR() 
  function>  > > 
  AddColumn(SARafl(C,H,L,0.02),"SARafl");>  > 0.02 is very 
  low for maxIAF> this is variable in the current codeSend 
  BUG REPORTS to bugs@xxxxxxxxxxxxxSend SUGGESTIONS to 
  suggest@xxxxxxxxxxxxx-----------------------------------------Post 
  AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: <A 
  href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
  group FAQ at: <A 
  href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
  Your use of Yahoo! Groups is subject to the <A 
  href="">Yahoo! Terms of Service. 







Yahoo! Groups Sponsor












Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html



Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.