[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: How to get non array variables?



PureBytes Links

Trading Reference Links




<SPAN 
class=129330813-26072004>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:
<SPAN 
class=129330813-26072004> 
<SPAN 
class=129330813-26072004><SPAN 
class=476020112-27062004><FONT 
size=2>----------<SPAN 
class=476020112-27062004>-----
<SPAN 
class=129330813-26072004> 

<SPAN 
class=476020112-27062004>Thanks for your reply Graham, but as I mentioned, I've 
tried that, and it has problems.
<SPAN 
class=476020112-27062004> 
<SPAN 
class=476020112-27062004>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.<SPAN 
class=476020112-27062004> 
<SPAN 
class=476020112-27062004> 
<FONT face="Courier New" color=#0000ff 
size=2>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. 
 
<SPAN 
class=476020112-27062004>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.
<SPAN 
class=476020112-27062004> 
<SPAN 
class=476020112-27062004>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?
<SPAN 
class=476020112-27062004> 
<SPAN 
class=476020112-27062004>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.
<SPAN 
class=476020112-27062004> 
<SPAN 
class=476020112-27062004>Clearer?
<SPAN 
class=476020112-27062004> 
<FONT 
color=#0000ff>Dave 
Merrill
<SPAN 
class=476020112-27062004> 
<FONT 
face="Courier New">-----<SPAN 
class=476020112-27062004>-----<SPAN 
class=476020112-27062004>-----
<SPAN 
class=476020112-27062004>global gBI, gBarsBlanked;
 
<SPAN 
class=476020112-27062004>gBarsBlanked = Param( "bars", 0, 100, 0, -1);gBI = 
BarIndex();
 
<SPAN 
class=476020112-27062004>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";}
 
<SPAN 
class=476020112-27062004>BlankAll();//BlankAll2();
 
<SPAN 
class=476020112-27062004>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);
 
<SPAN 
class=476020112-27062004>m = MACD(); r = RSI(); s = SAR();
 
<SPAN 
class=476020112-27062004>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);*/
<SPAN 
class=476020112-27062004> 
<FONT 
color=#0000ff>----------<SPAN 
class=476020112-27062004>-----
<BLOCKQUOTE dir=ltr 
>
  
  This 
  removes bars under param() control.<SPAN 
  class=421373612-26072004><FONT face=Arial color=#0000ff 
  size=2>herman
  Z = <FONT 
  face="Lucida Console">Null;LB =<FONT 
  color=#0000ff>LastValue(<FONT 
  color=#0000ff>BarIndex());O<FONT 
  size=2> = IIf(<FONT 
  color=#0000ff>BarIndex()>(LB-RM),Z,O);<FONT 
  size=2>H = IIf(<FONT 
  color=#0000ff>BarIndex()>(LB-RM),Z,H);<FONT 
  size=2>L = IIf(<FONT 
  color=#0000ff>BarIndex()>(LB-RM),Z,L);<FONT 
  size=2>C = IIf(<FONT 
  color=#0000ff>BarIndex()>(LB-RM),Z,C);<FONT 
  face="Lucida Console" color=#008000 size=2>// Just an example 
  systemStochRsi=EMA((<FONT 
  color=#0000ff>RSI(8)-<FONT 
  color=#0000ff>LLV(RSI(<FONT 
  color=#ff00ff>8),8))/(<FONT 
  color=#0000ff>HHV(RSI(<FONT 
  color=#ff00ff>8),8)-<FONT 
  color=#0000ff>LLV(RSI(<FONT 
  color=#ff00ff>8),8)),<FONT 
  color=#ff00ff>3)*100;<FONT 
  size=2>Buy=Cross(<FONT 
  color=#ff00ff>17,StochRsi) AND <FONT 
  color=#0000ff>Ref(MA(C,<FONT 
  color=#ff00ff>21),-1) < <FONT 
  color=#0000ff>MA(C,<FONT 
  color=#ff00ff>21);;Sell<FONT 
  size=2>=Cross(StochRsi,<FONT 
  color=#ff00ff>83);Short<FONT 
  size=2>=Cross(StochRsi,<FONT 
  color=#ff00ff>83) AND Ref(<FONT 
  color=#0000ff>MA(C,21),-<FONT 
  color=#ff00ff>1) > MA(C,<FONT 
  color=#ff00ff>21);Cover<FONT 
  size=2>=Cross(<FONT 
  color=#ff00ff>17,StochRsi);<FONT 
  size=2>Plot(C,<FONT 
  color=#ff00ff>"Close",2,<FONT 
  color=#ff00ff>1);<FONT 
  size=2>PlotShapes(<FONT 
  color=#0000ff>IIf(Buy,shapeUpArrow,<FONT 
  color=#0000ff>IIf(Short,shapeDownArrow,shapeNone)),<FONT 
  color=#0000ff>IIf<FONT 
  size=2>(Buy,colorBrightGreen,<FONT 
  color=#0000ff>IIf(Short,colorRed,colorBlack)));
  -----Original Message-----From: Dave 
  MerrillSent: Monday, July 26, 2004 8:26 AMTo: 
  amibroker@xxxxxxxxxxxxxxxSubject: RE: [amibroker] Training 
  mode.
  
    <SPAN 
    class=606461512-26072004>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.
    <SPAN 
    class=606461512-26072004> 
    <SPAN 
    class=606461512-26072004>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;. 
    <SPAN 
    class=606461512-26072004> 
    <SPAN 
    class=606461512-26072004>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?
    <SPAN 
    class=606461512-26072004> 
    <SPAN 
    class=606461512-26072004>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.
    <SPAN 
    class=606461512-26072004> 
    <SPAN 
    class=606461512-26072004>Dave Merrill
    <BLOCKQUOTE 
    >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.


Check AmiBroker web page at:
http://www.amibroker.com/

Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html








Yahoo! Groups Sponsor


  ADVERTISEMENT 












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.