Sorry, here's a small change to the code - I should have tested it before
posting!

if(LastValue(Buy))            Text ="  Buy, at, "+NumToStr(BuyPrice,1.2);

else if(LastValue(Short))    Text ="Short, at, "+NumToStr(ShortPrice,1.2);;

PrevText = StaticVarGetText("PrevText");

if( StrLeft(Text,5) != StrLeft(PrevText,5) )

   {

   Say( Text );

   StaticVarSetText("PrevText", text);

   }


----------------------------------------------------------------------------
----


just FYI I use this type of code in Real-time trading and it seems to wokr
just fine:

if(LastValue(Buy))            Text = "Buy, at, "+NumToStr(BuyPrice,1.2);

else if(LastValue(Short))    Text ="Short, at, "+NumToStr(ShortPrice,1.2);;

PrevText = StaticVarGetText("PrevText");

if( Text != PrevText )

   {

   Say( Text );

   StaticVarSetText("PrevText", text);

   }





  -----Original Message-----
  From: [email protected] [mailto:[EMAIL PROTECTED]
Behalf Of Herman
  Sent: December 26, 2006 2:51 PM
  To: [email protected]
  Cc: [EMAIL PROTECTED]
  Subject: RE: [amibroker] Say message interruption


  Perhaps TJ can add a msg queue or a SayStatus() command so that we can do
the queueing ourself. You may be able to prevent repeats (using Static
variables) and prevent calling Say() to fast, you could insert an
automatically minimum call interval, using GetPerformanceCounter() or
getStatus("RedrawAction"), that is proportional to the number of characters
in your message.

  best regards,
  herman
    -----Original Message-----
    From: [email protected] [mailto:[EMAIL PROTECTED]
Behalf Of Dale Brubaker
    Sent: December 26, 2006 2:09 PM
    To: [email protected]
    Cc: [EMAIL PROTECTED]
    Subject: [amibroker] Say message interruption


    I love the new Say(text) command in 4.89 Beta, but often the message is
cut off (apparently by the next pass through the AFL code) before it can be
completely "uttered". Has anyone else seen this problem and figured out how
to "buffer" it?

    Thanks,
    Dale


Reply via email to