PureBytes Links
Trading Reference Links
|
<FONT face=Arial
color=#0000ff size=2>I agree but how about the time (and determination) it
took to get the exact solution?
<FONT face=Arial
color=#0000ff size=2>
<FONT face=Arial
color=#0000ff size=2>d
From: DIMITRIS TSOKAKIS
[mailto:TSOKAKIS@xxxxxxxxx] Sent: Monday, April 05, 2004 6:07
AMTo: amibroker@xxxxxxxxxxxxxxxSubject: [amibroker] Re:
estimating price for possible crossover on T3 indicator
dingo,It is nice to have the exact formula, when possible
of course.It is fast, accurate and, the most important, it gives very
interesting side effects. The Cross(Ti3a,Ti3b) prediction is one of
them. Dimitris Tsokakis--- In amibroker@xxxxxxxxxxxxxxx, "dingo"
<dingo@xxxx> wrote:> Here's a general purpose routine provided by
Fred Tonetti that you can adapt> to suit your needs.>
> d> > >>Is there any way this can be
accomplished...> >>> >>the question is...What price
must the security close at for a > >>crossover the next
day?> >>> >>TIA> > > >
> _____ > > From: Fred
[mailto:ftonetti@xxxx] > Sent: Friday, January 30, 2004 12:41
PM> To: amibroker@xxxxxxxxxxxxxxx> Subject: [amibroker] Re:
Search Routine for Crossover Point -- EMA Version> >
> Is there any reason to limit this to an xMA when this can easily be
> done for any built in AB indicator or any custom AFL "indicator"
that > one cares to write ?> >
//
*********************************************** > //>
// An all purpose routine to find the price
> //
necessary to move an indicator to a GOAL.> //>
// This should work for virtually any
indicator,>
// built in
or otherwise. It's demonstrated >
// here
using RSI & BBand's ...> //>
// Note: It will
appear to use future quotes>
//
because of the down shifting of the>
//
price array, but obviously it can't>
//
"know" tomorrows price. There's >
//
probably a way to rectify this but >
//
I was more concerned with the rest >
//
of the process.> //> // The
maximum iterations have arbitrarily been >
// set to
200 which is undoubtedly overkill >
// as I've
yet to see anything take 200 even>
// when
tolerance was set to 0 on datastreams >
// with very
high prices.> //> // For real
usage the saving of i in j and the>
// accuracy
calculation can be tossed as they >
// were only
put in for demonstration purposes > //>
//
***********************************************> //>
// This Routine requires the following
things> //> //
P0 = A price
array or synthetic> //> //
Goal = The goal value of the indicator>
//> //
Acc = An
accuracy level for the calculations> //>
//
Set this to the order of magnitude >
//
that you want. For example if you want >
//
accuracy in calculated price to within >
//
0.01 then set it 0.01. It can even >
//
be set to 0 which will force AB to >
//
calculate until it can't find any >
//
further improvements (Usually between>
//
150-170 iterations) but this is semi>
//
useless as improvements relative to >
//
price granularity have long since >
//
been gone by.> //>
//
The lower you set it the longer it >
//
will take but it's pretty quick >
//
(Usually between 15-30 iterations) >
//
unless you set it at 0.>
//
> //
***********************************************> //>
// Note: Some
goals are virtually unattainable on>
//
the next bar, especially on the downside>
//
as they would require a negative price>
//
which is what this routine will show if>
//
that is what is required.> //> //
***********************************************> >
P0 = C;> > Acc = 0.0001;> > LVBI
= LastValue(BarIndex());> Mult = 1;> >
//
***********************************************>
// Shift Price up by n orders of magnitude to
make >
// it >=
1. This is useful to increase >
// accuracy
on very low priced datastreams >
// such as
the JY.> //
***********************************************> for (i = 0; i < 10;
i++)> { > if (P0[LVBI] >=
1)
>
i = 99; > else
>
Mult = Mult * 10; > } > //
***********************************************> >
P1 = Ref(P0, 1) * Mult;> UpDn = 100 * P1[LVBI];>
> for (i = 0; i < 200; i++)> {> >
// An example for finding price associated with
the next bars > BBandTop> //>
//>
**************************************************************>
***************> // Put whatever
indicator you want to goal seek here based on P1>
//>
**************************************************************>
***************> Calc = P1;>
//>
**************************************************************>
***************> // Put whatever you want
for the goal here ...> //> // The
reason for putting it in the loop is because sometimes > the goal is
price >
// oriented
and will need to be recalculated on each > iteration.>
//>
**************************************************************>
***************> Goal =
LastValue(BBandBot(P1, 14, 2));>
//>
**************************************************************>
***************> > > >
// An example for finding price associated with
the next bars > RSI value of 65> //>
//>
**************************************************************>
***************> // Put whatever
indicator you want to goal seek here based on P1>
//>
**************************************************************>
***************> // Calc = RSIa(P1,
14);> //>
**************************************************************>
***************> // Put whatever you want
for the goal here ...> //> // The
reason for putting it in the loop is because sometimes > the goal is
price >
// oriented
and will need to be recalculated on each > iteration.>
//>
**************************************************************>
***************> // Goal = 65;>
//>
**************************************************************>
***************> > if
(Calc[LVBI] <
Goal)>
P1[LVBI] = P1[LVBI] + UpDn;>
else>
P1[LVBI] = P1[LVBI] - UpDn;> UpDn =
UpDn / 2;> if (UpDn <=
Acc)>
{>
j =
i;>
i = 99999;> }> }>
> Accuracy = 100 * (abs(Goal - Calc) / Goal);> > Filter =
BarIndex() == LVBI;> >
AddColumn(Mult,
> "Multiplier",
1.0);> AddColumn(Calc[LVBI - 1] / Mult,
"Curr Ind Val", 1.9);> AddColumn(Goal /
Mult,
"Goal Ind Val", 1.9);> AddColumn(Calc[LVBI] /
Mult, "Calc
Ind Val", 1.9);>
AddColumn(j,
> "Iterations",
1.0);>
AddColumn(Accuracy,
"Accuray (%)", 1.9);> AddColumn(Ref(P1, -1) /
Mult,
"Todays Price", 1.9);> AddColumn(P1 /
Mult,
"Goal > Price", 1.9);> > > >
Send BUG REPORTS to bugs@xxxx> Send SUGGESTIONS to suggest@xxxx>
-----------------------------------------> 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
Sponsor > >
ADVERTISEMENT> > <<A
href="">http://rd.yahoo.com/SIG=12cr5290c/M=268585.4464812.5643763.1261774/D=egroup>
web/S=1705632198:HM/EXP=1075570907/A=1950447/R=0/*<A
href="">http://ashnin.com/clk/mury>
utaitakenattogyo?YH=4464812&yhad=1950447> click
here > > <<A
href="">http://us.adserver.yahoo.com/l?M=268585.4464812.5643763.1261774/D=egroupmai>
l/S=:HM/A=1950447/rand=928413924> >
> _____ > > 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:> amibroker-unsubscribe@xxxxxxxxxxxxxxx>
<mailto:amibroker-unsubscribe@xxxxxxxxxxxxxxx?subject=Unsubscribe>
> > > * Your
use of Yahoo! Groups is subject to the Yahoo! Terms of Service>
<<A
href="">http://docs.yahoo.com/info/terms/>
.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
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.
|