PureBytes Links
Trading Reference Links
|
Sid,
No, param1 statement in only in the main file. Include file
contains ONLY your function that takes an argument:
// BEGIN.. contents of the file_with_your_function.afl
...
function MyFunction( periods )
{
return AMA( C, 2/(periods+1));
}
/// END
-------------------
---------------------
Contents of the main file:
// BEGIN
#include <file_with_your_function.afl><FONT
face="Century Schoolbook, New Century Schoolbook"
size=3> <FONT
face="Century Schoolbook, New Century Schoolbook" size=2>param1 =
Optimize("param1", 5, 1, 10, 1 );<FONT
face="Century Schoolbook, New Century Schoolbook"
size=3> <FONT
face="Century Schoolbook, New Century Schoolbook" size=2>buy = C >
MyFunction( param1 );
// END
At run time param1 from MAIN file is passed BY VALUE to
'periods' argument in the function.
That way your function is written ONCE and can be used like
ANY OTHER built-in function in AFL
(like MA, ADX, etc )
Best regards,Tomasz Janeczkoamibroker.com
<BLOCKQUOTE
>
----- Original Message -----
<DIV
>From:
Sidney
Kaiser
To: <A title=amibroker@xxxxxxxxxxxxxxx
href="">amibroker@xxxxxxxxxxxxxxx
Sent: Wednesday, December 24, 2003 10:22
PM
Subject: Re: [amibroker] passing
variables
<FONT face="Century Schoolbook, New Century Schoolbook"
size=3>Great...but I am programmatically challenged. Is the param1
statement in the included file, it looks like it would have to be there.
Could you provide a more elaborate example please?CheersSidAt
10:11 PM 12/24/2003 +0100, you wrote:
<FONT
face="Century Schoolbook, New Century Schoolbook" size=2>Sid,<FONT
face="Century Schoolbook, New Century Schoolbook"
size=3> <FONT
face="Century Schoolbook, New Century Schoolbook" size=2>There is absolutely
NO problem with that.<FONT
face="Century Schoolbook, New Century Schoolbook" size=3><FONT
face="Century Schoolbook, New Century Schoolbook" size=2>You can use
optimize and pass arguments to ANY function defined in external
file.<FONT face="Century Schoolbook, New Century Schoolbook"
size=3> <FONT
face="Century Schoolbook, New Century Schoolbook" size=2>#include
<file_with_your_function.afl><FONT
face="Century Schoolbook, New Century Schoolbook"
size=3> <FONT
face="Century Schoolbook, New Century Schoolbook" size=2>param1 =
Optimize("param1", 5, 1, 10, 1 );<FONT
face="Century Schoolbook, New Century Schoolbook"
size=3> <FONT
face="Century Schoolbook, New Century Schoolbook" size=2>buy = C >
MyFunction( param1 );<FONT
face="Century Schoolbook, New Century Schoolbook" size=3> Best
regards,Tomasz Janeczkoamibroker.com
----- Original Message -----
From: Sidney Kaiser
To: <A
href="">amibroker@xxxxxxxxxxxxxxx
Sent: Wednesday, December 24, 2003 10:07 PM
Subject: RE: [amibroker] passing variables
Clarification:
What I am talking about is the ability to run optimize on the code
that is in the include file. This means the variables are defined in
the main program and the current value is passed to the include program
for the range of the optimization.
Upon further reading of the help files I am beginning to think this is
NOT possible in AB. Someone correct me if I am wrong on
this.
Ken, thanks for your routine, BTW, I think what you posted is
STOCH + RSI rather than StochRSI which is the stochastic of RSI.
Cheers and Merry Christmas to all
Sid
At 03:28 PM 12/24/2003 -0500, you wrote:
Hi Sid:<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
I added this to my function
file:<FONT face="Century Schoolbook, New Century Schoolbook"
size=3>
<FONT face="Courier New, Courier" color=#800000
size=2>function StoRSI(RSIPer,EMAPer)<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
{<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
Low1=<FONT
face="Courier New, Courier" color=#0000ff size=2>LLV(<FONT
face="Courier New, Courier" color=#ff0000 size=2>C,<FONT
face="Courier New, Courier" color=#ff00ff size=2>7);<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
High1=<FONT
face="Courier New, Courier" color=#0000ff size=2>HHV(<FONT
face="Courier New, Courier" color=#ff0000 size=2>C,<FONT
face="Courier New, Courier" color=#ff00ff size=2>7);<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
return
(EMA(<FONT
face="Courier New, Courier" color=#ff00ff size=2>100*(<FONT
face="Courier New, Courier" color=#ff0000 size=2>C - Low1)/(High1
- Low1),EMAPer)/<FONT face="Courier New, Courier" color=#ff00ff
size=2>2) + (<FONT face="Courier New, Courier" color=#0000ff
size=2>RSI(RSIPer)/<FONT face="Courier New, Courier"
color=#ff00ff size=2>2);<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
}<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
Note the naming and the
variable positions in the declaration of the StoRSI
function.<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
I plotted this in my IB
window:<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
X=StoRSI(<FONT
face="Courier New, Courier" color=#ff00ff size=2>14,<FONT
face="Courier New, Courier" color=#ff00ff
size=2>13);<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
<FONT face="Courier New, Courier" color=#0000ff
size=2>Plot(<FONT face="Courier New, Courier" color=#ff00ff
size=2>50,<FONT face="Courier New, Courier" color=#ff00ff
size=2>"",<FONT face="Courier New, Courier" color=#ff00ff
size=2>7,<FONT face="Courier New, Courier" color=#ff00ff
size=2>1);<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
<FONT face="Courier New, Courier" color=#0000ff
size=2>Plot(X,<FONT face="Courier New, Courier" color=#ff00ff
size=2>"StoRSI",<FONT face="Courier New, Courier" color=#ff00ff
size=2>5,<FONT face="Courier New, Courier" color=#ff00ff
size=2>1);<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
The C/O/H/L/V arrays are
always available, so I only "passed" two variables, the EMA period and
the RSI Period. It gets "passed" when you write the function
within your regular AFL code. In my case, following what a lot of
others do, I #include a regular (and growing) MyFunctions.AFL
file.<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
Hope this
helps.<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
Ken<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
-----Original
Message-----
From: Sidney Kaiser [<A
href="">mailto:s9kaiser@xxxxxxxxxxx]
Sent: Wednesday, December 24, 2003 12:02 PM
To: AmiBroker@xxxxxxxxxxxxxxx
Subject: [amibroker] passing variables<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
I use StochRSI fairly often
and rather than re-write it all the time I <FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
decided to make a dedicated
AFL file that I can include in the other files <FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
where I want to use the
function. Of course to be of any use, the <FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
variables need to be passed
from the calling program to the included <FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
program. I know how
to do that in TS, but I don't see how to do it in AFL.<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
For my StochRSI fn I would
want to pass the Array (usually Close), the RSI <FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
period and the smoothing MA
to the include file. Three variables in all.<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
How is this
done?<FONT face="Century Schoolbook, New Century Schoolbook"
size=3>
TIA<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
Sid<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
Send BUG REPORTS to
bugs@xxxxxxxxxxxxx<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
Send SUGGESTIONS to
suggest@xxxxxxxxxxxxx<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
<FONT face="Courier New, Courier"
size=2>-----------------------------------------<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
Post AmiQuote-related
messages ONLY to: amiquote@xxxxxxxxxxxxxxx <FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
(Web page: <A
href="">http://groups.yahoo.com/group/amiquote/messages/)<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
<FONT face="Courier New, Courier"
size=2>--------------------------------------------<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
Check group FAQ at: <A
href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html
<FONT face="Century Schoolbook, New Century Schoolbook"
size=3>
Yahoo! Groups
Links<FONT face="Century Schoolbook, New Century Schoolbook"
size=3>
To visit your group on the
web, go to:<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
<A
href="">http://groups.yahoo.com/group/amibroker/<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
To unsubscribe from this
group, send an email to:<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
<FONT face="Courier New, Courier"
size=2> amibroker-unsubscribe@xxxxxxxxxxxxxxx<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
Your use of Yahoo! Groups
is subject to:<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
<A
href="">http://docs.yahoo.com/info/terms/
<FONT face="Century Schoolbook, New Century Schoolbook"
size=3>
Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send 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<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
Yahoo! Groups Links
To visit your group on the web, go to:
<A
href="">http://groups.yahoo.com/group/amibroker/
To unsubscribe from this group, send an email to:
<A
href="">amibroker-unsubscribe@xxxxxxxxxxxxxxx
Your use of Yahoo! Groups is subject to the <A
href="">Yahoo! Terms of Service.
<FONT face="Century Schoolbook, New Century Schoolbook"
size=3>---Incoming mail is certified Virus Free.Checked by AVG
anti-virus system (<A href=""
eudora="autourl">http://www.grisoft.com).Version: 6.0.551 / Virus
Database: 343 - Release Date: 12/11/2003Send
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<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
Yahoo! Groups Links
To visit your group on the web, go to:
<A
href="">http://groups.yahoo.com/group/amibroker/
To unsubscribe from this group, send an email to:
<A
href="">amibroker-unsubscribe@xxxxxxxxxxxxxxx
Your use of Yahoo! Groups is subject to the <A
href="">Yahoo! Terms of Service.
<FONT face="Century Schoolbook, New Century Schoolbook"
size=3>
---Outgoing mail is certified Virus Free.Checked by AVG anti-virus
system (<A href=""
eudora="autourl">http://www.grisoft.com).Version: 6.0.551 / Virus
Database: 343 - Release Date: 12/11/2003Send 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<FONT
face="Century Schoolbook, New Century Schoolbook" size=3>
Yahoo! Groups Links
To visit your group on the web, go to:
<A
href="">http://groups.yahoo.com/group/amibroker/
To unsubscribe from this group, send an email to:
<A
href="">amibroker-unsubscribe@xxxxxxxxxxxxxxx
Your use of Yahoo! Groups is subject to the <A
href="">Yahoo! Terms of Service.
<FONT face="Century Schoolbook, New Century Schoolbook"
size=3>---Incoming mail is certified Virus Free.Checked by AVG
anti-virus system (<A href=""
eudora="autourl">http://www.grisoft.com).Version: 6.0.551 / Virus
Database: 343 - Release Date: 12/11/2003
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
Yahoo! Groups Links
To visit your group on the web, go to:<A
href="">http://groups.yahoo.com/group/amibroker/
To unsubscribe from this group, send an email to:<A
href="">amibroker-unsubscribe@xxxxxxxxxxxxxxx
Your use of Yahoo! Groups is subject to the <A
href="">Yahoo! Terms of Service.
---Outgoing mail is certified Virus Free.Checked by AVG
anti-virus system (http://www.grisoft.com).Version: 6.0.551 / Virus
Database: 343 - Release Date: 12/11/2003
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
Yahoo! Groups Links
To visit your group on the web, go to:http://groups.yahoo.com/group/amibroker/
To unsubscribe from this group, send an email to:amibroker-unsubscribe@xxxxxxxxxxxxxxx
Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
|