Fred,
I assume from your "N millisecond" comment you don't see much of a
time penalty with running AA, to get some metrics, via a script?
brian_z
--- In amibroker@xxxxxxxxxps.com,
Fred Tonetti <ftonetti@xx.>
wrote:
>
> In regards to your
>
>
>
> 2) . I assume you mean performance metrics . My question is WHAT or
WHICH
> performance metrics. My understanding of Equity() is that it
basically
> creates an equity curve not a Trade List and as such can be
evaluated for
> any equity curve only related performance metric but not for any
trade list
> related metric. If my understanding is correct then is what you
are after
> in terms of performance metrics fall within those guidelines ? If
so then
> you can get at what you want to with simple AFL following your
Equity()
> statement without the need to explicitly use the backtester whether
from a
> script or anywhere else. However, if this is not the case then I
don't see
> how you get the information you need without having to explicitly
use the
> backtester.
>
>
>
> _____
>
> From: amibroker@xxxxxxxxxps.com
[mailto:amibroker@xxxxxxxxxps.com]
On Behalf
> Of Herman
> Sent: Tuesday, May 20, 2008 9:22 AM
> To: Fred Tonetti
> Cc: amibroker@xxxxxxxxxps.com
> Subject: Re: [amibroker] Re: System Performance Indicators [was:
Can someone
> fix this OLE code?]
>
>
>
> Thank you Fred, yes I looked at it, and I appreciate your solution.
However
> it is not as easy and i need to digest the new possibilities.
>
>
>
> Can your OLE code be called/controlled from an Alert() instead of
the tools
> menu?
>
>
>
> Here is a partial sequence of operations that the code in my
indicator
> performs (on EOD data for now):
>
>
>
> 1) screen/filter ~8000 tickers
>
> 2) Calculate several parameters for each of the ~1000 ticker found
>
> 3) sort/filter tickers based on parameters calculated above
>
> 4) runs Equity() on each of the 1000 tickers and calc. several
Perf.Metrics
>
> 5) Sort/filter the results by Perf.Metrics.
>
> 6) runs another Equity() (different param) on each of the tickers
produced
> above and produce new Perf.Metrics
>
> 7) Sort/filter the above results
>
> 8) take the top n tickers and pass them to the AutoTrading module.
>
>
>
> For research and system development/optimization the number of
times each
> step is called may vary and each steps may have their own set of
User Input.
> While we can perform these actions manually using the AA/Excel (our
current
> method) I am aiming for full automation to allow auto optimization.
I am
> making good progress, however having a simple function call to
retrieve
> performance metrics would simplify things, save me a bunch of time,
and add
> versatility. The final step will be to tighten up the filters and
optimize
> code for speed.
>
>
>
> Best regards,
>
> herman
>
>
>
>
>
> For tips on developing Real-Time Auto-Trading systems visit:
>
> http://www.amibroke <http://www.amibroker.org/userkb/>
r.org/userkb/
>
>
>
> Monday, May 19, 2008, 8:21:46 PM, you wrote:
>
>
>
>
> >
>
> Re bouncing emails . No problem .
>
>
>
> Re control of AA processes . Actually there are LOTS of ways to
control them
> . However, did you at least look at the simple script I posted that
would
> run the loaded AFL in AA ( Backtest ) every n milliseconds ?
>
>
>
> If this really fails to meet the need that's fine but I'd at least
like to
> know that you looked at the posts I put up for this and spent at
least a
> minute or two evaluating them.
>
>
>
> _____
>
> From: amibroker@xxxxxxxxxps.com
[mailto:amibroker@xxxxxxxxxps.com]
On Behalf
> Of Herman
>
> Sent: Tuesday, May 20, 2008 8:15 AM
>
> To: Fred Tonetti
>
> Subject: Re: [amibroker] Re: System Performance Indicators [was:
Can someone
> fix this OLE code?]
>
>
>
>
> Fred, I have to work from an Indicator window to get Real-Time
response wrt
> process monitoring/display/reporting, user interfacing, GFX,
AutoTrading,
> etc. To distribute my actions over multiple modules, like BT, Port
BT,
> Explore, Optimize, Scan, and Indicators complicates matters too
much. That
> is only possible for fixed procedures. The AA modules are like
black boxes,
> once you start a process there is no way to monitor and/or control
the
> process. The AA reports static results, AFAIK, without external
programming
> there is nothing you can use in your RT calculations. I cannot use
the
> Run-Every option.
>
>
>
> btw Fred, my personal emails that went out to you earlier came back
> (bounced) today - I am on the road and have a problem with my ISP.
Sorry.
>
>
>
> Best Regards,
>
> herman
>
>
>
> For tips on developing Real-Time Auto-Trading systems visit:
>
> http://www.amibroke <http://www.amibroker.org/userkb/>
r.org/userkb/
> <http://www.amibroker.org/userkb/>
>
>
>
> Monday, May 19, 2008, 7:24:09 PM, you wrote:
>
>
>
>
> >
>
> Herman,
>
>
>
> Just so I understand. what's the problem having to run AA ?
>
>
>
> _____
>
> From: amibroker@xxxxxxxxxps.com
[mailto:amibroker@xxxxxxxxxps.com]
On Behalf
> Of Herman
>
> Sent: Tuesday, May 20, 2008 6:49 AM
>
> To: brian_z111
>
> Cc: amibroker@xxxxxxxxxps.com
>
> Subject: Re: [amibroker] Re: System Performance Indicators [was:
Can someone
> fix this OLE code?]
>
>
>
>
> OK, at the risk of dragging this on :-) my disappointment was due
to:
>
>
>
> 1) The inability of experienced users to look beyond traditional
TA. imo,
> System Performance Indicators (SPI), that is what my initial OLE
code was
> working towards, should be part of all system design. SPIs should
not be
> separated from traditional indicators and only be used for static
reporting.
> They should be used dynamically and integrated into system design.
Today we
> have plenty of computer power to do so. This would introduce an
entirely new
> category (AFAIK) of indicators and, especially if they are provided
with
> arguments like period and input arrays, they may prove to be
extremely
> useful. Tomasz' new code will allow users to play with this idea.
>
>
>
> 2) Some people knowingly underestimating the amount of work
required to
> provide a general solution, and/or to learn OLE, CBT, GFX, etc.
Spending
> time learning new tools takes away from system development and can
set the
> average part-time user back a year or more - and prevent him/her
from ever
> excelling in any area. It is far more expedient to just learn, use,
and know
> well, a single language (AFL). Diversification requires you to
divided your
> time (and mental resources) over several areas. Remember that after
age
> forty your mind starts to lose its edge :-) if you deny this you
may be in
> for a surprise.
>
>
>
> But no hard feelings: I still love everyone :-)
>
>
>
> Tomasz' solution is very elegant, and it is a very nice
> demonstration/introduction to using the CBT. I love it and I thank
him for
> it. However regretfully it does not solve my problem; it does not
allow me
> to access equity-derived performance metrics, in arrays, from an
indicator
> window without running the AA. I need in-line calculated values
that are
> refreshed as the chart is refreshed and that can be called from
inside a
> ticker-loop.
>
>
>
> Best regards,
>
> herman
>
>
>
>
>
>
>
> For tips on developing Real-Time Auto-Trading systems visit:
>
> http://www.amibroke <http://www.amibroker.org/userkb/>
r.org/userkb/
> <http://www.amibroker.org/userkb/>
>
>
>
> Monday, May 19, 2008, 5:43:28 PM, you wrote:
>
>
>
> > There wasn't any frustration in it for me.
>
>
>
> > I was disappointed that Herman was disappointed.
>
>
>
> > My general point is that it is quite hard to communicate via
boards
>
> > like this, especially if the subject is complex or has nuances to
it.
>
> > An undertone of miscommunication is the norm and we should allow
for
>
> > that.
>
>
>
> > Half the time I haven't got a clue what you are talking about but
put
>
> > me down for a copy of the book.
>
>
>
> > Before AB I used Metastock.
>
> > I couldn't get the backtester to do what I wanted it to do so I
ended
>
> > up using their explorer as a pseudo backtester.
>
> > The fact is that in many respects it worked quite well.
>
> > That is how I know that it would be relatively easy to use the AB
>
> > indicator panes as a 'visual' backtester without the need for
>
> > complicated code.
>
>
>
> > The actual sticking point, which is why I left MS, is that the
>
> > metrics were cumulative metrics (at least the way I did it
anyway) so
>
> > I couldn't get individual trades, as a series, to do
distributions or
>
> > account for wild outliers etc.
>
>
>
> > The other challenge in MS was actually modelling the trades
because
>
> > their program didn't have the levels of customisation I needed
for my
>
> > entries and exists.
>
>
>
> > Other than that it worked fine and if I could have done those
things
>
> > I would probably still be there now, not knowing any better.
>
>
>
> > Of course now that I am at AB I am happy that the program is
bigger
>
> > than me. It was rather scary, to me, that a person with my
background
>
> > and experience outgrew MS in under a year.
>
>
>
> > I don't see how anyone can complain because Tomasz has given us
the
>
> > CBT, OLE methods etc but at the same time I have my own
preferences
>
> > for and I don't mind sticking up for them.
>
>
>
> > brian_z
>
>
>
>
>
>
>
>
>
>
>
> > --- In amibroker@xxxxxxxxx <mailto:amibroker@xxxxxxxxxps.com>
ps.com
> <mailto:amibroker@xxxxxxxxxps.com>
, Dennis Brown <see3d@> wrote:
>
>
>
> >> Brian,
>
>
>
> >> As frustrating as threads like this can turn out for most
involved,
>
> > I
>
> >> really like to see this type of discussion online. We can all
>
> > learn a
>
> >> lot through thrashing out our conceptions and misconceptions --
>
> > though
>
> >> it might be better on a smaller forum with a narrow set of
>
> > interests.
>
> >> I am keenly aware that this list has thousands of readers, most
of
>
> >> which are still working towards a basic understanding of AB/AFL.
>
>
>
> >> I have gotten into "trouble" in the past by posting to
make a
>
> > general
>
> >> point, and obliquely mentioning some thing or principle that I
am
>
> >> working on. I mentioned them without details, because I didn't
>
> > want
>
> >> to encourage a discussion about them. They were only meant as
an
>
> >> example of why I was motivated to post.
>
>
>
> >> Laughably, sometimes I find that the thing I was not trying to
make
>
> > an
>
> >> issue becomes a target instead of the real issue I was trying
to
>
> >> address. Sometimes I learn something valuable in the exchange
>
> > anyway,
>
> >> and sometimes it is just a distraction.
>
>
>
> >> There were a lot of apples being thrown and oranges being
thrown
>
> >> back. I am glad you found one of the fruits to your liking.
>
>
>
> >> I am happy with my BT approach and my reasons for it. The
>
> > discussions
>
> >> here, though valuable for general understanding, will not change
>
> > my
>
> >> approach to indicator mode single equity backtesting which is
the
>
> >> backbone of my day-trading platform. I would not expect someone
>
> > to
>
> >> understand what I am doing without a lot of screenshots and
>
> >> explanations, which would take too much time for a casual post
on
>
> >> someone's else's thread.
>
>
>
> >> BR,
>
> >> Dennis
>
>
>
> >> On May 19, 2008, at 4:02 AM, brian_z111 wrote:
>
>
>
> >> > No disrespect but when guys like you and Dennis, who are
working
>
> > in
>
> >> > specialist areas, post you can't expect us to pick up your
train
>
> > of
>
> >> > thought with only partial explanations (if you had given me
a
>
> >> > screenshot of a spreadsheet mockup and mini-tutorial I could
have
>
> >> > bought in to your search a lot easier).
>
> >> >
>
> >> > By the same token I think you misunderstood the value of
what
I
>
> > was
>
> >> > talking about (maybe for the same reasons although I have
talked
>
> >> > about it before).
>
> >> >
>
> >> > First I am talking about something more generic that has
added
>
> > value
>
> >> > if pursued (I only gave the starting point).
>
> >> > It leads on to inline MoneyManagement and plotting trade
series
>
> >> > frequencies etc.
>
> >> >
>
> >> > Second, from my point of view, I don't understand why you
would
>
> > want
>
> >> > to have indicators as backtesters BUT if you do want that
then
you
>
> >> > can have it without new functions (if I understand you
correctly
>
> > but
>
> >> > I am saying that under the assumption that you agree with
Dennis's
>
> >> > defintion of an inline BT).
>
> >> >
>
> >> > By my proposition if you know the trade% and you know the
time
in
>
> >> > trade you can calculate any equtiy metric OR moneymanagement
>
> > outcome
>
> >> > you want. Since, for individual stocks, you do have that
then
it
>
> >> > should be do-able without megacode.
>
> >> >
>
> >> > (Keep in mind that I might not fully understand your needs
and
>
> > that
>
> >> > we are live i.e. speculating - if it looks like I am making
a
>
> > mistake
>
> >> > I will throw in my hand).
>
> >> >
>
> >> > Also, I appreciate Fred's/Tomnasz's answers because,
while I
think
>
> >> > that another approch offers far more long term value, they
taught
>
> > me
>
> >> > something and it is something I can use right now (I have a
>
> > policy to
>
> >> > get on with it with what I have OR do it myself i.e. code or
>
> > plugins
>
> >> > which for me is all about pragmatism. I am only sidetracking
a
>
> > little
>
> >> > bit here and there to give Tomasz my two cents as I have too
much
>
> > to
>
> >> > do to make a career of it).
>
> >> >
>
> >> > As I said, no disrespect.
>
> >> >
>
> >> > I think the topic is worth my honest input.
>
> >> >
>
> >> > brian_z
>
> >> >
>
> >> >
>
> >> >
>
> >> >
>
> >> >
>
> >> >
>
> >> > --- In amibroker@xxxxxxxxx <mailto:amibroker@xxxxxxxxxps.com>
ps.com
> <mailto:amibroker@xxxxxxxxxps.com>
, Dennis Brown <see3d@> wrote:
>
> >> >>
>
> >> >> Herman,
>
> >> >>
>
> >> >> Actually, your needs and my needs are closely aligned in
this
>
> >> > regard:
>
> >> >> The need for a high speed BT on a single ticker in an
indicator
>
> >> > that
>
> >> >> refreshes on each new tick (more than 1 per second).
>
> >> >>
>
> >> >> If I had these functions as built-in, I might not have
needed
to
>
> >> > write
>
> >> >> my own AFL version.
>
> >> >>
>
> >> >> However, since it can be done in AFL, we should not rule
out
the
>
> >> >> #include option as a first viable choice.
>
> >> >>
>
> >> >> I doubt that what I have written so far qualifies as a
useful
>
> >> > general
>
> >> >> purpose solution for others, but it is more like 100
lines
than
>
> >> > 1000
>
> >> >> lines of AFL.
>
> >> >> However, if I had a good #include to start with, I would
likely
>
> >> > have
>
> >> >> used it as a base to work from, only adding my unique
needs
to
>
> > it.
>
> >> >>
>
> >> >> I am still debugging my last rewrite of my equity
function,
but I
>
> >> > am
>
> >> >> willing to share what I have privately with a good AFL
coder
who
>
> >> > can
>
> >> >> make something more general purpose to share with all.
>
> >> >>
>
> >> >> Best regards,
>
> >> >> Dennis
>
> >> >>
>
> >> >> On May 19, 2008, at 11:23 AM, Herman wrote:
>
> >> >>
>
> >> >>> Hello Paul,
>
> >> >>>
>
> >> >>> you are absolutely correct, it ought to be as simple
as
running
>
> >> > this
>
> >> >>> code in an Indicator:
>
> >> >>>
>
> >> >>> ....systems code...
>
> >> >>>
>
> >> >>> E = Equity(1); // This function would be
>
> >> > called
>
> >> >>> once only
>
> >> >>> NP = NetProfit(E); // New AFL functions that
>
> >> > return
>
> >> >>> ARRAYs based on the equity Array
>
> >> >>> NPP = NetPercentProfit(E)
>
> >> >>> CA = CAR(E)
>
> >> >>> RA = RAR(E)
>
> >> >>> MaxTradeDD = ... and so on for all performance
metrics.
>
> >> >>>
>
> >> >>> ... second level of systems code using the above
metrics for
>
> >> > system
>
> >> >>> analysis, signal generation, position scoring,
position
sizing,
>
> >> >>> etc. ...
>
> >> >>>
>
> >> >>> The so called solutions discussed in this thread
either do
not
>
> >> >>> provide the above arrays for use in auto-refreshing
indicators,
>
> >> > or
>
> >> >>> require a thousand lines of code written by a
professional
>
> >> > programmer.
>
> >> >>>
>
> >> >>> best regards,
>
> >> >>> herman
>
> >> >>>
>
> >> >>>
>
> >> >>>
>
> >> >>> For tips on developing Real-Time Auto-Trading
systems visit:
>
> >> >>> http://www.amibroke
<http://www.amibroker.org/userkb/>
r.org/userkb/
> <http://www.amibroker.org/userkb/>
>
> >> >>>
>
> >> >>> Sunday, May 18, 2008, 10:50:31 PM, you wrote:
>
> >> >>>
>
> >> >>>> Herman,
>
> >> >>>> I think I know where you are coming from. The
difference
>
> > between
>
> >> >>>> using indicators vs scripts is that indicators
continue to
>
> >> >>>> recalculate ( or in this case backtest) as new
data arrives.
>
> >> >>>
>
> >> >>>> One way to broker the impass with Tomasz is
consider simple
>
> >> > profolio
>
> >> >>>> backtesting as an AFL function. Rather than
using OLE, This
>
> >> > option
>
> >> >>> is
>
> >> >>>> write a function similar to Equity() in which
the symbols
in a
>
> >> >>>> watchlist is read and backtested.
>
> >> >>>>
>
> >> >>>> I think this function could be done in AFL today
using the
>
> >> > various
>
> >> >>>> functions already available. ie
CategoryGetSymbol to get the
>
> >> >>> symbols,
>
> >> >>>> foreign to set foreign symbol, the equity()
function to get
rid
>
> >> > of
>
> >> >>>> excess signals etc. Of course, you have to do
your own
>
> >> >>> ositionscoring
>
> >> >>>> and position sizing. Since Fred has done this
before, may
be he
>
> >> > can
>
> >> >>>> comment further or if he is generous enough, dig
out his
code
>
> >> > and
>
> >> >>>> post it again.
>
> >> >>>
>
> >> >>>> Essentially, this function can be called in your
indicator
afl.
>
> >> > In
>
> >> >>>> that way, you can have your pie and eat it as
well. I'm
sure if
>
> >> >>>> Tomasz sees a use in it, he will incorporate in
his list of
>
> >> >>> functions
>
> >> >>>> to do in the future.
>
> >> >>>
>
> >> >>>> What do you think?
>
> >> >>>> Regards
>
> >> >>>> Paul.
>
> >> >>>
>
> >> >>>
>
> >> >>>
>
> >> >>>> ------------------------------------
>
> >> >>>
>
> >> >>>> Please note that this group is for discussion
between users
>
> >> > only.
>
> >> >>>
>
> >> >>>> To get support from AmiBroker please send an
e-mail
directly to
>
> >> >>>> SUPPORT {at} amibroker.com
>
> >> >>>
>
> >> >>>> For NEW RELEASE ANNOUNCEMENTS and other news
always check
>
> >> > DEVLOG:
>
> >> >>>> http://www.amibroke
<http://www.amibroker.com/devlog/>
r.com/devlog/
> <http://www.amibroker.com/devlog/>
>
> >> >>>
>
> >> >>>> For other support material please check also:
>
> >> >>>> http://www.amibroke
<http://www.amibroker.com/support.html>
> r.com/support. <http://www.amibroker.com/support.html>
html
> <http://www.amibroker.com/support.html>
>
> >> >>>> Yahoo! Groups Links
>
> >> >>>
>
> >> >>>
>
> >> >>>
>
> >> >>>
>
> >> >>
>
> >> >
>
> >> >
>
> >> >
>
> >> > ------------------------------------
>
> >> >
>
> >> > Please note that this group is for discussion between users
only.
>
> >> >
>
> >> > To get support from AmiBroker please send an e-mail directly
to
>
> >> > SUPPORT {at} amibroker.com
>
> >> >
>
> >> > For NEW RELEASE ANNOUNCEMENTS and other news always check
DEVLOG:
>
> >> > http://www.amibroke <http://www.amibroker.com/devlog/>
r.com/devlog/
> <http://www.amibroker.com/devlog/>
>
> >> >
>
> >> > For other support material please check also:
>
> >> > http://www.amibroke <http://www.amibroker.com/support.html>
> r.com/support. <http://www.amibroker.com/support.html>
html
> <http://www.amibroker.com/support.html>
>
> >> > Yahoo! Groups Links
>
> >> >
>
> >> >
>
> >> >
>
>
>
>
>
>
>
>
>
> > ------------------------------------
>
>
>
> > Please note that this group is for discussion between users only.
>
>
>
> > To get support from AmiBroker please send an e-mail directly to
>
> > SUPPORT {at} amibroker.com
>
>
>
> > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
>
> <http://www.amibroker.com/devlog/>
>
http://www.amibroker.com/devlog/
> <http://www.amibroker.com/devlog/>
>
>
>
> > For other support material please check also:
>
> <http://www.amibroker.com/support.html>
>
http://www.amibroker.com/support.
> <http://www.amibroker.com/support.html>
html
> <http://www.amibroker.com/support.html>
>
> > Yahoo! Groups Links
>
>
>
> > http://groups. <http://groups.yahoo.com/group/amibroker/>
yahoo.com/
> <http://groups.yahoo.com/group/amibroker/>
group/amibroker/
> <http://groups.yahoo.com/group/amibroker/>
>
>
>
> > Individual Email | Traditional
>
>
>
> > http://groups. <http://groups.yahoo.com/group/amibroker/join>
> yahoo.com/ <http://groups.yahoo.com/group/amibroker/join>
group/amibroker/
> <http://groups.yahoo.com/group/amibroker/join>
join
> <http://groups.yahoo.com/group/amibroker/join>
>
> > (Yahoo! ID required)
>
>
>
> > mailto:amibroker- <mailto:amibroker-digest@yahoogroups.com>
> digest@xxxxxxxxx <mailto:amibroker-digest@yahoogroups.com>
ps.com
> <mailto:amibroker-digest@yahoogroups.com>
>
> > mailto:amibroker- <mailto:amibroker-
fullfeatured@yahoogroups.com>
> fullfeatured@ <mailto:amibroker-fullfeatured@xxxxxxxxxxxxcom>
yahoogroups.
> <mailto:amibroker-fullfeatured@xxxxxxxxxxxxcom>
com
> <mailto:amibroker-fullfeatured@xxxxxxxxxxxxcom>
>
>
>
> > amibroker-unsubscri <mailto:amibroker-
unsubscribe@yahoogroups.com>
> be@xxxxxxxxxxxx <mailto:amibroker-unsubscribe@xxxxxxxxxxxxcom>
com
> <mailto:amibroker-unsubscribe@xxxxxxxxxxxxcom>
>
>
>
> > http://docs. <http://docs.yahoo.com/info/terms/>
yahoo.com/
> <http://docs.yahoo.com/info/terms/>
info/terms/
> <http://docs.yahoo.com/info/terms/>
>
>
>
>
>
>
>
> _____
>
> I am using the free version of SPAMfighter for private users.
>
> It has removed 456 spam emails to date.
>
> Paying users do not have this message in their emails.
>
> Try SPAMfighter <http://www.spamfighter.com/len>
for free now!
>
>
>
>
>
>
>
> _____
>
> I am using the free version of SPAMfighter for private users.
>
> It has removed 456 spam emails to date.
>
> Paying users do not have this message in their emails.
>
> Try SPAMfighter <http://www.spamfighter.com/len>
for free now!
>
>
>
>
>
>
> _____
>
> I am using the free version of SPAMfighter for private users.
> It has removed 456 spam emails to date.
> Paying users do not have this message in their emails.
> Try SPAMfighter <http://www.spamfighter.com/len>
for free now!
>