Just the famous example with Cross() to let Say() work. Interesting to know 
that I am not the only one having problems with AlertIf(). Thanks and happy 
holidays for you too, Ton.

  ----- Original Message ----- 
  From: Herman 
  To: [email protected] 
  Sent: Sunday, December 24, 2006 2:38 PM
  Subject: RE: [amibroker] Re: using say("text") (AmiBroker 4.89.0 BETA 
released )



  In Real-Time I rarely use Cross() and I may want to Say() things that are 
unrelated to signals, are unrelated to the last bar, and that could become 
repetitive. Like error msgs, warnings, alerts before I enter a automated trade, 
even synthesized voice debug output. My eyes can only look at one screen at the 
time but sound can be picked up from anywhere, allows you to multi-task much 
more efficiently :-)

  So Static variables solve the problem for me. S0, I am very happy with the 
new Say(), I never got the Alert() working for this.

  happy holidays,
  herman

    -----Original Message-----
    From: [email protected] [mailto:[EMAIL PROTECTED] Behalf Of Tomasz 
Janeczko
    Sent: December 24, 2006 5: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(< /FONT>"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