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

[amibroker] Re: Industry setting to a watch list



PureBytes Links

Trading Reference Links




<FONT face=Arial color=#0000ff 
size=2>InLine,,,

  <FONT face=Tahoma 
  size=2>-----Original Message-----From: see_change007 
  [mailto:cvt@xxxxxxxxxxxxxx]Sent: Monday, August 09, 2004 8:47 
  AMTo: amibroker@xxxxxxxxxxxxxxxSubject: [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.<SPAN 
  class=390505712-09082004> 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. <FONT face=Arial 
  color=#0000ff size=2> 
   
  <FONT face=Arial color=#0000ff 
  size=2>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. 
  <FONT face=Arial color=#0000ff 
  size=2> 
  <FONT face=Arial color=#0000ff 
  size=2>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 <FONT face=Arial color=#0000ff 
  size=2> 
   
  <FONT face=Arial color=#0000ff 
  size=2>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 ?<FONT face=Arial color=#0000ff 
  size=2>   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@xxxx]>   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@xxxx]>     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:>       <A 
  href="">http://www.amibroker.com/> 
  >       Check group FAQ at:> <A 
  href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html> 
  > > > >       Check 
  AmiBroker web page at:>       <A 
  href="">http://www.amibroker.com/> 
  >       Check group FAQ at:> <A 
  href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html> 
  > > > > >   Check AmiBroker web 
  page at:>   <A 
  href="">http://www.amibroker.com/> 
  >   Check group FAQ at:> <A 
  href="">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:>     <A 
  href="">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:<A 
  href="">http://www.amibroker.com/Check 
  group FAQ at: <A 
  href="">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
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 the Yahoo! Terms of Service.