PureBytes Links
Trading Reference Links
|
Hi ,
You can actually code in Easylanguage this. But
this is little bit restrictive. I an using similar
concept for backtesting (not in indicator ) where on 4
min chart I want to refer to the details of last 1
hourly bar.
Regards,
Sudhir
--- Bob Fulks <bfulks@xxxxxxxxxxxx> wrote:
> At 04:45 PM 10/5/2004, Abhijit Dey wrote:
>
> >I was actually wondering if there's a generic way
> to modify indicators (ema,
> >cci, you name it) to apply higher time frames on
> smaller time frames like a
> >1 minute chart. And I doubt there's a easy way to
> do so. Sure, I can code my
> >own version of ema and get what I want, but it's
> not easily portable to any
> >other indicator. I have to code all of them one by
> one. Fortunately, I am
> >not using many indicators.
>
> At 05:43 PM 10/5/2004, Gary Fritz wrote:
>
> >It would be nice if there was a simple way to use
> existing
> >indicator code in this new way, e.g. the way you
> can use existing
> >indicators to refer to other data streams by saying
> "adx(20) of
> >data2" or whatever. But you can't. If you need
> it, you have to
> >rewrite it.
>
> There actually is a generic way but it only works if
> the functions you call
> are "simple" (not "series") functions. Simple
> functions are executed only
> when called while series functions are executed on
> every bar of data1
> whether or not they are called on each bar. Here is
> the idea (untested but
> probably close to OK):
>
> Var: Dec(5), dBar(FALSE), BarCount(0), dOpen(0),
> dHigh(0), dLow(0), dClose(0), Value(0);
>
> dBar = FALSE;
>
> { count bars in the day }
> if Date <> Date[1]
> then BarCount = 1
> else BarCount = BarCount + 1;
>
> { find OHLC of decimated bar }
> if dBar[1] then begin
> dOpen = Open;
> dHigh = High;
> dLow = Low;
> end else begin
> if High > dHigh then dHigh = High;
> if Low < dLow then dLow = Low;
> end;
> dClose = Close;
>
> { evaluate the simple function on each decimated bar
> }
> if Mod(BarCount, Dec) = 0 then begin
> dBar = TRUE;
> Value = <simplefunction>(dOpen, dHigh, dLow,
> dClose);
> end;
>
> On 1-minute bars, the simple function would execute
> on each fifth bar,
> corresponding to 5-minute bars.
>
> It is usually possible to rewrite functions as
> simple functions but it tends
> to be convoluted since you cannot refer to a past
> value of a variable as in
> "Value1[5]".
>
> You can usually do it using arrays to store the past
> values if you need
> them. If you need only one or two past values you
> can save them as extra
> variables as in:
>
> L2Value = L1Value;
> L1Value = Value;
> Value = ....;
> Change = Value - L1Value;
>
> Hope this helps...
>
> Bob Fulks
>
>
>
>
>
|