Thank you Barry. It works fine.
I suppose I ran twice the same formula with different time unit and the same static var. Yesterday I started first with the help example. Another point, I did not write ExRem. One year later my first AFL attempt, ExRem keeps its mystery... Buy = ExRem( Buy, Sell ); Sell = ExRem( Sell, Buy ); Short = ExRem( Short, Cover ); Cover = ExRem( Cover, Short ); Best regards Barry Scarborough a écrit : > > > This is the function I use and it works fine for me, but the speech is > low quality. > > The call is simple, fSayOnce("Trading started"); and the functions > handles saying it only once. > > Barry > > // plays an audible message when trade status conditions are met > // this should only play the message once per instance > function fSayOnce( text ) > { > if( StaticVarGetText(VarPfx + "LastSaidText") != text ) > { > Say( text ); > StaticVarSetText(VarPfx + "LastSaidText", text ); > if(DebugOn) _TRACE("#, FeedBkInc, SayOnce Text =" + text "\n"); > } > } > > > --- In amibroker@yahoogroups.com <mailto:amibroker%40yahoogroups.com>, > reinsley <reins...@...> wrote: > > > > Hi, > > > > No way to understand what happens. > > > > I would like to get an audio alert with say(). > > > > I get an error 30 in the function on the line : > > if( StaticVarGetText("lastsaid") != text ) > > > > Yahoo archive is too busy with say() research. (too many occurences) > > > > Any help will be welcome. > > > > Best regards > > > > > > > > > > > > > > function SayOnce( text ) > > { > > if( StaticVarGetText("lastsaid") != text ) > > { > > Say( text ); > > StaticVarSetText("lastsaid", text ); > > } > > } > > > > > > if ( LastValue( Buy ) OR LastValue( Cover ) ) > > SayOnce( "buy" ); > > > > if ( LastValue( Sell ) OR LastValue( Short ) ) > > SayOnce( "sell" ); > > > >