PureBytes Links
Trading Reference Links
|
very nice, Andrew!
thanks
-john
<BLOCKQUOTE
>
----- Original Message -----
<DIV
>From:
<A title=a.perrin@xxxxxxxxxxxxxxx
href="">Andrew Perrin
To: <A title=amibroker@xxxxxxxxxxxxxxx
href="">amibroker@xxxxxxxxxxxxxxx
Sent: Tuesday, December 09, 2003 2:12
AM
Subject: [amibroker] Stock Specific
Indicator Settings
I've being working with our more
recent features of StrExtract and StrToNum functions and have come up with
what I think are some Novel uses. This is the first post of several
describing these uses. These AFL examples are my stepping stones toward
some more advanced uses of this concept.
This example shows how we can
set up Stock specific indicator settings. Below I've borrowed the
StochRSI and modified it so that we can set the "Period" and
"Smooth" factors automatically for a list of tickers. When one of these
tickers is displayed, your settings are automatically applied. If a
ticker is not in that list, default values are used (in this case variable by
use of Param function). The list is a comma separated
list built by the addition in order of Ticker, Period value,Smooth value
( <FONT face="Times New Roman"
color=#008000>"Ticker1,Period1,Smooth1,Ticker2,period2 ...etc ). <FONT
face=Arial color=#000000>This list can be modified on the Fly from within the
Indicator Window, by just right mouse click -> edit formula ->
then add new "....Ticker,Period,Smooth" to the end of your list. This
concept can easily be modified for any indicator with user defined
values.
Enjoy, and watch for those line
wraps.
Andrew
ps. I'm sure its obvious but if your
not using Australian Tickers, change the CustomStochRSIList to reflect your
own.
// Stock Specific StochRSI settings - by Andrew Perrin.
// This AFL allows user defined settings to be automatically applied to
selected Tickers.
// Build custom list - "Ticker1,Period1,Smooth1,Ticker2,period2
...etc
CustomStochRSIList = <FONT face="Courier New" color=#ff00ff
size=1>"NAB,25,2,ANZ,40,5,CBA,6,2,NCPDP,40,15"<FONT face="Courier New"
size=1>;
Period = <FONT face="Courier New" color=#0000ff
size=1>Param(<FONT
face="Courier New" color=#ff00ff size=1>"Periods"<FONT
face="Courier New" size=1>,<FONT face="Courier New" color=#ff00ff
size=1>33,<FONT
face="Courier New" color=#ff00ff size=1>5<FONT face="Courier New"
size=1>,40<FONT
face="Courier New" size=1>,<FONT face="Courier New" color=#ff00ff
size=1>1); <FONT
face="Courier New" color=#008000 size=1>//default period value<FONT
color=#008000 size=1> for tickers not in custom list<FONT
face="Courier New" size=1>
Smooth = <FONT face="Courier New" color=#0000ff
size=1>Param(<FONT
face="Courier New" color=#ff00ff size=1>"Smoothing"<FONT
face="Courier New" size=1>,<FONT face="Courier New" color=#ff00ff
size=1>5,<FONT
face="Courier New" color=#ff00ff size=1>2<FONT face="Courier New"
size=1>,15<FONT
face="Courier New" size=1>,<FONT face="Courier New" color=#ff00ff
size=1>1); <FONT
face="Courier New" color=#008000 size=1>//default smooth value<FONT
face="Courier New" size=1>
Custom = 0<FONT
face="Courier New" size=1>;<FONT face="Courier New"
color=#800000 size=1>
for( i = <FONT
face="Courier New" color=#ff00ff size=1>0<FONT face="Courier New"
size=1>; ( sym = <FONT face="Courier New" color=#0000ff
size=1>StrExtract( CustomStochRSIList,
i ) ) != ""<FONT
face="Courier New" size=1>; i=i+<FONT face="Courier New" color=#ff00ff
size=1>3)
{
if(<FONT
face="Courier New" color=#0000ff size=1>Name<FONT face="Courier New"
size=1>()==sym)
{
Period = <FONT face="Courier New" color=#0000ff
size=1>StrToNum(<FONT
face="Courier New" color=#0000ff size=1>StrExtract<FONT
face="Courier New" size=1>(CustomStochRSIList, i+<FONT
face="Courier New" color=#ff00ff size=1>1<FONT face="Courier New"
size=1>));
Smooth = <FONT face="Courier New" color=#0000ff
size=1>StrToNum(<FONT
face="Courier New" color=#0000ff size=1>StrExtract<FONT
face="Courier New" size=1>(CustomStochRSIList, i+<FONT
face="Courier New" color=#ff00ff size=1>2<FONT face="Courier New"
size=1>));
Custom = 1<FONT
face="Courier New" size=1>;
}
}
storsi =Nz<FONT
face="Courier New" size=1>( ( <FONT face="Courier New" color=#0000ff
size=1>RSI( period) - <FONT
face="Courier New" color=#0000ff size=1>LLV<FONT face="Courier New"
size=1>( RSI<FONT
face="Courier New" size=1>(period) ,period) ) / ( ( <FONT
face="Courier New" color=#0000ff size=1>HHV<FONT face="Courier New"
size=1>( RSI<FONT
face="Courier New" size=1>(period) ,period) ) - <FONT
face="Courier New" color=#0000ff size=1>LLV<FONT face="Courier New"
size=1>(RSI<FONT
face="Courier New" size=1>(period),period) ) ); <FONT
face="Courier New" color=#0000ff size=1>
Plot(<FONT face="Courier New"
color=#0000ff size=1>EMA<FONT face="Courier New"
size=1>(storsi,<FONT face="Courier New" color=#ff00ff
size=1>5),<FONT
face="Courier New" color=#0000ff size=1>EncodeColor<FONT
face="Courier New" size=1>(colorWhite)+Period+<FONT
face="Courier New" color=#ff00ff size=1>" period Sto Rsi."<FONT
face="Courier New" size=1>,colorBlue,<FONT face="Courier New"
color=#ff00ff size=1>1);
Plot(<FONT face="Courier New"
color=#0000ff size=1>EMA(<FONT
face="Courier New" color=#0000ff size=1>EMA<FONT face="Courier New"
size=1>(storsi,<FONT face="Courier New" color=#ff00ff
size=1>5),smooth),<FONT
face="Courier New" color=#ff00ff size=1>""<FONT face="Courier New"
size=1>+smooth+" period
smoothing."<FONT face="Courier New"
size=1>,colorYellow,<FONT face="Courier New" color=#ff00ff
size=1>1); <FONT
face="Courier New" color=#0000ff size=1>
Plot(.30,<FONT
face="Courier New" color=#ff00ff size=1>""<FONT face="Courier New"
size=1>,colorRed,<FONT face="Courier New" color=#ff00ff
size=1>1); <FONT
face="Courier New" color=#0000ff size=1>
Plot(.80,<FONT
face="Courier New" color=#ff00ff size=1>""<FONT face="Courier New"
size=1>,colorGreen,<FONT face="Courier New" color=#ff00ff
size=1>1);
Buy=<FONT face="Courier New" color=#0000ff
size=1>Cross(<FONT
face="Courier New" color=#0000ff size=1>EMA<FONT face="Courier New"
size=1>(storsi,<FONT face="Courier New" color=#ff00ff
size=1>5),<FONT
face="Courier New" color=#0000ff size=1>EMA<FONT face="Courier New"
size=1>(EMA<FONT
face="Courier New" size=1>(storsi,<FONT face="Courier New"
color=#ff00ff size=1>5),smooth));
Sell=<FONT face="Courier New" color=#0000ff
size=1>Cross(<FONT
face="Courier New" color=#0000ff size=1>EMA<FONT face="Courier New"
size=1>(EMA<FONT
face="Courier New" size=1>(storsi,<FONT face="Courier New"
color=#ff00ff size=1>5<FONT face="Courier New"
size=1>),smooth),<FONT face="Courier New" color=#0000ff
size=1>EMA(storsi,<FONT
face="Courier New" color=#ff00ff size=1>5<FONT face="Courier New"
size=1>));
Title = <FONT face="Courier New" color=#0000ff
size=1>WriteIf(Custom == <FONT
face="Courier New" color=#ff00ff size=1>1<FONT face="Courier New"
size=1>,"StochRSI
"+<FONT face="Courier New"
color=#0000ff size=1>EncodeColor<FONT face="Courier New"
size=1>(colorRed)+<FONT face="Courier New" color=#ff00ff
size=1>"(List Defined values.)"<FONT face="Courier New"
size=1>,"StochRSI
"+<FONT face="Courier New"
color=#0000ff size=1>EncodeColor<FONT face="Courier New"
size=1>(colorYellow)+<FONT face="Courier New" color=#ff00ff
size=1>"(Default values)")+
EncodeColor<FONT
face="Courier New" size=1>(colorBlack)+<FONT face="Courier New"
color=#ff00ff size=1>"(Periods = "<FONT face="Courier New"
size=1>+Period+".
Smoothing = "+Smooth+<FONT
face="Courier New" color=#ff00ff size=1>" periods.)"<FONT
face="Courier New" size=1>;<FONT face="Courier New" color=#0000ff
size=1>
PlotShapes(<FONT
face="Courier New" color=#0000ff size=1>IIf<FONT face="Courier New"
size=1>(Buy,shapeUpArrow,shapeNone)
,colorBrightGreen,<FONT face="Courier New" color=#ff00ff
size=1>0,Graph0,-<FONT
face="Courier New" color=#ff00ff size=1>30<FONT face="Courier New"
size=1>);
PlotShapes(<FONT
face="Courier New" color=#0000ff size=1>IIf<FONT face="Courier New"
size=1>(Sell,shapeDownArrow,shapeNone),colorRed,<FONT
face="Courier New" color=#ff00ff size=1>0<FONT face="Courier New"
size=1>,Graph1,-<FONT face="Courier New" color=#ff00ff
size=1>15);
GraphXSpace=<FONT face="Courier New" color=#ff00ff
size=1>10;Send
BUG REPORTS to bugs@xxxxxxxxxxxxxSend SUGGESTIONS to
suggest@xxxxxxxxxxxxx-----------------------------------------Post
AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: <A
href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check
group FAQ at: <A
href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html
Your use of Yahoo! Groups is subject to the <A
href="">Yahoo! Terms of Service.
Yahoo! Groups Sponsor
ADVERTISEMENT
Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html
Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
|