PureBytes Links
Trading Reference Links
|
Again, you're dealing with arrays whose columns are calculated
simultaneously.
So, in your example, only the last column would give 3/6. The next to
last would give 2/5, the one before that would give 2/4, etc.
Mike
--- In amibroker@xxxxxxxxxxxxxxx, "bigitop" <doctormuniz@xxx> wrote:
>
>
> i totally get it now. i've done several arrays and combined them to
get
> the results i need by just using Filter.
>
> i still got one big problem though.
>
> i havent been able to figure out how to Sum the cells in a
row/array.
>
> x [0, 1, 1, 0, 0, 0, 1]
> y [1, 1, 1, 1, 0, 1, 1]
>
> i need to Sum all ones in x and divide them by all the ones in y to
get
> a percentage.
> the example above should yield 3/6 = 0.5
>
> and then output it as AddColumn(percent,"Percentage")
>
> i've tried both Sum() and Cum() as someone here suggested but i
cant
> get the right result. dont know why.
>
> please any suggestions are appreciated
>
> thanks!
>
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, "Mike" <sfclimbers@> wrote:
> >
> > See Andrew's reply for the solution.
> http://finance.groups.yahoo.com/group/amibroker/message/135499
> >
> > Basically, you don't need a loop at all. It is actually pretty
rare
> > that you ever need one. In the vast majority of cases, your
problem
> > can be expressed in array manipulations across all bars
> > simultaneously.
> >
> > If you haven't come across this page yet, it helps to clarify
things:
> > http://www.amibroker.com/guide/h_understandafl.html
> >
> > Mike
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, "bigitop" doctormuniz@ wrote:
> > >
> > > i read the user guide thouroughly but it seems im missing
something.
> > > i had tried "if(result == 1)" (with the equality operator) but
it
> > > gives me the same error as in the beginning:
> > >
> > > variableX = variableY / abs(variableZ);
> > > result = IIf (variableX > .5, 1, 0);
> > >
> > > if(result == 1){
> > > Filter = Open > 40 & Open < 60;
> > > }
> > >
> > > it is still seeing "result" as an array instead of as a number!
> > >
> > > "Condition in IF, WHILE, FOR statements has to be numeric or
boolean
> > > type. You cannot use an array here, please use [] (array
subscript
> > > operator) to access array elements"
> > >
> > >
> > >
> > > --- In amibroker@xxxxxxxxxxxxxxx, "sidhartha70" <sidhartha70@>
> > wrote:
> > > >
> > > > You need to use == instead of =...
> > > >
> > > > i.e. change the line,
> > > >
> > > > if(result = 1){
> > > >
> > > > to,
> > > >
> > > > if(result == 1){
> > > >
> > > > '==' checks equality... '=' assigns a value...
> > > >
> > > > I would recommend a good read of the AFL user guide... then
all
> > this
> > > > will be obvious.
> > > >
> > > > --- In amibroker@xxxxxxxxxxxxxxx, "bigitop" <doctormuniz@>
wrote:
> > > > >
> > > > > thanks for bearing with me. ok i'm making some progress but
> > still got
> > > > > new setbacks.
> > > > >
> > > > > variableX = variableY / abs(variableZ);
> > > > > result = IIf (variableX > .5, 1, 0);
> > > > >
> > > > > if(result = 1){
> > > > > Filter = Open > 40 & Open < 60;
> > > > > }
> > > > >
> > > > > the problem now is that "result" is evaluating to true (1)
even
> > when
> > > > > "variableX" is in reality less < .5
> > > > >
> > > > > therefore i'm getting all tickers in the 40-60 Open range. I
> > only want
> > > > > to get the tickers where "variableX" is more > .5
> > > > >
> > > > > does it make sense?
> > > > >
> > > > >
> > > > > --- In amibroker@xxxxxxxxxxxxxxx, Andrew Senft <senft@>
wrote:
> > > > > >
> > > > > > Use IIF for arrays
> > > > > >
> > > > > > bigitop wrote:
> > > > > > >
> > > > > > >
> > > > > > > thanks!! Ref() worked perfectly.
> > > > > > >
> > > > > > > can you please help me with one more thing
> > > > > > >
> > > > > > > i have a variable:
> > > > > > >
> > > > > > > variableX = variableY / abs(variableZ);
> > > > > > >
> > > > > > > i'm trying to use inside an if statement like this:
> > > > > > >
> > > > > > > if (variableX > .5)
> > > > > > >
> > > > > > > but it gives me the following error:
> > > > > > >
> > > > > > > "Condition in IF, WHILE, FOR statements has to be
numeric or
> > > boolean
> > > > > > > type. You cannot use an array here, please use [] (array
> > subscript
> > > > > > > operator) to access array elements"
> > > > > > >
> > > > > > > i tried referencing it as variableX[0] but it doesnt
work.
> > how
> > > do i
> > > > > > > know what's inside an array so that i can refer to it??
> > > > > > >
> > > > > > > --- In amibroker@xxxxxxxxxxxxxxx
> > > > > <mailto:amibroker%40yahoogroups.com>,
> > > > > > > "sidhartha70" <sidhartha70@> wrote:
> > > > > > > >
> > > > > > > > Use the Ref() function...
> > > > > > > >
> > > > > > > > --- In amibroker@xxxxxxxxxxxxxxx
> > > > > > > <mailto:amibroker%40yahoogroups.com>, "bigitop"
> > <doctormuniz@>
> > > > wrote:
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > hi, im learning AFL and need some basic help.
> > > > > > > > >
> > > > > > > > > while i'm running a script how can i reference
previous
> > > bars and
> > > > > > > > > forward bars?
> > > > > > > > >
> > > > > > > > > in other words, how do i get OCHLV info from a bar
(s)
> > that are
> > > > > back in
> > > > > > > > > time and forward in time from the current array for
the
> > same
> > > > > symbol?
> > > > > > > > >
> > > > > > > > > I guess it would be something like: TimeFrameSet(
> > currentBar
> > > > - 1 )
> > > > > > > > >
> > > > > > > > > is this possible with AB?
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > >
> > > ----------------------------------------------------------------
----
> > ----
> > > > > > >
> > > > > > >
> > > > > > > No virus found in this incoming message.
> > > > > > > Checked by AVG - http://www.avg.com
> > > > > > > Version: 8.0.176 / Virus Database: 270.11.3/1967 -
Release
> > Date:
> > > > > 2/23/2009 7:17 AM
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
------------------------------------
**** 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/
|