PureBytes Links
Trading Reference Links
|
Good questions indeed, but, this is why Howard, Fred and others we
give full AFL formulas to help you answer your questions, isn't it ?
If the same person gives the formula, asks the question and gives the
reply , if nothing else, it will be boring a bit...
AFL is a powerful tool, give it a try !!
Dimitris Tsokakis
--- In amibroker@xxxxxxxxxxxxxxx, "pcwinch" <pcwinch@xxxx> wrote:
> Gentlemen,
>
> This is starting to get interesting especially of someone can
figure out how we can extend this into the whitespace area beyond the
latest data.
>
> For example, use your favourite indicator(s) and apply projected
regression channel to the prices.
>
> Qu: A.what happens to your indicator when prices are at the mid and
extremes of the next bar..and the next bar, then
>
> B. use the formula below to see what happens when the indicator is
1. extrapolated , 2. the same or 3. (2*same - extrapolated)
>
> What would be interesting is what happens to all the indicators and
the prices in the channel when this is applied to one indicator, and
how the indicators look in different time frames. What does it mean
to the setting of stops and exits philosophy is also an interesting
outcome.
>
> Any comments?
>
> Peter
>
> ----- Original Message -----
> From: Fred
> To: amibroker@xxxxxxxxxxxxxxx
> Sent: Saturday, January 31, 2004 3:41 AM
> 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: http://groups.yahoo.com/group/amiquote/messages/)
> --------------------------------------------
> Check group FAQ at:
http://groups.yahoo.com/group/amibroker/files/groupfaq.html
>
>
> Yahoo! Groups Sponsor
> ADVERTISEMENT
>
>
>
>
>
> --------------------------------------------------------------------
----------
> Yahoo! Groups Links
>
> a.. To visit your group on the web, go to:
> http://groups.yahoo.com/group/amibroker/
>
> b.. To unsubscribe from this group, send an email to:
> amibroker-unsubscribe@xxxxxxxxxxxxxxx
>
> c.. Your use of Yahoo! Groups is subject to the Yahoo! Terms of
Service.
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 Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark
Printer at MyInks.com. Free s/h on orders $50 or more to the US & Canada.
http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/GHeqlB/TM
---------------------------------------------------------------------~->
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:
http://docs.yahoo.com/info/terms/
|