Addition MyVariable[ BarCount -1 ] is technically correct however it does not refer to absolute LAST BAR, but last VISIBLE bar.
Best regards, Tomasz Janeczko amibroker.com ----- Original Message ----- From: Tomasz Janeczko To: [email protected] Sent: Sunday, December 24, 2006 8:53 PM Subject: Re: [amibroker] Re: using LastValue() vs. [BarCount-1] (was using say("text") (AmiBroker 4.89.0 BETA released )) LastValue does NOT cause loading ALL bars. What LastValue does is to ensure that bars upto LAST BAR are loaded. If you display say last 10 days in the chart it won't affect performance at all. Best regards, Tomasz Janeczko amibroker.com ----- Original Message ----- From: J. Biran To: [email protected] Sent: Sunday, December 24, 2006 8:34 PM Subject: RE: [amibroker] Re: using LastValue() vs. [BarCount-1] (was using say("text") (AmiBroker 4.89.0 BETA released )) I am always reluctant of using LastValue() as I recall it slows things down by forcing loading all bars. I use Myvariable[BarCount-1] instead. 1. Is there anything wrong with that? 2. Does EndValue() suffer from same drawback as LastValue() (when no range is selected)? Joseph Biran ____________________________________________ ---------------------------------------------------------------------------- From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Tomasz Janeczko Sent: Sunday, December 24, 2006 2:39 AM To: [email protected] Subject: Re: [amibroker] Re: using say("text") (AmiBroker 4.89.0 BETA released ) I would rather suggest using LastValue, instead of EndValue because EndValue depends on Range markers that may or may not point to the last bar. Best regards, Tomasz Janeczko amibroker.com ----- Original Message ----- From: Ton Sieverding To: [email protected] Sent: Sunday, December 24, 2006 10:35 AM Subject: Re: [amibroker] Re: using say("text") (AmiBroker 4.89.0 BETA released ) Why Herman ? Say() works fine for me. Next a simple MA crossing system. Use 'Bar Replay' to walk thru the time array and you'l' get your 'Buys' and 'Sell' ... LongMA = EMA( C, Param("Long Period", 50, 30, 100, 5 )); ShortMA = EMA( C, Param("Short Period", 5, 3, 50, 1 )); Buy = Cross( ShortMA, LongMA ); Sell = Cross( LongMA, ShortMA ); if (EndValue(Buy)==1) Say("Buy"); if (EndValue(Sell)==1) Say("Sell"); Ton. ----- Original Message ----- From: Herman To: [email protected] Sent: Saturday, December 23, 2006 12:17 PM Subject: RE: [amibroker] Re: using say("text") (AmiBroker 4.89.0 BETA released ) You need to store any text to ouput in a staticvar and clear this variable after you output it, below is just one way of doing this. This will only Say() text when is has changed. You may have to change this when you need repetative messages, like pyramided trades that say Buy, Buy, Buy, ... Text = ParamStr("Enter text to synthesize","Test"); PrevText = StaticVarGetText("PrevText"); if ( Text != PrevText ) { Say( Text ); StaticVarSetText ("PrevText", text); } best regards, herman -----Original Message----- From: [email protected] [mailto:[EMAIL PROTECTED] Behalf Of J. Biran Sent: December 23, 2006 1:27 AM To: [email protected] Subject: RE: [amibroker] Re: using say("text") (AmiBroker 4.89.0 BETA released ) Thanks, I may be misunderstanding Flip but my guess is it should be the opposite, something like ExRem() to only sound message once on the first occurrence. but I am not even sure what to include in that statement as arrays. if condition say("my message"); I would like to be said only once (the first time condition is true) and only on the last bar (which I will take care of after I figure out how to restrict this event). Joseph Biran ____________________________________________ ---------------------------------------------------------------------- From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Chris DePuy Sent: Friday, December 22, 2006 7:22 PM To: [email protected] Subject: Re: [amibroker] Re: using say("text") (AmiBroker 4.89.0 BETA released ) I haven't done this yet, but Flip function should work. ----- Original Message ----- From: J. Biran To: [email protected] Sent: Friday, December 22, 2006 7:02 PM Subject: RE: [amibroker] Re: using say("text") (AmiBroker 4.89.0 BETA released ) How does one use the say("text") function such that it is only stated once and does not repeat even if the condition that it depends on continues to be true? Joseph Biran ____________________________________________ --- In [email protected], "Tomasz Janeczko" <[EMAIL PROTECTED]> wrote: > > Hello, > > AmiBroker 4.89.0 BETA has just been released > http://www.amibroker.com/devlog/2006/12/21/amibroker-4890-beta- released/ > > Happy Holiday Season! > > Best regards, > Tomasz Janeczko > amibroker.com _
