PureBytes Links
Trading Reference Links
|
<SPAN
class=879010320-28102003>hi john, I don't have time right now to mess in detail
w this, but try temporarily replacing p2 with a fixed number and see if the
error goes away. it won't give you correct results, but might verify my
suspicion, which is that AB's BBand functions can't take arrays for their
period. if that's the case, you'd need to code a replacement in AFL that can, or
if we're lucky, maybe those functions are part of
indicators.dll.
<SPAN
class=879010320-28102003>
<SPAN
class=879010320-28102003>I hope that some day soon, we'll get versions of all
built in AB indicators that are array-capable. many of them already are, and it
would be great if life was that kind of symetrical, not to mention
useful.
<SPAN
class=879010320-28102003>
<SPAN
class=879010320-28102003>dave
<SPAN
class=879010320-28102003>
<BLOCKQUOTE
>
I think i have a
'dynamic=false' situation like your BuySellStoch. (I amusing p1 as the
number of periods for MFI() and assume that this"mfi(periods=14)" syntax
in Help means that MFI can take only a single-valueparameter. And p2 is a
single-value crossover threshold for Bollinger's %b.)FWIW, here is my
rule code producing the error:function BuySellPcntBMFI(dynamic, p1,
p2) { // p1 = MFI period, p2 = highcrossover
threshhold price = Close; BA = 20;
//Bband MA BD = 2;//Bband Stdev BL
= ML = 20;// lower crossover threshhold MP = p1;// MFI
period MH = BH = p2;// higher crossover
threshhold //b is Bollinger's %b b
= ((price - BBandBot( price, BA, BD )) / (BBandTop( price, BA, BD )
-BBandBot(price, BA, BD ))) * 100; Buy = Cover = b
> BH AND MFI(MP) > MH; Sell = Short = b < BL
AND MFI(MP) < ML;}TIA,-john----- Original
Message ----- From: Dave MerrillTo: amibroker@xxxxxxxxxxxxxxxSent:
Tuesday, October 28, 2003 8:03 AMSubject: RE: [amibroker]
Auto-optimization AFL thanks for the compliments, glad it's kind
of sane in there (:-).just FYI, there's a new version of this that I
haven't posted yet. amongother changes, it handles up to 3 optimization
parameters, and allows eachrule to set the optimization parameter ranges
independently. it also movesthe docs into a separate file, so the code
file is smaller and easier todeal with. I'll get that up as soon as I can
finish it off.no, you don't have to set dynamic yourself, and
shouldn't. did you read thecomments about it? I bet it's not dynamic
itself that your rule is gettinghung up on, it's the optimization
parameters being arrays when dynamic istrue.here's the section
about this from the newer version, expanded a bit fromthe original; not
sure if the example BuySell rules it mentions are exactlythe
same:--------------during optimization, the active rule is called
multiple times, once witheach combination of p1, p2 and p3 being tested.
at this time, p1, p2 and p3are simple numeric values, not arrays. once
optimal settings have beendetermined for every bar, the rule is called
once more, to generate actualtrading signals. this time, p1, p2 and p3 are
arrays, each bar dynamicallycontaining the optimal p1, p2 and p3 value for
that bar.whether they're simple values or arrays matters because not
all AB functionscan accept arrays as inputs. for example, MA, TEMA, DEMA,
WMA and AMA canuse an array as their period, but EMA and MACD can't. it's
usually possibleto code an equivalent in AFL that can, like the included
EMAx function is areplacement for EMA. an AFL replacement may be
significantly slower though,if it has to do a lot of work, since rules are
called many times duringoptimization. you could also use a DLL, like
indicators.dll from the 3rdparty section of the AB site, but I didn't want
this code to depend onoutside tools.if this is an issue for a
particular rule, include both slower array-capablecode for use in the
final signal-generation phase, and faster,non-array-capable code for use
during the many optimization tries. use the'dynamic' parameter to know
which to call; see BuySellStoch, below, for anexample. you can also write
a custom function with both versions, and passdynamic into it; see
BuySellCCI and CCIx for an
example.--------------hth,daveHi Dave,I
started working with it...very nice, structured, work...this will
helpfolks learn AFL as well as general programming design, I
believe..so far, i am having a bit of trouble with the 'dynamic'
True/False parameterbeing fed to one of my indicators---but i suspect this
is my problem notyours:BuySellRule(True, best_p1,
best_p2);-----------------------------------^Bad args.0-th
argument of function call has invalid (or unsupported) typeI don't
have to specifically set 'dynamic'; do I?thanks-john-----
Original Message ----- From: Dave MerrillTo:
amibroker@xxxxxxxxxxxxxxxSent: Thursday, October 23, 2003 6:32
PMSubject: RE: [amibroker] Auto-optimization AFL
uploadedthanks, appreciate it (:-).so, did you figure out
how we can all be millionaires by morning with ityet? or at least learn
something about something?you probably noticed this, but the way it
comes set up, it's not usingequity feedback to optimize with, but net bars
on the right side of themarket. my initial impression after I built that
was that it worked betterthan equity, but since then, I've concluded that,
guess what, it depends. soanyway, try the other scoring algorithm too, if
you haven't already.keep me posted (:-).anyone else playing
with this thing?daveI've downloaded it and run it about a dozen
times. What you've done is
veryimpressive.Thanks,Howard-----Original
Message-----From: Dave Merrill [mailto:dmerrill@xxxxxxx]Sent:
Wednesday, October 22, 2003 1:11 PMTo:
amibroker@xxxxxxxxxxxxxxxSubject: RE: [amibroker] Auto-optimization AFL
uploadedforgot to say it howard, but I'm very interested in what you
think about it,and any results you get from fiddling with
it.daveYahoo! Groups
SponsorADVERTISEMENTSend 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.htmlYour
use of Yahoo! Groups is subject to the Yahoo! Terms of
Service.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.
|