PureBytes Links
Trading Reference Links
|
I've got it!
Quick simple anyone can use!
It requires no coding mostly!
Just a lot of patients and easy to stuff up or (cheat).
Put a blank page or folder over your screen.
But honestly if it realy does come to that there must be a place to
have this function properly writen in AB.
One question about this code, I get-
"Variable 'rm' used without having been initialized."
Error in this code when I installed it.
Z = Null;
LB =LastValue(BarIndex());
O = IIf(BarIndex()>(LB-RM),Z,O);
H = IIf(BarIndex()>(LB-RM),Z,H);
L = IIf(BarIndex()>(LB-RM),Z,L);
C = IIf(BarIndex()>(LB-RM),Z,C);
// Just an example system
StochRsi=EMA((RSI(8)-LLV(RSI(8),8))/(HHV(RSI(8),8)-LLV(RSI(8),8)),3)
*100;
Buy=Cross(17,StochRsi) AND Ref(MA(C,21),-1) < MA(C,21);;
Sell=Cross(StochRsi,83);
Short=Cross(StochRsi,83) AND Ref(MA(C,21),-1) > MA(C,21);
Cover=Cross(17,StochRsi);
Plot(C,"Close",2,1);
PlotShapes(IIf(Buy,shapeUpArrow,IIf(Short,shapeDownArrow,shapeNone)),
IIf(Buy,colorBrightGreen,IIf(Short,colorRed,colorBlack)));
Thanks
Ant.
--- In amibroker@xxxxxxxxxxxxxxx, "Dave Merrill" <dmerrill@xxxx>
wrote:
> And I *know* I said, at that time, and quoted again below, that
zeroing
> every indicator yourself requires recoding every indicator on
every pane you
> want to do this with.
>
> Can it be done? Of course, especially if there's one particular
indicator
> set you're interested in exploring this way.
>
> Would a simple built-in blanking-of-N-bars-at-the-end-of-the-data
feature be
> better? I think so, and thought so when I brought it up a while
ago. That's
> all I was trying to say.
>
> Dave
> I thought I also answered that you just have to make the
indicators Null
> as well
>
>
>
> StochRsi= IIf(BarIndex()>(LB-RM),Z,
> EMA((RSI(8)-LLV(RSI(8),8))/(HHV(RSI(8),8)-LLV(RSI(8),8)),3)*100 );
>
>
>
> Cheers,
> Graham
> http://e-wire.net.au/~eb_kavan/
>
> -----Original Message-----
> From: Dave Merrill
> Sent: Monday, July 26, 2004 9:12 PM
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: RE: [amibroker] Training mode.
>
>
>
> Thanks for your reply Herman, but we've had this discussion
before (:-).
> This is from my 6/27 reply to similar responses when I first
posted about
> this:
>
>
>
> ---------------
>
>
>
> Thanks for your reply Graham, but as I mentioned, I've tried
that, and it
> has problems.
>
>
>
> Try the more complete setup below, with a couple of random
indicators
> added. Everything's fine with nothing blanked. Blank out one bar,
and the
> price plot still looks fine, but MACD and RSI spike to zero on the
null
> price bars, causing them to rescale, the MACD illegibly. Blank a
few more
> bars, past a SAR cross, and SAR does the same thing.
>
>
>
> For another approach, comment out the BlankAll() line, and re-
enable
> BlankAll2(), on the next line. This shifts everything to the
right, "off the
> page", and then back. I tried this because that seemed very
analgous to
> those bars really not existing. Turns out that AB seems to treat
them as
> missing data (makes sense), and uses the existing last value for
the missing
> bars.
>
>
>
> Is there a way to work around all this? Of course, blank the
indicators
> too. But that means you have to recode every indicator on any pane
you want
> to do this with.
>
>
>
> I'd much rather just drop in a single function to adjust the
price bars,
> and have everything just work. But setting things to null doesn't
really do
> it. Any other ideas on a good blanking mechanism?
>
>
>
> What I'd really like is a built in feature that handled this
> automatically, including blanking BuyPrice, ShortPrice etc, and
any new
> built in variables as they get added.
>
>
>
> Clearer?
>
>
>
> Dave Merrill
>
>
>
> ---------------
>
> global gBI, gBarsBlanked;
>
>
>
> gBarsBlanked = Param( "bars", 0, 100, 0, -1);
> gBI = BarIndex();
>
>
>
> function IsBlanked() {
> return gBI >= (BarCount - gBarsBlanked);
> }
> function Blank(array) {
> x = IIf(IsBlanked(), Null, array);
> return x;
> }
> function Blank2(array) {
> x = Ref(Ref(array, -gBarsBlanked), gBarsBlanked);
> return x;
> }
> function BlankAll() {
> O = Blank(O); H = Blank(H); L = Blank(L); C = Blank(C);
> Avg = Blank(Avg); V = Blank(V);
> }
> function BlankAll2() {
> O = Blank2(O); H = Blank2(H); L = Blank2(L); C = Blank2(C);
> Avg = Blank2(Avg); V = Blank2(V);
> }
> function OHLCTitle() {
> return
> Interval(2) + " " + Date()
> + " Open = " + O
> + ", High = " + H
> + ", Low = " + L
> + ", Close";
> }
>
>
>
> BlankAll();
> //BlankAll2();
>
>
>
> GraphXSpace = 5;
> Plot(C, OHLCTitle(), colorDefault, styleCandle);
> Plot(V, "Volume", colorBlue, styleHistogram+styleOwnScale, 0,
> LastValue(Highest(V)) * 2);
> //Plot(IIf(IsBlanked(), 1, 0), "", colorLightGrey,
> styleArea+styleOwnScale+styleNoLabel, 0, .5);
>
>
>
> m = MACD(); r = RSI(); s = SAR();
>
>
>
> Plot(m, "MACD", colorBlue, styleOwnScale);
> Plot(r, "RSI", colorRed, styleOwnScale);
> Plot(s, "SAR", colorYellow, styleDots+styleNoLine);
> /*
> Plot(Blank(m), "MACD", colorBlue, styleOwnScale);
> Plot(Blank(r), "RSI", colorRed, styleOwnScale);
> Plot(Blank(s), "SAR", colorYellow, styleDots+styleNoLine);
> */
>
>
>
> ---------------
>
> This removes bars under param() control.
> herman
>
> Z = Null;
> LB =LastValue(BarIndex());
> O = IIf(BarIndex()>(LB-RM),Z,O);
> H = IIf(BarIndex()>(LB-RM),Z,H);
> L = IIf(BarIndex()>(LB-RM),Z,L);
> C = IIf(BarIndex()>(LB-RM),Z,C);
> // Just an example system
>
> StochRsi=EMA((RSI(8)-LLV(RSI(8),8))/(HHV(RSI(8),8)-LLV(RSI
(8),8)),3)*100;
> Buy=Cross(17,StochRsi) AND Ref(MA(C,21),-1) < MA(C,21);;
> Sell=Cross(StochRsi,83);
> Short=Cross(StochRsi,83) AND Ref(MA(C,21),-1) > MA(C,21);
> Cover=Cross(17,StochRsi);
> Plot(C,"Close",2,1);
> PlotShapes(IIf(Buy,shapeUpArrow,IIf
(Short,shapeDownArrow,shapeNone)),
> IIf(Buy,colorBrightGreen,IIf(Short,colorRed,colorBlack)));
>
> -----Original Message-----
> From: Dave Merrill
> Sent: Monday, July 26, 2004 8:26 AM
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: RE: [amibroker] Training mode.
>
> I've asked for something similar myself, maybe with a slider
or
> something to control the number of bars blanked at the end, rather
than only
> stepping through one at a time. Besides training your mind, it's
also useful
> for evaluating the behavior of indicators that "guess" about the
future, or
> for other reasons change shape as more data becomes available.
>
>
>
> The closest I know of that you can do currently is to set
all prices
> after a certain bar to null. Some types of indicators do odd
things right at
> the transition point, so you may need to null them out too. For
that reason,
> you may have to recode this arrangement specifically for every
pane, not
> idea;.
>
>
>
> It also won't remove hand-drawn studies, much less put them
back
> later. You might be able to code up something that sets the color
of studies
> to your background color, maybe?
>
>
>
> It's better than nothing, and AFIK, the best we can do
without it
> being built into AB, but I too hope Tomasz adds a feature like
this.
>
>
>
> Dave Merrill
>
> I would like to set AB's data to a selected date back in
time,
> clear of all existing studies I might have drawn like
trendlines
> ect, but trendlines and other studies are able to be drawn.
> Then every time the space bar is pressed a new days(weeks
or tick)
> worth of data is added.
>
> The reason for this of cause is to test or practice
trading like
> backtesting your idears and instinks in real time.
>
> Is there currently a way to do this?
>
> Downloading each days history is not a solution. To time
consuming.
>
> Any idear?
> Thanks
> Ant.
------------------------ Yahoo! Groups Sponsor --------------------~-->
Make a clean sweep of pop-up ads. Yahoo! Companion Toolbar.
Now with Pop-Up Blocker. Get it for free!
http://us.click.yahoo.com/L5YrjA/eSIIAA/yQLSAA/GHeqlB/TM
--------------------------------------------------------------------~->
Check AmiBroker web page at:
http://www.amibroker.com/
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:
http://docs.yahoo.com/info/terms/
|