| 
 PureBytes Links 
Trading Reference Links 
 | 
Hello,
Correct.
If you are begginer just use regular variables.
In majority of cases you should definitelly NOT use static variables at all,
they are for **advanced coders** only.
Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "see_change007" <cvt@xxxxxxxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Monday, August 09, 2004 3:18 PM
Subject: [amibroker] Re: Static Variables
> 
> 
> Ok 
> 
> So if I want to use X=n in a formula , I don't need to worry about 
> it interacting with x's defined in other forumulars. :) 
> 
> Correct ?
> 
> See Change
> 
> 
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "Herman van den Bergen" 
> <psytek@xxxx> wrote:
> > InLine,,,
> >   -----Original Message-----
> >   From: see_change007 [mailto:cvt@x...]
> >   Sent: Monday, August 09, 2004 8:47 AM
> >   To: amibroker@xxxxxxxxxxxxxxx
> >   Subject: [amibroker] Re: Static Variables
> > 
> > 
> >   Just want to make sure I 'm correct in one thing.
> > 
> >   If I define X = n at the begining of a formular then X is a 
> static
> >   variable. X = n is a normal afl variable, to make it Static you 
> have to
> > use StaticVarSet() if you define it at the begin of the code 
> containing the
> > assignment then it will be redefined each time this code runs 
> regardless of
> > what values may have been assigned to it before from other places; 
> i.e. it
> > would function locally.
> > 
> >   And if I'm using the same symbols eg x to represent variables in
> >   different indicators, even if the indicators may not be in use at
> >   one particular time on active charts , the settings in one one
> >   formular may interact with other forumulars containing the same
> >   formular.
> > 
> >   I do not know to what extend invisible indicators are 
> executed... i
> > suppose they are not however they may collect prices in 
> RealTime... I don't
> > know exactly what happens here, you could try it and see what 
> happens.
> > 
> >   However, visible indicators using the same StaticVariable will 
> each
> > execute and modify StaticVar unless they are kept local (unique) 
> with the
> > use of TJ's functions or if they are locally initialized in each 
> indicator,
> > i.e. with Param()
> > 
> >   If I wanted to avoid this and was using a static variable within 
> one
> >   indicator , I could set that by coding
> > 
> >   If you only use it in one indicator, yes. If you want to use the 
> same
> > Static variables names independently in many Indicators (use the 
> same code
> > in different places) but have them function locally then they 
> should be kept
> > unique and you should use TJ's functions.
> > 
> >   StaticVarSet( ''x'', n );
> > 
> >   Is this correct ?
> > 
> >   See Change
> > 
> >   --- In amibroker@xxxxxxxxxxxxxxx, "Herman van den Bergen"
> >   <psytek@xxxx> wrote:
> >   > Great suggestion Tomasz, thanks for your input!
> >   >
> >   > This will make things a lot simpler to code.
> >   >
> >   > best regards,
> >   > herman.
> >   >
> >   >
> >   >   -----Original Message-----
> >   >   From: Tomasz Janeczko [mailto:amibroker@x...]
> >   >   Sent: Monday, August 09, 2004 5:31 AM
> >   >   To: amibroker@xxxxxxxxxxxxxxx
> >   >   Subject: Re: [amibroker] Static Variables
> >   >   Importance: High
> >   >
> >   >
> >   >   Herman,
> >   >
> >   >   One thing: You don't need to worry about adding such complex
> >   coding all
> >   > the time.
> >   >   Instead you should use FUNCTIONS that make life easier.
> >   >   If you want "unique static" (per indicator) you can easily 
> have
> >   them using
> >   > these two functions:
> >   >
> >   >   procedure UnqStaticVarSet( name, value )
> >   >   {
> >   >      StaticVarSet( name + GetChartID(), value );
> >   >   }
> >   >
> >   >   function UnqStaticVarGet( name )
> >   >   {
> >   >     return StaticVarGet( name + GetChartID() );
> >   >   }
> >   >
> >   >   then use UnqStaticVarSet, UnqStaticVarGet in your code
> >   >
> >   >   Best regards,
> >   >   Tomasz Janeczko
> >   >   amibroker.com
> >   >     ----- Original Message -----
> >   >     From: Herman van den Bergen
> >   >     To: amibroker@xxxxxxxxxxxxxxx
> >   >     Sent: Monday, August 09, 2004 3:28 AM
> >   >     Subject: RE: [amibroker] Static Variables
> >   >
> >   >
> >   >     Ara,
> >   >
> >   >     You have to be careful scoping the Static Variables,
> >   >
> >   >     1) If you use same name static variables in different
> >   indicators then
> >   > their values can change from various sources. This is the case 
> if
> >   you assign
> >   > program derived values, for example counters ,not in the case 
> of
> >   param() see
> >   > next...
> >   >
> >   >     2) If the Static variables are initialized inside the code
> >   with a
> >   > Param() in EACH of the Indicators then in essence you have
> >   disabled the
> >   > Global nature of the Static Variable: this is so because the
> >   Static variable
> >   > is reinitialized in each Indicator separately each time the 
> code
> >   is executed
> >   > (on Refresh). This makes it immune to whatever other code does.
> >   >
> >   >     3) Static variables are truly Global, in contrast to afl
> >   variables
> >   > declared Global in afl, these are Global 'per' indicator. 
> Static
> >   variables
> >   > are Global per AmiBroker Instance.
> >   >
> >   >     4) If you want to restrict the scope of Static variables to
> >   the current
> >   > Indicator, to prevnt conflicing conditions, then you have to 
> add a
> >   unique
> >   > identifier to each code, I use something like this:
> >   >     ChartID = NumToStr(GetChartID(),1.0,False);
> >   >     Reset = Param("Reset Static variables",0,0,1,1);
> >   >     StaticScope = Param("Scope (0:Local,1:Global) for
> >   > Chart#"+ChartID,1,0,1,1);
> >   >     if( StaticScope ) Scope = ""; else Scope = ChartID;
> >   >     ...
> >   >     if( IsEmpty( StaticVarGet("TickCounter"+Scope)) OR Reset)
> >   >     StaticVarSet("TickCounter"+Scope,0);
> >   >     TickCount = StaticVarGet("TickCounter"+Scope);
> >   >
> >   >     here a tickcounter is made Local to the indicator 
> containing
> >   the code to
> >   > prevent interference with duplicate code in other indicators. 
> This
> >   means i
> >   > can count ticks from fifferent stocks while using the SAME
> >   indicator.
> >   >
> >   >     Hope this helps,
> >   >
> >   >     herman.
> >   >
> >   >
> >   >
> >   >
> >   >
> >   >      -----Original Message-----
> >   >     From: Ara Kaloustian [mailto:ara1@x...]
> >   >     Sent: Sunday, August 08, 2004 8:46 PM
> >   >     To: AB-Main
> >   >     Subject: [amibroker] Static Variables
> >   >
> >   >
> >   >
> >   >       I am having a hard time using static variables....
> >   >
> >   >       Sometimes they work as expected ... sometimes they 
> don't ...
> >   so my
> >   > expectation must obviously be questionable.
> >   >
> >   >       I am assuming Static variables can be used anywhere that
> >   normal Number
> >   > and String variables can be used!
> >   >
> >   >       - in assignments: StaticVarSet("Var",Value);
> >   >       - in If Statements: if (StaticVarGet("Var") == 
> Value) ....
> >   >       - in iif Statement: Test = iif(StaticVarGet("Var")
> >   > ==Value,True,False);
> >   >
> >   >       Is my assumption correct?
> >   >
> >   >       Thanks
> >   >
> >   >       Ara
> >   >
> >   >
> >   >       Check AmiBroker web page at:
> >   >       http://www.amibroker.com/
> >   >
> >   >       Check group FAQ at:
> >   > http://groups.yahoo.com/group/amibroker/files/groupfaq.html
> >   >
> >   >
> >   >
> >   >
> >   >       Check AmiBroker web page at:
> >   >       http://www.amibroker.com/
> >   >
> >   >       Check group FAQ at:
> >   > http://groups.yahoo.com/group/amibroker/files/groupfaq.html
> >   >
> >   >
> >   >
> >   >
> >   >
> >   >   Check AmiBroker web page at:
> >   >   http://www.amibroker.com/
> >   >
> >   >   Check group FAQ at:
> >   > http://groups.yahoo.com/group/amibroker/files/groupfaq.html
> >   >
> >   >
> >   >         Yahoo! Groups Sponsor
> >   >               ADVERTISEMENT
> >   >
> >   >
> >   >
> >   >
> >   >
> >   > ---------------------------------------------------------------
> ----
> >   ---------
> >   > --
> >   >   Yahoo! Groups Links
> >   >
> >   >     a.. To visit your group on the web, go to:
> >   >     http://groups.yahoo.com/group/amibroker/
> >   >
> >   >     b.. To unsubscribe from this group, send an email to:
> >   >     amibroker-unsubscribe@xxxxxxxxxxxxxxx
> >   >
> >   >     c.. Your use of Yahoo! Groups is subject to the Yahoo! 
> Terms
> >   of Service.
> > 
> > 
> > 
> >   Check AmiBroker web page at:
> >   http://www.amibroker.com/
> > 
> >   Check group FAQ at:
> > http://groups.yahoo.com/group/amibroker/files/groupfaq.html
> > 
> > 
> > 
> >         Yahoo! Groups Sponsor
> >               ADVERTISEMENT
> > 
> > 
> > 
> > 
> > 
> > -------------------------------------------------------------------
> ---------
> > --
> >   Yahoo! Groups Links
> > 
> >     a.. To visit your group on the web, go to:
> >     http://groups.yahoo.com/group/amibroker/
> > 
> >     b.. To unsubscribe from this group, send an email to:
> >     amibroker-unsubscribe@xxxxxxxxxxxxxxx
> > 
> >     c.. Your use of Yahoo! Groups is subject to the Yahoo! Terms 
> of Service.
> 
> 
> 
> 
> Check AmiBroker web page at:
> http://www.amibroker.com/
> 
> Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
> Yahoo! Groups Links
> 
> 
> 
>  
> 
> 
------------------------ Yahoo! Groups Sponsor --------------------~--> 
Yahoo! Domains - Claim yours for only $14.70
http://us.click.yahoo.com/Z1wmxD/DREIAA/yQLSAA/GHeqlB/TM
--------------------------------------------------------------------~-> 
Check AmiBroker web page at:
http://www.amibroker.com/
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
Yahoo! Groups Links
<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/
<*> 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/
 
 |