PureBytes Links
Trading Reference Links
|
Yep, guilty as charged. I hadn't even looked at the formula's or their internal contents.
Naturaly the (vPrev:=PREV) variable, which calculates its own {empty} PREV history,
will always have a {dead,useless} zero being returned.
But in the spirit of that PREVmail (eg faster calculations to "a factor 5") and in combination
with Downloader hitting the (Guiness book of Records) World's slowest updating Record,
eg due to Convert's (still running on 'steam') engine, that too does calculations performing,
had me on the brink to urge program's makers+developpers to consider alternatives
for the Convert function's codes, eg to at least upgrade the ol' DAT-steamliner to become
a 1960's modern day DAT-diesel, both still outdated engine types nowadays, but for their
MSK-program's users would mean a hell of a world of difference, eg at least meaning as
though {the always unbelievable-thought-off} "landing on the moon" miracle has taking place.
-------------
Here is what takes place when Convert-ing:
To get a daily qoute for record put into a sec's data file (Append), Convert will
1. scan the disk's addressed Destination folder for the presence of the MSK's
Data Folder's Files.
2. then scan the in this sec's data folders' found Master/Emaster files for this
particular sec's details and:
(at this stage, writing quote data to the data files is not done yet)
2a. if the security
2a1. is known, thus found, will adress this sec's DAT(MWD) file (see 2)
or
2a1. is not known, will add this sec to this folder's files, eg writing
sec's details to the folder's Master/Emaster and creating this
sec's DAT/MWD data file in the folder
or
2b. will return an appropiate error.
3. then Convert will continue and scan the DAT(MWD) file for this sec's date
records and:
3a. will, if there is not a record present for this particular date, either
3a1. Append(write) the quote record by Adding this date's quote
or
3a2. otherwise (since this is an Option) and when found, will Overwrite
(Replace) this original date's record with the new quote.
or
3b. will return an appropiate error.
----------------------
Now where are the slowing down botlle-necks:
4. Are they in: -reading the files (eg Editing)
5. Are they in: -writing to the files (eg Typing) , (eg Sending Key Strokes)
6. Are they in: -storing the files (eg Saving) , (eg Disk Access)
7. Are they in: -file format used (eg DAT) (where ASCII or Excel would/could be better?)
Now try these bottle necks in VB (VBA,VBScript) or ASP (HTM,HTML,CGI) and
see what a "hell of a difference" those engines are capable of to perform, thus
this also meaning that for sure nowadays it is possible to be fast, when/if only
these modern day tools are/were being used.
Why doesn't Equis put lots more effort into these type of long time neglagted area's, and
not only into (and "greatly announcing") the newly available, but not by the fast majority
used or wanted extension tools {unless someone is capable to re-tool the Downloader,
eg re-write the Downloader. Perhaps that someone or his/her group can re-write the
MetaStock program then as well, eg getting rid of all the mediocre flings and at same
time making program "user definable", eg like all Office programs are using personal
preferences+settings}.
Regards,
Ton Maas
ms-irb@xxxxxxxxxxxxxxxx
Dismiss the ".nospam" bit (including the dot) when replying.
Homepage http://home.planet.nl/~anthmaas
----- Original Message -----
From: "Jeff Ledermann" <j.ledermann@xxxxxxxxx>
To: <metastock@xxxxxxxxxxxxx>
Sent: vrijdag 18 februari 2000 14:07
Subject: RE: Faster Chandelier Exit
> Ton,
>
> Tut, tut.... you of all people should have picked up what's
> wrong here.
>
> PREV probably *should* work like this but it doesn't
>
> PREV gives you the previous value of the current expression
> NOT THE PREVIOUS VALUE OF THE INDICATOR.
>
> A simple test will prove that to anyone who doubts this.
>
> Try:
> vPrev:=PREV;
> If(Cum(1) < 50,Cum(1),vPrev);
>
> Versus:
> If(Cum(1) < 50,Cum(1),PREV);
>
> Cheers
> Jeff.
>
> >
> > If the List had a Mail of the Year competition, I'd vote for your mail.
> > Formula wise you are definitely getting the hang of it.
> >
>
> snip
>
> > >
> > > Anyway, here is how the code (at least this iteration) should be modified to
> > > speed up the calculation by a factor of 5. Basically, we move PREV into a
> > > variable vPREV prior to using it (so that it is only calculate once) in the
> > > long and short exits. Here is the code for the long exit. I tested it with
> > > the sample Entry Rule and receive the same results in 1/5th the time. Just
> > > modify the SHORT exit in the same way. Hope this helps everyone using it.
> > >
> > > {DEFINE ENTRY PRICE, WITH EXIT BEING -- ENTRY PRICE AND NO TRADE BEING 0}
> > > {Move PREV into a variable to speed things up - DB 2/17/00}
> > > vPREV:=PREV;
> > > EntryPrice:= If(vPREV <= 0,
> > > {Trade entered today?}
> > > If(LongEntry, CLOSE, 0),
> > > {Trade entered before today. Stopped today?}
> > > If(LOW <= vPREV - MoneyMgmtStop, -vPREV,
> > > If(LOW <= HighestSince(1,vPREV=0, HIGH) - 3 * ATR(10), -vPREV,
> > > If(LOW <= HighestSince(1,vPREV=0, CLOSE) - 2.5 * ATR(10), -vPREV,
> > > vPREV))));
> > >
> > >
> > > David
>
>
|