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

[amibroker] Var IAF Re: DIMITRIS- Question



PureBytes Links

Trading Reference Links

Peter,
thank you very much for your reply.
I can not make a lot of comments on your code, see my
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

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

> 	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

> 	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.
 
> 		}
> 		else
> 		{
> 			psar [ i ] = psar [ i-1 ] + af * ( lp - psar [
> i-1 ] );

af still has its initial value ?

> 		}
> 
> 		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 ];
> 			}
> 		}
> 		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 ];
> 			}
> 		}
> 
> 		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 ?

> AddColumn(SARafl(C,H,L,0.02),"SARafl");

0.02 is very low for maxIAF
> AddColumn(iaf,"IAF");
> 
> -----Original Message-----
> From: DIMITRIS TSOKAKIS [mailto:TSOKAKIS@x...] 
> Sent: Friday, May 02, 2003 2:57 PM
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: [amibroker] Re: DIMITRIS- Question
> 
> Peter,
> Tough question [I hope the same for the answer...].
> To use  realistic examples, the 
> 
> X=(DEMA(StochD(40),20)-50)/50;// the divergence of the smoothed 
> stochastics from the average line
> IAF=0.05*(1.1+X);Plot(IAF,"",4,1);
> 
> can make IAF vary from 0.01 [bearish] to 0.1[bullish]
> For an alternative, the
> 
> X=(DEMA(StochD(40),20)-50)/50;
> IAF=0.05*(1.1-X);Plot(IAF,"",4,1);
> 
> can make IAF vary from 0.01 [bullish] to 0.1 [bearish].
> You can also arrange IAF to be fast at the end of the trend 
[bullish 
> OR bearish] and slow during the trend with the simple alternative
> 
> X=(DEMA(StochD(40),20)-50)/50;
> IAF=0.05*(1.1+abs(X));Plot(IAF,"",4,1);
> 
> this would keep you close to the main curve at decision points 
> and far from the main curve when it is better to go with the trend 
> and wait.
> This is an initial example to control the SAR exits according to 
the 
> market behavior and SAR may be *any* indicator companion.
> The last 3 years we saw fast uptrends and prolonged downtrends, an 
> opposite to the 98-99 days. 
> It does not make sense to use *always* the same IAF because you do 
> not have functions to do the right thing.
> On the other side, the use of variable parameters  is the next, 
> advanced, T/A step.
> Bullish, congestive and bearish phase can be [and should always be] 
> just numbers.
> [It is the basic Pythagorean principle, true the last 2500 years]
> A good trend detector may give you these numbers.
> A good T/A software should help you to introduce these numbers 
> everywhere, get the refined results, apply them to the market and 
> catch the bird.
> Without variable parameters we shall be permanent victims of the 
> whipsaws [and I do not like it !!!]
> Thanks for the creative communication.
> Dimitris Tsokakis 
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "bluesinvestor" <investor@xxxx> 
> wrote:
> > Dimitris,
> > 
> > IAF and AF are not variable in the code I provided, although they 
> could
> > be.  But what type of array(s) would be passed for that 
> information?  Or
> > would they be calculated on the fly?
> > 
> > Regards,
> > Peter
> > 
> > -----Original Message-----
> > From: DIMITRIS TSOKAKIS [mailto:TSOKAKIS@x...] 
> > Sent: Friday, May 02, 2003 1:29 PM
> > To: amibroker@xxxxxxxxxxxxxxx
> > Subject: [amibroker] Re: DIMITRIS- Question
> > 
> > Peter,
> > thank you for the effort.
> > The question for SAR is in variable IAF and/or AF.
> > This will make the initial SAR more flexible.
> > Is it possible through your code ?
> > As for the variable inputs, we can simply have a SAR of any 
> indicator 
> > with a simple H,L replacement : 
> > Example [the MeanCMO and its SAR companion]
> > 
> > m25=Foreign("~sumCMO25","C");// after creating the ~sumCMO25 in AA
> > m=Foreign("~count","v");
> > meanCMO25=m25/m;
> > DD=DEMA(MEANCMO25,15);
> > H=dd;L=dd;// the replacement
> > cc=SAR(0.01,0.2 );
> > This 0.01 works well for the N100 database, it would be better to 
> > vary from 0.01 to 0.08 according to the trend evolution.
> > The same for 0.2, it would be better to go up to 0.8 sometimes.
> > Dimitris Tsokakis
> > --- In amibroker@xxxxxxxxxxxxxxx, "bluesinvestor" <investor@xxxx> 
> > wrote:
> > > Hello Dimitris,
> > > 
> > > A little modification from Tomasz original code and 'kitakste 
> edho'
> > > (excuse my lousy Greek ;)
> > > 
> > > Regards,
> > > Peter
> > > 
> > > function SARafl( Cvar, Hvar, Lvar, IAF, MaxAF )
> > > {
> > > 	//IAF = 0.02;       // acceleration factor
> > > 	//MaxAF = 0.02;     // max acceleration
> > > 
> > > 	psar = Cvar;		// initialize
> > > 	long = 1;        // assume long for initial conditions
> > > 	af = IAF;         // init acelleration factor
> > > 	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 ] );
> > > 		}
> > > 		else
> > > 		{
> > > 			psar [ i ] = psar [ i-1 ] + af * ( lp - psar [
> > > i-1 ] );
> > > 		}
> > > 
> > > 		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;
> > > 			}
> > > 		}
> > > 		else
> > > 		{
> > > 			if ( Hvar [ i ] > psar [ i ]  )
> > > 			{
> > > 				long = 1; reverse = 
> > 1;        //reverse
> > > position to long
> > > 				psar [ i ] =  lp;
> > > 				hp = Hvar [ i ];
> > > 				af = IAF;
> > > 			}
> > > 		}
> > > 
> > > 		if ( reverse == 0 )
> > > 		{
> > > 			if ( long )
> > > 			{
> > > 				if ( Hvar [ i ] > hp ) 
> > > 				{
> > > 					hp = Hvar [ i ]; 
> > > 					af = af + IAF; 
> > > 					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; 
> > > 					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( psar, "SAR", colorRed, styleDots | styleNoLine | 
> styleThick );
> > > 
> > > Filter=1;
> > > AddColumn(SAR(.02,.02),"SAR");
> > > AddColumn(SARafl(C,H,L,0.02,0.02),"SARafl");
> > > 
> > > -----Original Message-----
> > > From: DIMITRIS TSOKAKIS [mailto:TSOKAKIS@x...] 
> > > Sent: Friday, May 02, 2003 3:40 AM
> > > To: amibroker@xxxxxxxxxxxxxxx
> > > Subject: [amibroker] Re: DIMITRIS- Question
> > > 
> > > Wally,
> > > You may go to
> > > http://groups.yahoo.com/group/amibroker/message/38370
> > > http://groups.yahoo.com/group/amibroker/message/38424
> > > for the two alternatives.[I hope enough explained].
> > > I try to introduce variable smoothing to an already useful 
trend 
> > > detector, the DEMA(StochD(40),20).
> > > It has nothing to do with PSAR, it is a stand-alone indicator.
> > > Since it is quite smooth, I use 3-bars peak to signal the 
change 
> of 
> > > the direction.
> > > DT
> > > PS. We will follow a similar procedure, when PSAR will accept 
> > > variable parameters, to improove PSAR results.
> > > 
> > > --- In amibroker@xxxxxxxxxxxxxxx, "netbull2000" 
> <netbull2000@xxxx> 
> > > wrote:
> > > > I read in one of the messages here that you came up with some 
> new 
> > > > trend indicator that seems to be better than PSAR. Could you 
> > please 
> > > > point me to your relevant message concerning this indicator. 
I 
> am 
> > > > interested in this as PSAR is about the only indicator I have 
> > some 
> > > > respect for.
> > > > 
> > > > Thanks...
> > > > Wally
> > > 
> > > 
> > > 
> > > Send BUG REPORTS to bugs@xxxx
> > > Send SUGGESTIONS to suggest@xxxx
> > > -----------------------------------------
> > > 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
> > > http://docs.yahoo.com/info/terms/
> > 
> > 
> > 
> > Send BUG REPORTS to bugs@xxxx
> > Send SUGGESTIONS to suggest@xxxx
> > -----------------------------------------
> > 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
> > http://docs.yahoo.com/info/terms/
> 
> 
> 
> Send BUG REPORTS to bugs@xxxx
> Send SUGGESTIONS to suggest@xxxx
> -----------------------------------------
> 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
> http://docs.yahoo.com/info/terms/


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Get A Free Psychic Reading!
Your Online Answer To Life's Important Questions.
http://us.click.yahoo.com/cjB9SD/od7FAA/uetFAA/GHeqlB/TM
---------------------------------------------------------------------~->

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 http://docs.yahoo.com/info/terms/