PureBytes Links
Trading Reference Links
|
Would AMA() or AMA2() do what you
want?
Bill
----- Original Message -----
Sent: March 06, 2009 6:48 AM
Subject: [amibroker] Re: AFL loop
question
I have done some more "try and error" to see how to make it
work but still have problems referencing previous bar array
values
Length = Param("Length", 1, 1, 100, 1); k = StDev(C, 10) /
MA(StDev(C, 10), 50); Alpha = 0.5; //(1-Alpha*k) must always be >
0 factor = Alpha * k;
OCarray[ 0 ] = Close[ 0 ];
for ( i = 1;
i < BarCount; i++) { //OCarray[ i ] = factor[ i ] * Close[ i ] + ( 1
- factor[ i ]) * OCarray[ i ]; //this line works OCarray[ i ] =
factor[ i ] * Close[ i ] + ( 1 - factor[ i ]) * OCarray[ i - 1 ]; //this One
does NOT - Creates empty array } Plot(k, "StdDEV", colorRed,
styleLine); Plot(factor, "factor", colorGreen,
styleLine); Plot(OCarray,"test", colorBlack, styleLine); //Empty array - no
plot
Can anybody help and point out where is the error in this
code?
Regards Richard
--- In amibroker@xxxxxxxxxxxxxxx,
"richpach2" <richpach2@xxx> wrote: > > Hello Brian, >
> I think, I have a case for using looping where current bar value of a
variable is calculated using the previous bar value of that same variable.
> > For instance ; > > OSarray[current bar] = Alpha
* Close[current bar] + (1 + Alpha) * OSarray[previous bar]; > >
Can you please help me out with an example which illustrates this scenario? Is
this a case for using "for" loop? > > Kind Regards >
Richard > > > > > --- In amibroker@xxxxxxxxxxxxxxx,
"brian_z111" <brian_z111@> wrote: > > > >
Rich, > > > > Having fun with HTML character code/WordPress
conflict. > > > > I added a text file near the top of the
post "CurrentPivots". > > > > I will upload AFL (text
files) for the other examples later this > > weekend. > >
> > Right click >> SaveAs or left click to view. > >
> > Download files courtesy of Richard Dale, Norgate Investor
Services > > who offered to host for free so that I don't have to
display adds > > with the downloads. > > > >
Cheers, > > > > Brian. > > > > --- In amibroker@xxxxxxxxxxxxxxx,
"richpach2" <richpach2@> wrote: > > > > > >
Hello Brian, > > > > > > This is fantastic. I like
the idea of counting bars since last > > pivot. > > >
All examples however have small errors (missing operators) and do >
> not > > > compile. Do you mind qualifying these
lines; > > > > > > MPK = PKV2 PKV0
;//MajorPeak > > > > > > and > > >
> > > TR = ROC(C,1) 0 ;//TroughRight > > > >
> > > > > Regards > > > Richard > >
> > > > > > > --- In amibroker@xxxxxxxxxxxxxxx,
"brian_z111" <brian_z111@> wrote: > > > > > >
> > Hello Rich, > > > > > > > > I have
done this using variations of the code at the bottom of > > the
> > > > Pivots post (not so called 'Pivots' at the top which
are really > > > > volatility bands). > > > >
> > > > I have quantified ROC(pivots) and identified serial
pivots using > > > > Valuewhen(Pivot,1) etc.... that was a
while ago ... the memory > > fades. > > > > >
> > > Note this version is sophisticated enought to 'count'bars with
== > > > > lows or highs but I have also used simpler versions
with only > > three > > > > bars that have
differential H or L. > > > > > > > > >
> > > > > > > http://zboard.wordpress.com/ >
> > > > > > > > > > > > >
> > > > > > --- In amibroker@xxxxxxxxxxxxxxx,
"richpach2" <richpach2@> wrote: > > > > > > >
> > > G'Day Graham, > > > > > > > >
> > Thank you for your comprehensive reply. All the rules you have
> > > > listed > > > > > seem logical as a
statement. I learn by example so, I need to > > > >
analyze > > > > > a few examples to gain a better
understanding of looping > > functions. > > > > >
> > > > > I am trying to write a code which will detect
first higher low > > > > trough > > > > >
after a downtrend move which can be defined as two lower low > >
troughs > > > > > and two lower low peaks. I am not sure if
Zig function is best > > to do > > > > > that.
Should I consider loops for this or use existing Zig > >
function. > > > > > I could not locate anything in the
library of similar nature > > so, I > > > >
can > > > > > use is as an example of such a trend detection
pattern. > > > > > Are you aware of any existing AFLs which
addresses this or > > similar > > > > > pattern
detection? > > > > > > > > > > Kind
Regards > > > > > Richard > > > > >
> > > > > --- In amibroker@xxxxxxxxxxxxxxx, Graham
<kavemanperth@> wrote: > > > > > > > >
> > > > As a general rule I use loops when > > > >
> > > > > > > > 1. Existing AB functions cannot
fulfil requirements. > > > > >
> eg use of AMA, Zig, Cum, or ApplyStop
functions, or one > > of > > > > the > >
> > > > many others available > > > > > >
> > > > > > 2. The current bar value of a variable is
calculated using the > > > > > > previous bar value of
that same variable. > > > > >
> eg EMA if that was not already
a built in function in > > AB > > > > > >
> > > > > > 3. The value of a variable is determined
from a specific > > > > occurrence of > > > >
> > a true condition, where that condition can have true values >
> after > > > > that > > > > > >
specific occurrence. > > > > >
> eg trail stop value after Buy
signal, that is not one > > of > > > > the >
> > > > > existing ApplyStop function possibilities. >
> > > >
> This
could be one that if could write simply would > > be > >
> > > > HighestSince( Buy, H - ATR( 10 ) ), but this gets reset by
any > > > > > > subsequent buy signals that you may not
want to remove > > > > >
> AB
Applystop (ModePoint) currently has 2 > > possibilities >
> > > if > > > > > > my memory is correct, they
are > > > > >
>
A: Non-Volatile HighestSince( Buy, H ) - > > ValueWhen >
> > > ( > > > > > > buy, ATR( 10 ) );
and > > > > >
>
B: Volatile HighestSince( Buy, H ) -
ATR > > ( > > > > 10 ); > > > > >
> These
bits of code would vary if you have a entry > > delay > >
> > > after signal. > > > > > > > >
> > > > 4. Loop through a set number series that have no direct
> > relation > > > > to > > > > >
> bar array identification as normally used in bar loops > > >
> > > eg for( n=1; n<=5; n=n+2
) > > > > > > > > > > > > 5.
Probably some others as well, but have written so many > >
cannot > > > > > > always remember everything. >
> > > > > > > > > > > Hopefully my
examples of code above are correct, I just typed > > them >
> > > > > into here from my poor memory > > > >
> > > > > > > > -- > > > > >
> Cheers > > > > > > Graham Kav > > > >
> > AFL Writing Service > > > > > > http://www.aflwriting.com > >
> > > > > > > > > > > > > >
> > > > > > > > 2009/2/20 richpach2
<richpach2@>: > > > > > > > Hello, > >
> > > > > > > > > > > > Can some please
expain use of loop (if, while etc) > > _expression_ > > >
> in AFL? > > > > > > > When do one need to use a
loop and when can one just rely on > > > > > > >
processing of the array bar-by-bar. I am still learining > > AFL
> > > > language > > > > > > > and
this area is a bit grey. > > > > > > > > >
> > > > > I noticed many Stop processing AFL use "for" loop but
I > > don't > > > > > > > understand
why. > > > > > > > Also, if I can use this statement
toi define EMA; > > > > > > > > > > >
> > > P = ParamField("Price field",-1); > > > > >
> > Periods = Param("Periods", 15, 2, 300, 1, 10 ); > > >
> > > > Plot( EMA( P, Periods ), _DEFAULT_NAME(),
ParamColor > > ( "Color", > > > > > > >
colorCycle ), ParamStyle("Style") ); > > > > > >
> > > > > > > > why would I try this AFL doc
example; > > > > > > > > > > > >
> > myema[ 0 ] = Close[ 0 ]; > > > > > > > for(
i = 1; i < BarCount; i++ ) > > > > > > > { >
> > > > > > myema[ i ] = 0.1 * Close[ i ]
+ 0.9 * myema[ i - 1 ]; > > > > > > > } > >
> > > > > This example iterates all bars of close array to
calculate > > > > > > > exponential moving
average. > > > > > > > > > > > >
> > Regards > > > > > > > Richard > >
> > > > > > > > > > > > > >
> > > > > > > > > > > >
------------------------------------ > > > > > >
> > > > > > > > **** IMPORTANT PLEASE READ
**** > > > > > > > This group is for the discussion
between users only. > > > > > > > This is *NOT*
technical support channel. > > > > > > > > >
> > > > > TO GET TECHNICAL SUPPORT send an e-mail directly
to > > > > > > > SUPPORT {at} amibroker.com >
> > > > > > > > > > > > > TO SUBMIT
SUGGESTIONS please use FEEDBACK CENTER at > > > > > >
> http://www.amibroker.com/feedback/ >
> > > > > > (submissions sent via other channels won't be
considered) > > > > > > > > > > > >
> > For NEW RELEASE ANNOUNCEMENTS and other news always check >
> > > DEVLOG: > > > > > > > http://www.amibroker.com/devlog/ >
> > > > > > > > > > > > > Yahoo!
Groups Links > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > >
> >
------------------------------------
****
IMPORTANT PLEASE READ **** This group is for the discussion between users
only. This is *NOT* technical support channel.
TO GET TECHNICAL
SUPPORT send an e-mail directly to SUPPORT {at} amibroker.com
TO
SUBMIT SUGGESTIONS please use FEEDBACK CENTER at http://www.amibroker.com/feedback/ (submissions
sent via other channels won't be considered)
For NEW RELEASE
ANNOUNCEMENTS and other news always check DEVLOG: http://www.amibroker.com/devlog/
Yahoo!
Groups Links
<*> To visit your group on the web, go
to: http://groups.yahoo.com/group/amibroker/
<*>
Your email settings: Individual Email |
Traditional
<*> To change settings online go
to: http://groups.yahoo.com/group/amibroker/join
(Yahoo! ID required)
<*> To change settings via
email: mailto:amibroker-digest@xxxxxxxxxxxxxxx
mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx
<*>
To unsubscribe from this group, send an email to: amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*>
Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
__._,_.___
**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.
TO GET TECHNICAL SUPPORT send an e-mail directly to
SUPPORT {at} amibroker.com
TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
__,_._,___
|
|