Re-coded the system (-bench) with global custom scale arrays (scale, scaleprice, scalepos) and in the custom backtester I am not able to access the content those arrays. Traced on both sides to check. Saw some code in a previous post but couldn't find it. Would be grateful if someone could provide some insight. Thanks in advance. Fernando Martin
--- In [email protected], "martinfernando66" <[EMAIL PROTECTED]> wrote: > > Tomasz, > thanks for your guidance. Fun programming custom backtester, signal > decoding not straightforward but it works. Have some additional > questions please: > 1-Noticed that in AA window, date column is empty while information > column is ok. On report->trades, trade bar information is ok. What am > I missing to get bar date-time in AA window? > > 2-Trying multiple scaleout, common practice among futures and FX > traders, since AB allows only one scale signal per bar, when the > system scales out 2 or 3 times per bar, it is ok on the chart but > signals beyond first scaleout are not getting to the backtester. > 2a-Are there plans to enhance AB with scale1[bar],...,scale4[bar] > arrays beyond the actual buy[bar],sell[bar],short[bar],cover[bar] with > all its backtest implications? > 2b-To move forward now and backtest multiple scaleout regardless of on > what bar it happen, one approach is to implement those arrays and code > custom GetFirstMSignal(bar), GetNextMSignal(bar), ... to place > synthetic bo.EnterTrade(), multiple bo.ScaleTrade() and bo.ExitTrade() > within the initialized backtester low level frame. > Would more than welcome any comment, guidance or suggestion you may > have on this topic. > > Thanks again and best regards, > Fernando Martin > > > --- In [email protected], "Tomasz Janeczko" <groups@> wrote: > > > > PreProcess has nothing to do with that. > > > > I wrote you before: > > > > >> > > > >> > You can do that but only using custom backtester interface. > > >> > Regular backtester allows one scaleout or exit on single bar, not > > > both. > > >> > > > >> > This sample shows how to perform scaling using custom backtester > > >> > http://www.amibroker.com/kb/2006/03/06/re-balancing-open-positions > > >> > This is more general doc: > > > > This means that if you want to scaleout and exit on the same bar > > you need to use > > ScaleTrade > > and > > Enter/ExitTrade > > on your own in custom backtester. This is is know as low-level > custom backtester. > > In this case you don't use signals from first phase at all. See this: > > > http://www.amibroker.org/userkb/2008/03/16/amibroker-custom-backtester-interface-2 > > > > Best regards, > > Tomasz Janeczko > > amibroker.com > > ----- Original Message ----- > > From: "martinfernando66" <clogs@> > > To: <[email protected]> > > Sent: Thursday, March 20, 2008 3:39 PM > > Subject: [amibroker] Re: Backtester: same bar scaleout and sell > signals traced (2) > > > > > > > For the traces tried all SetBacktestMode parameters, including the new > > > ones 2. > > > Also traced the signals delivered by the system, which are ok. > > > Those signals get transformed by bo.PreProcess() if on the same bar, > > > altering > > > backtest postprocess while leaving positions open. > > > Since scaleout is removed, to software trap the signals on a custom > > > backtester a workaround is required. > > > By chance, is there an undocumented 'transparent' backtester mode so > > > that PreProcess leaves signals > > > untouched for the custom backtester? > > > Thanks again. > > > > > > --- In [email protected], "martinfernando66" <clogs@> wrote: > > >> > > >> Tomasz: > > >> many thanks for your kind reply. Have just traced on DebugView with a > > >> simple signal viewer custom backtester several bars to see how and > > >> what signals appear. No processing at all done in the custom > > >> backtester code below. > > >> The trace shows signals on 30 min bars in accordance with the chart. > > >> Switching to 1 hour bars, the chart shows signals but no signals are > > >> appearing on the backtester trace in some cases, as attached > below. In > > >> some others, scaleout signals (6) get changed to buy signals (1) > or to > > >> short signals (3) depending on the trade side. Positions remain open > > >> although posSize is 0 (-1000000). > > >> Am I missing something important? bo.PreProcess() appears to change > > >> and remove signals. How do you suggest I shall move forward in custom > > >> backtesting scaleout and sell signals on the same bar? > > >> > > >> Thank you for your advice since at this point I'm a bit lost. > > >> Best regards, > > >> Fernando Martin > > >> > > >> 30 min trace: > > >> [2124] bar=144 080318,125900 > > >> [2124] bar=145 080318,132900 > > >> [2124] bar=146 080318,135900 > > >> [2124] bar=147 080318,142900 > > >> [2124] bar=148 080318,145900 > > >> [2124] bar=149 080318,152900 > > >> [2124] bar=150 080318,155900 > > >> [2124] bar=151 080318,162900 > > >> [2124] Type=1, Price=1311.750, posSize=-2002 > > >> [2124] bar=152 080318,165900 > > >> [2124] Type=6, Price=1312.500, posSize=-2001 > > >> [2124] bar=153 080318,172900 > > >> [2124] bar=154 080318,175900 > > >> [2124] bar=155 080318,182900 > > >> [2124] bar=156 080318,185900 > > >> [2124] bar=157 080318,192900 > > >> [2124] Type=2, Price=1317.750, posSize=-10000000000 > > >> [2124] bar=158 080318,195900 > > >> [2124] bar=159 080318,202900 > > >> [2124] bar=160 080318,205900 > > >> [2124] bar=161 080318,212000 > > >> [2124] Type=1, Price=1334.250, posSize=-2002 > > >> [2124] bar=162 080318,215900 > > >> [2124] bar=163 080318,222900 > > >> [2124] Type=2, Price=1333.250, posSize=-10000000000 > > >> [2124] bar=164 080318,232900 > > >> [2124] bar=165 080318,235900 > > >> [2124] bar=166 080319,002900 > > >> [2124] bar=167 080319,005900 > > >> > > >> 60 min. trace: > > >> [2124] bar=220 080318,125900 > > >> [2124] bar=221 080318,135900 > > >> [2124] bar=222 080318,145900 > > >> [2124] bar=223 080318,155900 > > >> [2124] bar=224 080318,165900 > > >> [2124] bar=225 080318,175900 > > >> [2124] bar=226 080318,185900 > > >> [2124] bar=227 080318,195900 > > >> [2124] bar=228 080318,205900 > > >> [2124] bar=229 080318,215900 > > >> [2124] bar=230 080318,222900 > > >> [2124] bar=231 080318,235900 > > >> [2124] bar=232 080319,005900 > > >> > > >> Custom backtester code: > > >> if(Status("action") == actionPortfolio){ > > >> bo = GetBacktesterObject(); bo.PreProcess(); > > >> // debug initialize bar date-time > > >> dn = DateNum(); > > >> tn = TimeNum(); > > >> > > >> for(bar=0; bar<BarCount; bar++){ > > >> > > >> // debug bar number, date, time > > >> _TRACE(StrFormat("bar=%1.0f %06.0f,%06.0f\n", bar ,dn[bar]% > > >> 1000000,tn[bar])); > > >> > > >> // explore signals in bar > > >> for( sig=bo.GetFirstSignal(bar); sig; sig=bo.GetNextSignal(bar) ){ > > >> > > >> // debug signals > > >> _TRACE(StrFormat("Type=%1.0f, Price=%4.3f, posSize=%2.0f\n", > sig.Type, > > >> sig.Price, sig.PosSize)); > > >> > > >> } > > >> bo.ProcessTradeSignals(bar); > > >> bo.UpdateStats(i, 1); > > >> bo.UpdateStats(i, 2); > > >> } > > >> bo.PostProcess(); > > >> > > >> } > > >> > > >> --- In [email protected], "Tomasz Janeczko" groups@ wrote: > > >> > > > >> > Hello, > > >> > > > >> > You can do that but only using custom backtester interface. > > >> > Regular backtester allows one scaleout or exit on single bar, not > > > both. > > >> > > > >> > This sample shows how to perform scaling using custom backtester > > >> > http://www.amibroker.com/kb/2006/03/06/re-balancing-open-positions > > >> > This is more general doc: > > >> > > > >> > > > > http://www.amibroker.org/userkb/2008/03/16/amibroker-custom-backtester-i\ > > > nterface-2 > > >> > > > >> > Best regards, > > >> > Tomasz Janeczko > > >> > amibroker.com > > >> > ----- Original Message ----- > > >> > From: "martinfernando66" clogs@ > > >> > To: [email protected] > > >> > Sent: Tuesday, March 18, 2008 12:56 PM > > >> > Subject: [amibroker] Backtester: same bar scaleout and sell signals > > >> > > > >> > > > >> > > Coded a system that is flexible to take profit (Buy=scaleout) and > > > exit > > >> > > on the same bar (sell=3) if conditions are met. > > >> > > After several tries with different periodicity (15 min, 30 min, 1 > > >> > > hour) appears that backtester is not processing more than one > > > signal > > >> > > per bar, leaving open the position while on the chart the system > > > is > > >> > > closing it. > > >> > > Missed some setting? If not, would be very grateful if someone > > > could > > >> > > confirm if standard backtester is only processing one signal per > > > bar. > > >> > > Thanks, > > >> > > Fernando Martin > > >> > > > > >> > > > > >> > > > > >> > > ------------------------------------ > > >> > > > > >> > > 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 > > > > > > > > > > > >
