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@xxx>
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!
>
|