Agreed. For the record we should separate backtesting & live trading. >From my own perspective I'm a lot more concerned about making my live trading >as efficient & effective as possible.
--- In [email protected], "vlanschot" <vlansc...@...> wrote: > > Same here. FWIW, my take on this: the crucial difference is in terms of what > expandFirst does in a chart vs a backtest. In general, if you use it in a > backtest, it will "look into the future" and thus make any results useless. > In a chart, for some of us, this is what you actually prefer, because the > focus is on the latest "evolving" period (in whatever terms this is defined > via TF), i.e. you want to use the most recent bar/tick as your last value for > any TF-period, rather than wait for the official full fill of any of the > TF-defined periods. > > At the end of the day, using formal or assumed last values, TF philosophy > basically boils down to efficiently capturing convergence/divergence of > multiple cycles. > > PS > > > --- In [email protected], "sidhartha70" <sidhartha70@> wrote: > > > > I'm not an expert on this, but I have been following this thread with some > > interest (because I day trade using multiple timeframes, and currently > > simply switch all my interval linked charts from one timeframe to another - > > I have a hunch there may be a better way of operating). > > > > Anyway, if what you have written below is correct, if seems in complete > > conflict with what AF wrote on this post in reply to TJ, > > > > http://finance.groups.yahoo.com/group/amibroker/message/141366 > > > > Perhaps the experts (Jorgen & AF - or indeed TJ) could clear this one up...? > > > > --- In [email protected], "gunoicb" <gunoicb@> wrote: > > > > > > Hi guys, > > > > > > I want to be sure that I understood correctly the use of higher > > > timeframes in my backtesting, so here is my question: > > > > > > TimeFrameSet( -1);//I'm using for backtesting tick data > > > //I compute below emas for each time frame > > > TimeFrameSet( in1Minute); > > > EMA5_1m= EMA (C,5); > > > TimeFrameRestore(); > > > TimeFrameSet( in5Minute); > > > EMA5_5m= EMA (C,5); > > > TimeFrameRestore(); > > > TimeFrameSet( 15*60); > > > EMA5_15m= EMA (C,5); > > > TimeFrameRestore(); > > > > > > The following will give me the values for each ema updated for each > > > tick, tick by tick, not waiting for the candle to be completed (1min, 5 > > > min or 15 min)? > > > TimeFrameExpand( Ref(EMA5_1m,0),in1Minute) > > > TimeFrameExpand( Ref(EMA5_5m,0),in5Minute) > > > TimeFrameExpand( Ref(EMA5_15m,0),in15Minute) > > > I mean, if I have 200 ticks during a 15 minute candle, I get 200 values > > > for TimeFrameExpand( Ref(EMA5_15m,0),in15Minute)? > > > > > > while the following will give me the emas values based on complete > > > previous candle (1min candle, 5 min candle and respectively 15 min > > > candle)? > > > TimeFrameExpand( Ref(EMA5_1m,-1),in1Minute) > > > TimeFrameExpand( Ref(EMA5_5m,-1),in5Minute) > > > TimeFrameExpand( Ref(EMA5_15m,-1),in15Minute) > > > > > > I'm using the same principle as Jorgen for backtesting, but I'm not sure > > > that I'm using correctly. I don't want to use the higher emas as > > > staircases, but rather as "irregular" as Jorgen pointed out that image > > > loaded by him. I don't want to wait for 15 min candle to be completed, > > > but rather to take a decision based on its value at each tick. > > > > > > Am I right? Or should I read again > > > http://www.amibroker.com/guide/h_timeframe.html ? :-) > > > > > > Thank you > > > > > > > > > --- In [email protected], "af_1000000" <af_1000000@> wrote: > > > > > > > > I have not tried more complex indicators for one simple reason. If the > > > > higher timeframe compressed data contains all values I need (including > > > > incomplete last bar) I do not have to do anything . Build in indicators > > > > and my scripts will do everything for me. You calculate indicators on > > > > higher timeframe and expand them on a lower timeframe. If data > > > > compression on higher timeframe does not include everything you need > > > > you have to combine somehow data on higher timeframe with data on lower > > > > timeframe and invent new implementation of the indicators or create new > > > > intelligently combined weekly and data array, so build in indicators > > > > can use this array. That's why my preference is to fix data compression > > > > on the higher timeframe first before I start thinking about an exotic > > > > stuff. > > > > So far, I have used multiple charts to avoid unnecessary programming. > > > > I do not understand why you would use "expandFirst". Create two charts > > > > higher and lower timeframe in a layout and play bar by bar. I believe > > > > the code is correct. Of course, I did not test every possible case, > > > > that's why you found few mistakes. The main objective was to prove the > > > > concept and highlight the differences between "traditional" method and > > > > your method. > > > > Sometimes loops are more efficient than array processing especially > > > > when you use lastvalue, nested barssince, nested valuewhen,.. etc. > > > > Every situation is unique, so it is hard to say in advance what is the > > > > best implementation. Always check "Code check $ Profile" and "Display > > > > chart timing". > > > > > > > > Regards, > > > > > > > > AF > > > > > > > > > >
