PureBytes Links
Trading Reference Links
|
Louis,
The three bands that come with AB are all good examples to start with.
Bollinger is a 2 * StDev band and Keltner is an ATR band.
To use a band as a stop, for example, you can use the high crossing
above the profit stop (or the close) - you can either reference
yesterdays upperband or project yesterdays upperband forward to
today - a simple approximation of forward projection is to assume
that the upperband will continue its rate of growth and project
forward one day using that.
As I mentioned, I found Bollinger Bands a bit choppy, for use as
stops, so I MA(periods) smoothed StDev(Periods) and then used that as
an upper or lower band (similar to the % bands method used by Tomasz
in his AB code).
brian_z
--- In amibroker@xxxxxxxxxxxxxxx, "brian_z111" <brian_z111@xxx> wrote:
>
> Louis,
>
> Have you seen Tomasz's code for % bands (charts >> bands >> percent
> bands
>
> P = ParamField("Price field",-1);
> Periods = Param("Periods", 15, 2, 100, 1 );
> Width = Param("Width%", 2, 0, 10, 0.05 );
> Color = ParamColor("Color", colorCycle );
> Style = ParamStyle("Style");
> CenterLine = MA( P, Periods );
> Plot( (1 + Width * 0.01) * CenterLine, "%EnvTop" + _PARAM_VALUES(),
> Color, Style );
> Plot( (1 - Width * 0.01) * CenterLine, "%EnvBot" + _PARAM_VALUES(),
> Color, Style );
>
> I think it is a fine example of bands - the same thing can be done
> with StDev% - add or subtract it from a MA to form the bands.
>
> I have used MA +_ smoothed StDev% as stops (profit and loss).
>
> One of the hard choices is what type of smoothing/periods to use
for
> the bands OR should we use them in short time frames (less lag but
> the stops jump around more)? - always hard decisions to make.
>
> > StDevPercent = StDev(C,Periods)/Ref (C,-1) * 100;
>
> Since StDev is constructed using variance from a arithmetic average
I
> feel StDevPercent = StDev(C,Periods)/MA (C,Periods) * 100; is
> technically more correct but, IMO, it doesn't matter as long as
> consistency is maintained and, more importantly,it works.
>
> See how you get on along those lines.
>
> brian_z
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, "Louis Préfontaine"
> <rockprog80@> wrote:
> >
> > Hi Brian,
> >
> > I kind of missed your reply, and got on other projects.. But I'm
> back at the
> > Stdev problem, and here is the formula I got for Stdev:
> >
> > _SECTION_BEGIN("Stdev");
> > SetChartOptions (0,0,Chartgrid0);
> > P = ParamField("Price field",-1);
> > Periods = Param("Periods", 15, 2, 200, 1 );
> > StDevPercent = StDev(C,Periods)/Ref (C,-1) * 100;
> > Plot( StDevpercent, _DEFAULT_NAME(), ParamColor( "Color",
> colorCycle ),
> > ParamStyle("Style") );
> > _SECTION_END();
> >
> > I re-read your previous posts, and I think you may be able to
help
> me with
> > what I am trying to do.
> >
> > I would like to be able to set a different profit stop (33%) and
> stop-loss
> > (100%) depending on the results. I don't know where to start to
do
> this. I
> > am confident in writing simple rules like "buy = ... AND ...
> or ...
> > ,etc." but I think I may need to do something more complex to do
> what I
> > need to do with this.
> >
> > Do you have any idea?
> >
> > Thanks,
> >
> > Louis
> >
> > 2008/2/26, brian_z111 <brian_z111@>:
> > >
> > > Louis,
> > >
> > > > Thanks for the suggestion. I must do something wrong however
> > > >because from
> > > > the code I wrote
> > > > I get only results of ATR > 3-4. Only Indu.x is under 2; all
the
> > > >other one
> > > > are over 3-4, and sometimes 6-7 and more.
> > >
> > > I tried your code and didn't see any problems.
> > > For the Dow constituents most are around 1.25 - 2% for ATR(15)
in
> the
> > > period I looked at.
> > >
> > > Are you sure you didn't have Weekly selected instead of Daily?
> > >
> > > brian_z
> > >
> > > --- In amibroker@xxxxxxxxxxxxxxx <amibroker%
> 40yahoogroups.com>, "LouisPréfontaine"
> > > <rockprog80@> wrote:
> > > >
> > > > Hi,
> > > >
> > > > Thanks for the suggestion. I must do something wrong however
> > > because from
> > > > the code I wrote
> > > >
> > > > _SECTION_BEGIN("ATR");
> > > > periods = Param( "Periods", 15, 1, 200, 1 );
> > > > Plot( ATR(periods)/Ref(C,-1)*100
> > > > , _DEFAULT_NAME(), ParamColor( "Color", colorCycle ),
ParamStyle
> > > ("Style") );
> > > >
> > > > LongPer = Param("Long Period", 50, 10, 100, 5 ); /* select
> periods
> > > with
> > > > parameter window */
> > > >
> > > > MidPer = Param("Mid Period", 20, 0, 50, 1);
> > > > ShortPer = Param("Short Period", 10, 3, 10, 1 );
> > > >
> > > > LongEMA = EMA( ATR(periods)/Ref(C,-1)*100, LongPer );
> > > > MidEMA = EMA (ATR(periods)/Ref(C,-1)*100, MidPer);
> > > > ShortEMA = EMA( ATR(periods)/Ref(C,-1)*100, ShortPer );
> > > >
> > > > _SECTION_END();
> > > >
> > > > _SECTION_BEGIN("ema-ATR");
> > > > Plot( LongEMA, "EMA(ATR(periods)/Ref(C,-1)*100, "+WriteVal
> > > (LongPer,1)+")",
> > > > colorBlue,
> > > > styleLine|styleNoRescale );
> > > > Plot( MidEMA, " EMA(ATR(periods)/Ref(C,-1)*100, "+WriteVal
> (MidPer,1)
> > > +")",
> > > > colorBrown,
> > > > styleLine|styleNoRescale );
> > > > Plot( ShortEMA, " EMA(ATR(periods)/Ref(C,-1)*100,
> > > > "+WriteVal(ShortPer,1)+")", colorGreen,
> > > > styleLine|styleNoRescale );
> > > >
> > > >
> > > > _SECTION_END();
> > > >
> > > > I get only results of ATR > 3-4. Only Indu.x is under 2; all
the
> > > other one
> > > > are over 3-4, and sometimes 6-7 and more.
> > > >
> > > > However, are you sure about the idea of entering/exiting a
stock
> > > when
> > > > volatility gets too high? Wouldn't it be better simply to
scan
> and
> > > avoid
> > > > high volatily stocks to reduce the drawdown possibility?
> > > >
> > > > Thanks,
> > > >
> > > > Louis
> > > >
> > > > 2008/2/24, brian_z111 <brian_z111@>:
> > > > >
> > > > > If you want a relative measure of range then you could use
> > > ATR%, as
> > > > > suggested by Graham.
> > > > >
> > > > > High volatility stocks would be filtered by e.g. ATR% > 2
etc.
> > > > >
> > > > > In that case your stops would be something like:
> > > > >
> > > > > ProfitStop = Ref(C,-1) * (1 + ATR%/100);
> > > > > StopLoss = Ref(C,-1) * (1 - ATR%/100);
> > > > >
> > > > > If you want to standardise range then you could use:
> > > > >
> > > > > StandardATR = StDev(ATR(1),Periods);
> > > > >
> > > > > An example of a stop would then be:
> > > > >
> > > > > ProfitStop = Ref(C,-1) + StDev(ATR(1),20);
> > > > >
> > > > > Or maybe (for live work):
> > > > >
> > > > > ProfitStop = Ref(C,-1) + Ref(StDev(ATR(1),20),-1);
> > > > >
> > > > > Or something like that.
> > > > >
> > > > > That is only one way of doing it.
> > > > >
> > > > > You can try whatever you like, within the boundaries of your
> > > > > knowledge (plus a little bit more).
> > > > >
> > > > > brian_z *;-)
> > > > >
> > > > >
> > > > > --- In amibroker@xxxxxxxxxxxxxxx <amibroker%
> 40yahoogroups.com><amibroker%40yahoogroups.com>,
> > > > > "brian_z111" <brian_z111@> wrote:
> > > > > >
> > > > > > Louis,
> > > > > >
> > > > > > > only thing I need to know is simply to set the STdev at
2
> or 3
> > > > > (if
> > > > > > it's what
> > > > > > > I want to do) and then automatically ATR will be use
that
> new
> > > > > StDev?
> > > > > > >
> > > > > >
> > > > > > No.
> > > > > >
> > > > > > ATR and StDev are both measures of volatility but they
> measure
> > > it
> > > > > in
> > > > > > different ways. Generally you would use one or the other.
> > > > > >
> > > > > > StDev has special uses.
> > > > > >
> > > > > > If you want to use them it would pay off to study them
> closely
> > > > > first.
> > > > > >
> > > > > >
> > > > > > > I like your idea to make two groups; one with high
> volatility
> > > and
> > > > > > one with
> > > > > > > low volatility. Would you consider it would be possible
to
> > > > > adjust
> > > > > > the
> > > > > > > stop-loss differently for each group?
> > > > > >
> > > > > > You could try it e.g. the stop loss can be the close -
StDev
> > > (C,20).
> > > > > > You can vary the stop loss for one group by using a
> multiplier
> > > so
> > > > > the
> > > > > > stop loss could be close - StDev(C,20) * 1.5 for one
group
> and
> > > > > close -
> > > > > > StDev(C,20) for the other.
> > > > > >
> > > > > >
> > > > > >
> > > > > > > And how do you filter the top
> > > > > > > performers?
> > > > > >
> > > > > > It depends on what you have chosen as your favourite
metric
> for
> > > > > > evaluating systems. As I said in an earlier post I like
> Power
> > > > > Factor
> > > > > > (I will be explaining this at the UKB soon) but you would
be
> > > better
> > > > > > served choosing your own.
> > > > > >
> > > > > > If you are not sure on evaluation, and use of the
metrics,
> then
> > > > > > Howard Bandy's book is a good place to start.
> > > > > >
> > > > > > Sorry, I can't help you any further with this.
> > > > > > I have a couple of posts for the UKB I want to get
finished.
> > > > > >
> > > > > > BTW did you see the answer I gave you yesterday
on "Trying
> to
> > > > > compare
> > > > > > market and industry" ?. see message # 120270
> > > > > >
> > > > > > I hopoe that helps you a little and good luck with your
> trading.
> > > > > >
> > > > > > brian_z
> > > > > >
> > > > > >
> > > > > > --- In amibroker@xxxxxxxxxxxxxxx <amibroker%
> 40yahoogroups.com><amibroker%
> > > 40yahoogroups.com>, "Louis
> > > > > Préfontaine"
> > > > > > <rockprog80@> wrote:
> > > > > > >
> > > > > > > Hi Brian,
> > > > > > >
> > > > > > > Thanks for those explanation. I will experiment with
this
> > > > > tonight
> > > > > > and
> > > > > > > tomorrow. However, I am not sure about something: are
you
> > > saying
> > > > > > that the
> > > > > > > only thing I need to know is simply to set the STdev at
2
> or 3
> > > > > (if
> > > > > > it's what
> > > > > > > I want to do) and then automatically ATR will be use
that
> new
> > > > > StDev?
> > > > > > >
> > > > > > > I like your idea to make two groups; one with high
> volatility
> > > and
> > > > > > one with
> > > > > > > low volatility. Would you consider it would be possible
to
> > > > > adjust
> > > > > > the
> > > > > > > stop-loss differently for each group? And how do you
> filter
> > > the
> > > > > top
> > > > > > > performers?
> > > > > > >
> > > > > > > As always, thanks for your help!
> > > > > > >
> > > > > > > Louis
> > > > > > >
> > > > > > > 2008/2/24, brian_z111 <brian_z111@>:
> > > > > > > >
> > > > > > > > Sorry Louis, a mistake there.
> > > > > > > >
> > > > > > > > I am getting my standard deviations mixed up between
> > > programs.
> > > > > > > >
> > > > > > > > In AB StDev is 1 by default and is in $values.
> > > > > > > > To use AB's StDev at 2,3 deviations etc just multiply
> StDev
> > > > > (C,10)
> > > > > > * 2
> > > > > > > > etc
> > > > > > > > To use it as StDev%
> > > > > > > > StDevPercent = StDev(C,Periods)/MA(C,Periods) * 100;
> > > > > > > >
> > > > > > > > For STANDARD measures of deviation use StDev.
> > > > > > > > For relative measures of deviation use ATR as % or
> StDev as
> > > %
> > > > > > > >
> > > > > > > > One example:
> > > > > > > >
> > > > > > > > Say you want to compare the performance of a fast
horse
> and
> > > a
> > > > > slow
> > > > > > > > horse. If they both travel 1 StDev in the same time
> (number
> > > of
> > > > > > > > periods) their performance is equal but the VALUE
> (QUALITY)
> > > of
> > > > > the
> > > > > > > > fast horses performance is higher - it's a grade one
> horse
> > > > > > compared
> > > > > > > > to the other horse, which is a grade 2 (using speed
as
> the
> > > > > > criteria).
> > > > > > > >
> > > > > > > > In practice - profit/loss stops might be set at +- 1
> > > standard
> > > > > > > > devation and then filtered for the top performers.
The
> top
> > > > > > performers
> > > > > > > > could then be segregated into two watchlists - those
> with 1
> > > > > stdev
> > > > > > >
> > > > > > > > 2% (high volatility stocks) and those with stdev <=2%
> (low
> > > > > > volatility
> > > > > > > > stocks) - this would allow a comparison of the
> performance
> > > of
> > > > > that
> > > > > > > > trading signal/stop loss combination on high and low
> > > volatility
> > > > > > > > stocks.
> > > > > > > >
> > > > > > > > brian_z
> > > > > > > >
> > > > > > > >
> > > > > > > > --- In amibroker@xxxxxxxxxxxxxxx <amibroker%
> 40yahoogroups.com><amibroker%
> > > 40yahoogroups.com><amibroker%40yahoogroups.com>,
> > > > > > > > "brian_z111" <brian_z111@> wrote:
> > > > > > > > >
> > > > > > > > > Louis,
> > > > > > > > >
> > > > > > > > > >Does anyone know if it is possible to get an
absolute
> > > value
> > > > > > ATR?
> > > > > > > > >
> > > > > > > > > The Abs() function serves that purpose but I think
you
> > > mean
> > > > > > > > something
> > > > > > > > > else.
> > > > > > > > >
> > > > > > > > > ATR is a measure of volatility and it is specific
for
> each
> > > > > > stock (or
> > > > > > > > > instrument). The whole idea of it (AFAIK) is to use
> it on
> > > an
> > > > > > > > > individual
> > > > > > > > > stock basis.
> > > > > > > > >
> > > > > > > > > It can be useful to compare volatility:
> > > > > > > > >
> > > > > > > > > 1) internally e.g. against an average of the last
(x)
> > > days OR
> > > > > > > > against
> > > > > > > > > the StDev (standard deviation) of the volatility
> measure
> > > OR
> > > > > > just use
> > > > > > > > > StDev of the Close etc on its own.
> > > > > > > > >
> > > > > > > > > StDev() function does allow to change the setting
> between
> > > 1
> > > > > or
> > > > > > 2 etc
> > > > > > > > >
> > > > > > > > > 2) externally to the volatility of the market OR a
> sector
> > > > > that
> > > > > > the
> > > > > > > > > stock is a member of OR compared to another stock
in
> the
> > > same
> > > > > > sector
> > > > > > > > > etc.
> > > > > > > > >
> > > > > > > > > brian_z
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > --- In amibroker@xxxxxxxxxxxxxxx <amibroker%
> 40yahoogroups.com><amibroker%
> > > 40yahoogroups.com><amibroker%
> > > > > 40yahoogroups.com>,
> > > > > > Graham
> > > > > > > > <kavemanperth@> wrote:
> > > > > > > > > >
> > > > > > > > > > you could try a percentage type
> > > > > > > > > >
> > > > > > > > > > ATR(10)/ref(c,-1)*100
> > > > > > > > > >
> > > > > > > > > > --
> > > > > > > > > > Cheers
> > > > > > > > > > Graham Kav
> > > > > > > > > > AFL Writing Service
> > > > > > > > > > http://www.aflwriting.com
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > On 24/02/2008, louisprefontaine <rockprog80@>
wrote:
> > > > > > > > > > > Does anyone know if it is possible to get an
> absolute
> > > > > value
> > > > > > > > ATR?
> > > > > > > > > I
> > > > > > > > > > > already use the ATR, but it changes from stock
to
> > > stock,
> > > > > > > > > depending on
> > > > > > > > > > > the value of the stock. Would it be possible to
> get an
> > > > > > > > absolute
> > > > > > > > > value
> > > > > > > > > > > indicator, like CMF, RSI, etc.? Thanks!
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Please note that this group is for discussion
> between
> > > > > users
> > > > > > > > only.
> > > > > > > > > > >
> > > > > > > > > > > To get support from AmiBroker please send an e-
> mail
> > > > > > directly to
> > > > > > > > > > > SUPPORT {at} amibroker.com
> > > > > > > > > > >
> > > > > > > > > > > For NEW RELEASE ANNOUNCEMENTS and other news
> always
> > > check
> > > > > > > > DEVLOG:
> > > > > > > > > > > http://www.amibroker.com/devlog/
> > > > > > > > > > >
> > > > > > > > > > > For other support material please check also:
> > > > > > > > > > > http://www.amibroker.com/support.html
> > > > > > > > > > >
> > > > > > > > > > > Yahoo! Groups Links
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > >
> > >
> > >
> >
>
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
For other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/amibroker/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:amibroker-digest@xxxxxxxxxxxxxxx
mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx
<*> 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/
|