You create an array simply by assigning a value to each element of the
array.
I have removed what appears to be a redundent loop from your code, and
converted it to use a watchlist and symbols available in the default
database of the trial version of AmiBroker for my own convenience.
After running the code, you will have an array named createdarray with
elements indexed from 0 to the number of stocks minus 1. Each element
will hold the last Courbemansfield calculated for the associated symbol
in the watchlist (i.e. createdarray[0] will hold value of first symbol
in list, etc)
Buy = Sell = 0;
b = Foreign( "^DJI", "Close" );
listdestocks = CategoryGetSymbols( categoryWatchlist, 0 ) ;
createdarray[0] = 0;
Value1 = 0;
for ( i = 0; ( sym = StrExtract( listdestocks, i ) ) != ""; i++ )
{
action = Foreign( sym, "Close" );
Rapport = action / b;
basepricedetest = MA( Rapport, 13 );
Courbemansfield = ( ( Rapport / basepricedetest ) );
Value1 = LastValue( Courbemansfield );
createdarray[i] = Value1;
_TRACE( "Value1: " + NumToStr( Value1, 1.3 ) );
_TRACE( "createdarray[" + i + "]: " + NumToStr( createdarray[i], 1.3
) );
}
Mike
--- In [email protected], "aajurg" <aaj...@...> wrote:
>
> A small up !
>
> I think it's a easy question ...
>
> --- In [email protected], "aajurg" aajurg@ wrote:
> >
> > Hello !
> >
> > How to create a array with the calculated numbers in a « for »
loop ?
> >
> > I spy the numbers with _TRACE(NumToStr(Value1,1.3));
> > And in the debugView , I see that it is exactly the array I need to
create
> >
> > In fact it seems that the trick or philosophy in AFL code is to
understand how to retrieve number from a array and how to create a array
with a number's list .
> >
> > b= Foreign("^FCHI","Close");
> > stockname = Name();
> > sectorname = SectorID();
> > listdestocks = CategoryGetSymbols( categoryIndex, sectorname ) ;
> > nbstock = 0 ;
> >
> > createdarray = 0;
> > Value1 = 0;
> >
> >
> > for( i = 0; (sym = StrExtract( listdestocks, i ) ) != ""; i++ )
> > {
> > nbstock = i ;
> > }
> > nbstock++ ;
> >
> >
> > for( i = 1; i < nbstock; i++ )
> > {
> > for( i = 0; (sym = StrExtract( listdestocks, i ) ) != ""; i++ )
> > {
> > action = Foreign( sym, "Close");
> > Rapport = action/b;
> > basepricedetest = MA(Rapport,13);
> > Courbemansfield = ((Rapport/basepricedetest));
> >
> > Value1 = LastValue(Courbemansfield);
> >
> > _TRACE(NumToStr(Value1,1.3));
> >
> > }
> > }
> >
>