PureBytes Links
Trading Reference Links
|
Thanks
If the main variable is just based on the basic OHLCV arrays then it
works in the normal for loop for(i=1;i<BarCount;i++)
I found by taking the initialising of the variables to before the
timeframeset then the results were obtained for normal loop
for(i=1;i<BarCount;i++)
If the variable is based on previous values of itself, eg C[i]>x[i-1]
and the initial varioable value is after the timeframeset, then the
for loop must start from the same bar that weekly array starts within
the daily timeframe, eg for(i=BarCount-numweeks;i<BarCount;i++)
On Sun, 10 Oct 2004 20:57:42 -0600, Terry <magicth@xxxxxxxxxxx> wrote:
>
> Graham,
>
> I think the problem with
> if(C[i]>x[i-1])
> Is that the formula finds the highest close in the data and then it just
> STAYS there. (Highest close greater than yesterday's previous higher close -
> see 3/10/2000 using ^RUT as an example.) The x array gets to 603.81 and just
> stays there because we are comparing to the previous stored high and not
> comparing today's close with yesterday's close.
>
> I did move your initialization outside of the TimeFrameCompress statement
> and I compressed x since the docs say only price arrays are compressed.
>
> Here's my variation of your code with some plot statements added so I could
> visualize.
>
> /////////////////////////
> numweeks = LastValue( Cum( DayOfWeek() > Ref(DayOfWeek(),1)));
>
> x = C; //Moved before TimeFrameSet. This causes fixed values to
> //appear instead of Empty values when testing against x[i-1]
>
> TimeFrameCompress(x,inWeekly);
> //Help says TimeFrameSet only affects price arrays
>
> TimeFrameSet(inWeekly);
>
> for(i = 1; i < BarCount; i++)
> {
> if(C[i] > C[i-1]) //Using > x[i-1] gives highest high in data
> x[i] = C[i];
> else
> x[i] = x[i-1];
> }
>
> TimeFrameRestore();
>
> xx = TimeFrameExpand( x, inWeekly );
>
> Plot(xx,"xx",colorBlue,styleOwnScale); //This is expanded to daily
> Plot(C,"Close",colorRed,styleOwnScale);
> Plot(TimeFrameExpand(x,inWeekly),"x
> expanded",colorBlack,styleOwnScale|styleHistogram);
> Plot(x,"x not expanded",colorLightOrange,styleOwnScale|styleArea);
> /*Can't Plot x (a weekly array) on a daily chart. I think it gives
> bogus results. I don't know what it's plotting, but it
> just doesn't seem logical.
> */
>
> GraphXSpace = 10;
>
> Filter=1;
> AddColumn(C,"close",1.3);
> AddColumn(xx,"expanded weekly",1.3);
> AddColumn(x,"weekly",1.3);
>
> /////////////////////////
> --
> Terry
>
> From: kaveman perth <kavemanperth@xxxxxxxxx>
> Reply-To: amibroker@xxxxxxxxxxxxxxx
> Date: Mon, 11 Oct 2004 06:35:19 +0800
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: Re: [amibroker] Using timeframeset with looping code
>
> I have done a bit more experimenting and sometimes it works others not
>
>
>
> this works for 1 to barcount
>
> numweeks = LastValue( Cum( DayOfWeek()>Ref(DayOfWeek(),1) ) );
>
> TimeFrameSet(inWeekly);
> //x[BarCount-numweeks-1]=C[BarCount-numweeks-1];
> x[0]=C[0];
> for(i=1;i<BarCount;i++)
> //for(i=BarCount-numweeks;i<BarCount;i++)
> {
> if(C[i]>C[i-1])
> {
> x[i]=C[i];
> }
> else
> {
> x[i]=x[i-1];
> }
> }
>
> //{x[i]=C[i];}
>
> TimeFrameRestore();
>
> xx = TimeFrameExpand( x, inWeekly );
>
> Filter=1;
> AddColumn(C,"close",1.3);
> AddColumn(x,"x",1.3);
> AddColumn(xx,"xx",1.3);
>
> but replacing this line it needs the start at numweeks
> if(C[i]>x[i-1])
>
> On Sun, 10 Oct 2004 09:18:48 -0600, Terry <magicth@xxxxxxxxxxx> wrote:
> >
> > Graham,
> >
> > I do this same task and it works OK for me.
> >
> > First I do TimeFrameSet(inWeekly) and do some trend calculations.
> > Then I save weekly values into arrays.
> > Then I do TimeFrameExpand( x, inWeekly, expandPoint) which serves my purpose
> > and gives Empty values for all days except Friday.
> > Then I loop through those values to determine my weekly trend.
> > I really donıt see why youıre gettng empty values since the default
> > expansion is expandLast which puts Fridayıs close into every day of the
> > week.
> >
> > Hereıs that section of code:
> >
> > /* Find Weekly Trend */
> >
> > wc = TimeFrameCompress(C,inWeekly); //Get weekly values
> >
> > //Initialize trend 1 = Long, 0 = No change, -1 = Short
> > trend = IIf(wc> Ref(wc,-1) AND wc> Ref(wc,-2),1,IIf(wc< Ref(wc,-1) AND wc <
> > Ref(wc,-2),-1,0));
> > wc = TimeFrameExpand(wc,inWeekly);
> > trend = TimeFrameExpand(trend,inWeekly,expandPoint); //Just the last day of
> > the week
> > wtrend = trend; //Just for visual confirmation
> > //Now, if the current week is not over, neutralize the trend status
> > //This is necessary as Amibroker thinks the current day is the close of the
> > week.
> > if (NOT EOW[BarCount-1] AND NOT expiry[BarCount-1]) trend[BarCount-1] = 0;
> >
> > /* Make daily trend signals and Confirm all trend changes */
> >
> > Confirm = False;
> > for( i = 3; i < BarCount; i++ )
> > { //if no profit by 2nd day, reverse trend
> > if (Confirm[i-2] AND (NDXc[i] - wc[i])*trend[i-1] < 0)
> > {
> > trend[i] = trend[i-1]*-1;
> > Confirm[i] = False;
> > }
> > else
> > { //if no trend change, continue prior trend. If needed Confirm -3 days
> > insures we continue whatever was decided above at -2
> > if (Confirm[i-3] OR trend[i] == 0 OR IsNull(trend[i]))
> > {
> > trend[i] = trend[i-1]; //Continue the trend
> > Confirm[i] = False; //Turn confirm signal off
> > }
> > else
> > { //if Trend changed (values of -1 + 1 or 1 + -1) trend value is
> > OK as is (from weekly)
> > if (trend[i] + trend[i-1] == 0)
> > Confirm[i] = True; //Flag the change
> > }
> > }
> > }
> >
> > --
> > Terry
> >
> > From: kaveman perth <kavemanperth@xxxxxxxxx>
> > Reply-To: amibroker@xxxxxxxxxxxxxxx
> > Date: Sun, 10 Oct 2004 18:41:51 +0800
> > To: amibroker@xxxxxxxxxxxxxxx
> > Subject: [amibroker] Using timeframeset with looping code
> >
> > I cannot seem to get the timeframeset to work with any code that contains
> > loops.
> > I want to explore on weekly values for setups, then trade on daily
> > values breaking the weekly setups. This is especially important as I
> > am trying to backtest for this code. Rather than post a long code that
> > would take time to work through I have put together a simple formula
> > that will return the highest close, just purely as an example. I can
> > get values if I set the AA settings to weekly, but if put to daily I
> > get empty cells in the exploration.
> > Can someone help me on how to get this to work
> >
> > TimeFrameSet(inWeekly);
> > x[0]=C[0];
> > for(i=1;i<BarCount;i++)
> > { if(C[i]>x[i-1])
> > { x[i]=C[i];
> > }
> > else
> > { x[i]=x[i-1];
> > } }
> > TimeFrameRestore();
> >
> > xx = TimeFrameExpand( x, inWeekly );
> >
> > Filter=1;
> > AddColumn(C,"close",1.3);
> > AddColumn(x,"x",1.3);
> > AddColumn(xx,"xx",1.3);
> >
> > --
> > Cheers
> > Graham
> > http://e-wire.net.au/~eb_kavan/
> >
> > 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
> > <http://us.ard.yahoo.com/SIG=12997ege5/M=295196.4901138.6071305.3001176/D=g
> > roups/S=1705632198:HM/EXP=1097491313/A=2128215/R=0/SIG=10se96mf6/*http://com
> > panion.yahoo.com>
> >
> >
> > 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
> > <mailto:amibroker-unsubscribe@xxxxxxxxxxxxxxx?subject=Unsubscribe>
> > *
> > * Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service
> > <http://docs.yahoo.com/info/terms/> .
> >
> >
> >
> >
> > [Non-text portions of this message have been removed]
> >
> >
> > 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
> >
> >
> >
> >
> >
>
>
> --
> Cheers
> Graham
> http://e-wire.net.au/~eb_kavan/
>
> 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
> <http://us.ard.yahoo.com/SIG=129s20ho9/M=295196.4901138.6071305.3001176/D=g
> roups/S=1705632198:HM/EXP=1097534123/A=2128215/R=0/SIG=10se96mf6/*http://com
>
>
> panion.yahoo.com>
>
> 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
> <mailto:amibroker-unsubscribe@xxxxxxxxxxxxxxx?subject=Unsubscribe>
> *
> * Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service
> <http://docs.yahoo.com/info/terms/> .
>
>
> 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
>
>
>
>
>
--
Cheers
Graham
http://e-wire.net.au/~eb_kavan/
------------------------ Yahoo! Groups Sponsor --------------------~-->
$9.95 domain names from Yahoo!. Register anything.
http://us.click.yahoo.com/J8kdrA/y20IAA/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/
|