Rick changing a string to a number THAT'S COMING FROM AN ARRAY and after that 
changing a number to a string again, should give me the same array with the 
initial strings. But the fact that I can use IF after the string manipulation 
shows me that I am no longer having an array ... I still do not get this. Weird 
...

Tomasz ????

Regards, Ton.


  ----- Original Message ----- 
  From: Rick Osborn 
  To: [email protected] 
  Sent: Sunday, June 13, 2010 5:33 PM
  Subject: Re: [amibroker] impenetrable AFL


    

  First off let me repeat - this is not my original code.
  I found it in someone's code for TD Sequential (with apologies to the 
original coder - didn't keep your name)

  The Buysignal is a Flip(Buy,Sell) type - or could be a true/false item.

  Checking the help file  the NunToStr  says
        FUNCTION  It is used to convert numeric value of NUMBER or ARRAY to 
string.  
  Next the StrToNum function
        FUNCTION  It is used to convert numeric value of NUMBER or ARRAY to 
string.  
  So the combination of changing that value of the array from a number to a 
string and then "that string" back to "a number" (not an array)

  LastValue works the same but I still don't understand that function well 
enough.
  From the help file
        FUNCTION  Returns last calculated value of the specified ARRAY. The 
result of this function can be used in place of a constant (NUMBER) in any 
function argument. 
        If ARRAY is undefined (e.g., only 100-days loaded and you request the 
last value of a 200-day moving average) then the lastvalue function returns 
zero. 
        Caveat: since this function fills an entire data array with the last 
value of another array, it allows a formula to look into the future.  
  so if there are repeated events (buy signals and sell signals), I'm not sure 
if lastvalue sees any but the last one.  Plus I worry about the Caveat!!


  Best Regards
  Rick Osborn





------------------------------------------------------------------------------
  From: Ton Sieverding <[email protected]>
  To: [email protected]
  Sent: Sun, June 13, 2010 2:55:32 AM
  Subject: Re: [amibroker] impenetrable AFL

    
   

  That's interesting code, Rick. Can you explain me why this works ?

  1. First I assume BuySignal to be BUY. Therefore being an array. So IF should 
not work. Should be IIF. But even when I put there BUY to be sure it's an 
array, it does work. Why ?

  2. What's the difference between StrToNum(NumtoStr( BUY)) and BUY ? Should 
give me the same result. But is does not. Without this trick I cannot use IF. 
What's going on here ????

  Regards, Ton.


    ----- Original Message ----- 
    From: Rick Osborn 
    To: amibro...@yahoogrou ps.com 
    Sent: Saturday, June 12, 2010 10:52 PM
    Subject: Re: [amibroker] impenetrable AFL


      

    Yuki

    I have the following code which changes the background gradient color 
depending on whether a buy or sell signal is given.

    if(StrToNum(NumToStr(BuySignal)) ) 
    bgColor = ColorRGB(0,66, 2); 
    else 
    bgColor = ColorRGB(66,2, 0); 
    SetChartBkGradientF ill( colorBlack, bgColor); 


    Perhaps you can change this to meet your needs


    Best Regards
    Rick Osborn 





----------------------------------------------------------------------------
    From: Yuki Taga <yukit...@tkh. att.ne.jp>
    To: amibro...@yahoogrou ps.com
    Sent: Sat, June 12, 2010 1:24:58 AM
    Subject: [amibroker] impenetrable AFL

      
    Impenetrable! (At least to me.)

    xcolor = IIf(TSI >= SigLine, SetChartBkGradientF ill( ParamColor(" BgTop", 
ColorRGB( 172,172,172 )),
    ParamColor(" BgBottom" , ColorRGB( 172,172,172 ))), SetChartBkGradientF 
ill( ParamColor(" BgTop", ColorRGB(140, 140,140)) ,
    ParamColor(" BgBottom" , ColorRGB(140, 140,140)) ));

    SetChartBkColor( SelectedValue( xcolor));

    I tried that line above as
    SetChartBkGradientF ill(SelectedValu e(xcolor) ); but that produced a
    syntax error.

    I think you can see what I'm trying to do here. The idea is simple:
    change the background gradient depending on a true/false result. The
    gradients in this example are not the gradients I would actually use
    (in fact they are not gradients at all, as your intelligent eyes will
    quickly have seen). They are just test code to see if I can even
    make it work. I cannot.

    For one thing, the gradient does not change no matter the selected
    value. It's static. For another thing, the margin background goes
    to black, a hideous (although somewhat foreseen) result.

    Okay, what am I doing wrong, and where did I miss this in the docs?
    And what, if anything, can I do about this margin result? The only
    way I can change the *entire* background color is by not using a
    gradient??? (Using SetChartBkColor) How sad that would be! I can
    make that work, at least. But not with a gradient.

    Anything is possible in Amibroker, right?

    Wrong?

    Thanks,

    Yuki





  

Reply via email to