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