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


   

Reply via email to