[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: About Automatic Analysis



PureBytes Links

Trading Reference Links

Hi,
By "cut and paste" I have put together the following code to simplify 
the gathering of (backtest) metrics. By incorporating the results in 
the Title it is possible to compare different systems using single 
symbol EOD data. It is a struggle to know which metrics really matter 
but for a non-programmer discretionary type trader I find the results 
very interesting. There is an additional Howard Bandy "Strentgh" 
system within the code but commented out to confine the metrics to 3 
systems. 
//_Equity_3_in_1_ParamDate_v3.afl
desc = "_Equity_3_in_1_ParamDate-v3.afl";

GraphXSpace = 20;
SetChartOptions( 0, chartShowDates );
SetTradeDelays( 0, 0, 0, 0 );
InitEq = Param( " Init Eq ", 10000, 1000, 100000, 1000 );
SetOption( "InitialEquity", initeq );

FixedPositionSize = ParamToggle( "Fixed Position Size", "No|Yes", 1 );

if ( FixedPositionSize )
{
    SetPositionSize( 10000, spsValue );
}
else
{
    SetPositionSize( 100, spsPercentOfEquity );
}

On = WriteIf( fixedpositionsize > 0, "Yes", "No" );

// set dates
StartDate = ParamDate( "Start Date", Date() );//  Must Start with a 
trading day eg July 2, 2007

when = ValueWhen( DateNum() == startdate, DateNum() );
DateBarStart = ValueWhen( DateNum() == StartDate, BarIndex() );
ArrowBarStart = DateBarStart;
Plot( BarIndex() == startdate, "Beginning ", colorBlue, 
styleHistogram | styleOwnScale | styleNoLabel, Null, Null );
Enddate = ParamDate( "End Date", Date() );//  Must be a trading day 
eg Aug 18, 2008
DateBarEnd = ValueWhen( DateNum() == EndDate, BarIndex() );
ArrowBarEnd = DateBarEnd;

MAPeriod = Param( " MA Period ", 30, 1, 250, 1 );
Plot( MA( C, MAPeriod ), "MA", colorBlack );

// BUY and HOLD Strategy
Buy = ValueWhen( DateNum() == startdate, Close );
Sell = 0;
Buy = ExRem( Buy, Sell );
Sell = ExRem( Sell, Buy );

BandHeq = Equity( 1, 3, startdate, enddate );// No need to set Dates 
through AA.
BHBSBuy     = BarsSince( Buy );// Buy and Hold Bars Since Buy
BHPercentEq = 100 * ( BandHeq - initeq ) / initeq;
BHMaxEq = Highest( BandHEq );
BHCurrDD = BHMaxEq - BandHEq;
BHCurrDDPct  = 100 * BHCurrDD / BHMaxEq;
BHMaxDD     = Highest( BHCurrDD );
BHMaxDDPct  = Highest( BHCurrDDPct );
BHLWinner   = IIf( Sell  AND BandHEq > Ref( BandHEq, -BHBSBuy ),   1, 
0 );
BHWinners   = Cum( BHLWinner );
BHTrades    = Cum( Buy );

function TotalDays()
{
    yy = Year();
    dy = DayOfYear();
    LastLeapYear = ( yy % 4 ) == 1 && yy != 2001;
    YearChg = yy != Ref( yy, -1 );
    YearChg = IIf( IsNull( YearChg ) , False, YearChg );
    YearLen = IIf( YearChg, IIf( LastLeapYear, 366, 365 ), 0 );
    return Cum( YearLen ) + dy - dy[0];
}

dr = 100 * ( BandHeq / Highest( BandHeq ) - 1 );
profit = 100 * ( BandHeq / BandHeq[0] - 1 );

td = TotalDays();
Days = td[ BarCount - 1 ] - td[ 0 ];


BHCar = 100 * ( ( BandHeq / BandHeq[ 0 ] ) ^ ( 365 / Days ) - 1 );

Plot( BandHeq, "Buy and Hold", colorGreen, styleOwnScale );

// The Howard Bandy Strength Equity
//Buy Strength
ROC_Period = Param( "Strength ROC Period", 25, 1, 100, 1 );
Strength = ROC( C, ROC_Period );
Strength_factor = Param( "Strength_factor", 0, 0, 10, 1 );
Buy = Strength > strength_factor;//0;
Sell = Strength < 0;
Buy = ExRem( Buy, Sell );
Sell = ExRem( Sell, Buy );
Strengtheq = Equity( 1, 3, startdate, enddate );
//StrengthEq   = Equity(0,3,1070702,1080523);
StrengthPercentEq = 100 * ( Strengtheq - initeq ) / initeq;
StBSBuy     = BarsSince( Buy );// Bars Since Buy
StPercentEq = 100 * ( Strengtheq - initeq ) / initeq;
StMaxEq = Highest( StrengthEq );
StCurrDD = StMaxEq - StrengthEq;
StCurrDDPct  = 100 * StCurrDD / StMaxEq;
StMaxDD     = Highest( StCurrDD );
StMaxDDPct  = Highest( StCurrDDPct );
StLWinner   = IIf( Sell  AND StrengthEq > Ref( StrengthEq, -
StBSBuy ),   1, 0 );
StTrades    = Cum( Sell );
//StCar = 100 * ( ( eq / eq[ 0 ] ) ^ ( 365 / Days ) - 1 );

//Plot(Strengtheq,"Strength",colorBlue,styleOwnScale);
Stshape = IIf( DateNum() > startdate, Buy * shapeUpArrow + Sell * 
shapeDownArrow, 0 );
//PlotShapes(Stshape,IIf(Buy,colorBlue,colorRed),0,IIf(Buy,Low,High));

// version of a Linear Regression System
regressionLength = Param( "Regression Length", 10, 2, 200 );
smootherLength = Param( "Smoother Length", 2, 2, 200 );

line1 = LinearReg( ( H + L + C ) / 3, regressionLength );
trend = Wilders( line1, smootherLength );
Buy = Cross( trend, Ref( trend, -1 ) )AND C > MA( C, 30 ) ;
Sell = Cross( Ref( trend, -1 ), trend )AND BarsSince( Buy ) > 0;
Buy = ExRem( Buy, Sell );
Sell = ExRem( Sell, Buy );
BuyPrice = C;
LReq = Equity( 1, 3, startdate, enddate );
LRPercentEq = 100 * ( LReq - initeq ) / initeq;
LRBSBuy     = BarsSince( Buy );// Bars Since Buy
LRMaxEq = Highest( LREq );
LRCurrDD = LRMaxEq - LREq;
LRCurrDDPct  = 100 * LRCurrDD / LRMaxEq;
LRMaxDD     = Highest( LRCurrDD );
LRMaxDDPct  = Highest( LRCurrDDPct );
LRTrades    = Cum( Sell );
LRLWinner   = IIf( Sell  AND LREq > Ref( LREq, -LRBSBuy ),   1, 0 );
LRWinners   = Cum( LRLWinner );

Plot( C, "C", 1, 64 );
shape = IIf( DateNum() == startdate, Buy * shapeUpArrow + Sell * 
shapeDownArrow, 0 );
PlotShapes( shape, IIf( Buy, colorBlue, colorRed ), 0, IIf( Buy, Low, 
High ) );
Plot( Lreq, "LReq", colorBlue, styleOwnScale );

//MA cross system
function ZeroLagTEMA( array, period )
{
    TMA1 = TEMA( array, period );
    TMA2 = TEMA( TMA1, period );
    Diff = TMA1 - TMA2;
    return TMA1 + Diff;
}

//---- Heikin Ashi
HaClose = ( O + H + L + C ) / 4;
HaOpen = AMA( Ref( HaClose, -1 ), 0.5 );
HaHigh = Max( H, Max( HaClose, HaOpen ) );
HaLow = Min( L, Min( HaClose, HaOpen ) );
xDiff = ( HaHigh - Halow ) * IIf( StrFind( Name(), "^AXJO" ), 100, 
10000 );//"JPY"???
barcolor = IIf( HaClose >= HaOpen, colorGreen, colorRed );
//PlotOHLC( HaOpen, HaHigh, HaLow, HaClose, "", barcolor, 
styleCandle );

//Non std HaClose!!
HaClose = ( HaClose + HaOpen + HaHigh + HaLow ) / 4;

if ( ParamToggle( "Plot Heikin-Ashi", "No, Yes", 1 ) )
    PlotOHLC( HaOpen, HaHigh, HaLow, HaClose, "", barcolor, 
styleCandle );
else
    Plot( C, "Regular Candles" + Name(), colorBlack, styleCandle );

period = Param( "Avg. TEMA periods", 55, 1, 100 );

ZLHa = ZeroLagTEMA( HaClose, period );

ZLTyp = ZeroLagTEMA( Avg, period );

//Plot( ZLHa, "ZLTema(Ha," + period + ")", colorRed );

//Plot( ZLTyp, "ZLTema( Typ, " + period + ")", colorGreen );

Buy = Cross( ZLTyp, ZLHa )AND C > MA( C, 50 );
Sell = Cross( ZLHa, ZLTyp );
MACrosseq = Equity( 1, 3, startdate, enddate );
Plot( MACrosseq, "MACross_eq", colorRed, styleOwnScale );
MACrossPercentEq = 100 * ( MACrosseq - initeq ) / initeq;
MACrossBSBuy     = BarsSince( Buy );// Bars Since Buy
MACrossMaxEq = Highest( MACrossEq );
MACrossCurrDD = MACrossMaxEq - MACrossEq;
MACrossCurrDDPct  = 100 * MACrossCurrDD / MACrossMaxEq;
MACrossMaxDD     = Highest( MACrossCurrDD );
MACrossMaxDDPct  = Highest( MACrossCurrDDPct );
MACrossTrades    = Cum( Sell );
MACrossLWinner   = IIf( Sell  AND MACrossEq > Ref( MACrossEq, -
MACrossBSBuy ),   1, 0 );
MACrossWinners   = Cum( MAcrossLWinner );
MAshape = IIf( DateNum() > startdate, Buy * shapeUpTriangle + Sell * 
shapeDownTriangle, 0 );
PlotShapes( MAshape, IIf( Buy, colorGreen, colorRed ), 0, IIf( Buy, 
0.98*Low, 1.01*H ) );

ROC248d = 100 * ROC( C, 248 ) + initEq;

if ( ParamToggle( "Tooltip shows", "All Values|Only Prices" ) )
{
    ToolTip = StrFormat( "Open:$ %g\n High:$  %g\n  Low:$   %
g\nClose:$  %g(%.1f%%)\nVolume: " + NumToStr( V, 2 ), O, H, L, C, 
SelectedValue( ROC( C, 1 ) ) );
}

Title = Name() + "   " + Interval( 2 ) + "   " + Date() + "   " + 
desc + "  " +

        "\nClose=$" + WriteVal( C, 1.2 ) +
        "\nROC(C,248)=" + WriteVal( ROC( C, 248 ), 1.2 ) + "%" +
        "\n$10,000 invested in this share 52 weeks ago would now be 
worth $ " + WriteVal( ROC248d, 1.2 ) + "\n" +

        "\nParameter Start date " + WriteVal( ValueWhen( DateNum() == 
StartDate, DateTime() ), formatDateTime ) +
        "  " + " Parameter End date  " + WriteVal( ValueWhen( DateNum
() == endDate, DateTime() ), formatDateTime ) +

        "\n" + On + " Fixed Position Size." +

        "\nInitial Capital:= $" + WriteVal( Initeq, 1.0 ) + 
EncodeColor( colorGreen ) +
        "\nB and H Equity  = $" + WriteVal( bandheq, 1.0 ) + "(" + 
WriteVal( BHpercentEq, 1.0 ) + "%)" +
        "  Max Equity DD=$" + WriteVal( BHMaxDD, 1.0 ) + "(" + 
WriteVal( BHMaxDDPct, 1.0 ) + "%)" +
        "  Max Equity=$" + WriteVal( BHMaxEq, 1.0 ) +

        "  Current DD=$" + WriteVal( BHCurrDD, 1.0 ) + "(" + WriteVal
( BHCurrDDPct, 1.0 ) + "%)" + "  C.A.R.=" + BHCar + EncodeColor( 
colorBlue ) +

//"\nStrength Equity=$"+WriteVal(StrengthEq,1.0)+"("+WriteVal
(StrengthPercentEq,1.0)+"%)"+
//"  Max DD=$"+WriteVal(StMaxDD,1.0)+"("+WriteVal(StMaxDDPct,1.0)
+"%)"+
// "  Max Equity=$"+WriteVal(StMaxEq,1.0)+

//"  Current DD=$"+WriteVal(StCurrDD,1.0)+"("+WriteVal
(StCurrDDPct,1.0)+"%)"+
//"Trades ="+Sttrades+"  Winners=  "+StLwinner+EncodeColor(colorRed)+


        "\nLin Reg  Equity  =$" + WriteVal( LREq, 1.0 ) + "(" + 
WriteVal( LRPercentEq, 1.0 ) + "%)" +
        "  Max Equity DD=$" + WriteVal( LRMaxDD, 1.0 ) + "(" + 
WriteVal( LRMaxDDPct, 1.0 ) + "%)" +
        "  Max Equity=$" + WriteVal( LRMaxEq, 1.0 ) +

        "  Current DD=$" + WriteVal( LRCurrDD, 1.0 ) + "(" + WriteVal
( LRCurrDDPct, 1.0 ) + "%)" +
        "Trades =" + LRtrades + "  Winners=  " + LRwinners + 
EncodeColor( colorRed ) +

        "\nMA Cross Equity =$" + WriteVal( MAcrosseq, 1.0 ) + "(" + 
WriteVal( MACrossPercentEq, 1.0 ) + "%)" +
        "  Max Equity DD=$" + WriteVal( MACrossMaxDD, 1.0 ) + "(" + 
WriteVal( MACrossMaxDDPct, 1.0 ) + "%)" +
        "  Max Equity=$" + WriteVal( MACrossMaxEq, 1.0 ) +

        "  Current DD=$" + WriteVal( MACrossCurrDD, 1.0 ) + "(" + 
WriteVal( MACrossCurrDDPct, 1.0 ) + "%)" +
        "Trades =" + MACrosstrades + "  Winners=  " + MACrosswinners;
Lastbar = Cum( 1 ) == LastValue( Cum( 1 ) );
Val = IIf( Lastbar , BandHeq - ValueWhen( Buy, BandHEq ), bandheq );

Parameters need to be set by the user.
This is a work in progress which may help others understand the 
concepts being discussed.
Peter

--- In amibroker@xxxxxxxxxxxxxxx, Dennis Brown <see3d@xxx> wrote:
>
> Brian,
> 
> I hear you.  I understand the approach.  It is the approach I 
use.   
> The details may be different though because my goals are perhaps  
> different.  I do things in stages and combine at the last possible  
> moment.  Signal generation, signal combinations, system 
generation,  
> system combinations, metric generation.  All in real time with 
each  
> bar.  Each step is accessible to any other step if desired.
> 
> My Flexible Parameters system is critical to my being able to do 
this  
> successfully.  That is why I have devoted so much of my 
programming  
> efforts to this seemingly side path to my trading systems.
> 
> Sometimes people think that if they can make a system that is so  
> complicated that they can no longer understand it, it will work  
> better.  I find just the opposite.  The simpler the system  
> (conceptually) the better I can make it work.  It must be based on  
> modeling something about human behavior though to have an enduring  
> edge.  The day that only computers are trading the numbers, only  
> fundamental analysis will have any value, because the 
overreactions  
> will get damped out.
> 
> Stare at the charts first and decide what trait to exploit.  Then 
work  
> on what it takes to express that in logic.  Some things took me 
years  
> to finally figure out how to do in AFL logic --simple things I can 
see  
> and do with studies.  The trick is to have a vision, and never give 
up  
> before you realize it.
> 
> Best regards,
> Dennis
> 
> On Aug 18, 2008, at 9:04 PM, brian_z111 wrote:
> 
> > After all of that I still didn't make the distinction clear:
> >
> > We can have individual symbol trade series OR multiple symbol 
trade
> > series OR multiple system trade series OR AND evaluate them at the
> > portfolio level WITHOUT MONEY MANAGEMENT.
> >
> > MM can sometimes cause a lot of confusion when it is combined with
> > the trade series in a BackTester (to much going on at the same 
time
> > and behind closed doors at that).
> >
> > Once again I am not pointing the finger at the BT - only the 
logic of
> > the traders 'collective wisdom' that lead us down that path.
> >
> > Also, BT's will all the bells and whistles have their function - I
> > won't complain if Tomasz wants to beef it up or whatever - I am
> > rather pleased that AB will (hopefully) let me do my own thing in
> > other ways though.
> >
> >
> > brian_z
> >
> >
> >
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, "brian_z111" <brian_z111@> 
wrote:
> >>
> >> All,
> >>
> >> I am aligned to Hermans approach - what you guys are talking 
about
> >> seems rather complex to me - the end result doesn't allow for a
> > KISS
> >> approach, which is what I like - I agree with H on the time
> >> limitation and how "inline metrics" offer us RT system feedback
> > plus
> >> we are free to do some extra things there that we can't do under
> > the
> >> constraints of the BT (no offence to AB - the constraints are 
there
> >> for a good reason and we all want to use the  BT at some time or
> >> another).
> >>
> >> I am optimistic about the path I am going down with RT portfolio
> >> emulation (as I discussed a little bit before under "Inline
> >> Backtester" etc.
> >>
> >> I have been playing with it a little (weekends only) and I 
believe
> > I
> >> can get code to:
> >>
> >> - emulate a balanced portfolio
> >> - integrate multiple systems into that portfolio (including
> >> long/short)
> >>
> >> So far my approach is very basic but I have to start somewhere.
> >> (I will post some basic code examples if I get them to work OK)
> >> Theoretically I have the base code  for multiple systems working
> > but
> >> the practical limitation might be scaling up to many symbols (so
> > far
> >> I am looping from a watchlist of 3 tickers and the Help manual 
says
> >> this is very slow in RT - still it is better to get it working in
> >> theory first and worry about large scale application later).
> >>
> >>
> >>
> >> I guess I didn't sell any of you on the idea so far:
> >>
> >> - our rule based systems are like number generators (not random 
but
> >> slightly biased - hopefully)
> >> - trade series are generated when we present data to our systems
> >> - over sufficient samples the trade series has a distinctive
> > profile
> >> (frequency distribution)
> >> - the distribution is tight if our rules are tight
> >> - the order of the trades is 'random' OR at the least not under 
our
> >> control ???
> >>
> >> So what we have is a series of trades, whose range is limited (by
> >> rule) but whose order varies (according to the whim of the 
market).
> >>
> >> THE TRADE SERIES PROFILE DOES NOT VARY (IF WE HAVE DESIGNED OUR
> >> SYSTEMS WELL)
> >>
> >> Nominally, the system can produce many different eq curves - 
based
> > on
> >> the order of the series (note that the above is a nominal model -
> >> perhaps not an exact model - of the real world of trading but it 
is
> >> close enough to enable us to make trading predictions).
> >>
> >>
> >> HOWEVER, ONCE WE START TO ALLOCATE CAPITAL TO THE SYSTEM, IN
> > VARYING
> >> AMOUNTS AND AT DIFFERENT TIME INTERVALS, THE NUMBER OF POSSIBLE 
EQ
> >> CURVE OUTCOMES ESCALATES.
> >>
> >> This allocation of capital, is done by the BT in ways that take
> > quite
> >> a bit of effort to follow (I am not saying that the BT has any
> > faults
> >> only that Portfolio Backtesting can obscure the real UNDERLYING
> >> performance of the system).
> >>
> >> Further to that, the BT doesn't allow multiple system analysis, 
at
> > a
> >> Portfolio level.
> >>
> >> THE FACT IS THAT THE TRADE SERIES CARRYS (MATHEMATICALLY) ALL OF
> > THE
> >> INFORMATION ABOUT THE SYSTEM THAT WE NEED - WITHOUT HAVING TO
> > SUBMIT
> >> IT TO THE BT.
> >>
> >> In short:
> >>
> >> the trade series, expressed as growth factor, can be used to
> > emulate
> >> different portfolio outcomes, after the fact i.e.
> >>
> >> IT IS EASIER TO UNDERSTAND THE PORTFOLIO RAMIFICATIONS IF YOU GET
> > THE
> >> TRADE SERIES FIRST AND THEN TRIAL VARIOUS PORTFOLIO APPROACHES
> >> INDEPENDENTLY.
> >>
> >> Inline metrics (indicators) is one place in AB that lends itself 
to
> >> this - no COM/OLE/CBT?.
> >>
> >> Portfolio emulation example (for a balanced portfolio):
> >>
> >> - take the trades as Gf e.g. 3% == 1.03 (in an array)
> >> - repeat for several symbols
> >> - average the GF, for all symbols, bar by bar, as an array to
> > produce
> >> the Portfolio GF
> >> - start with any initial eq and multiply by the Portfolio GF
> >>
> >> From there we can change capital allocation at any bar if we want
> > to,
> >> provided we have the programming skills.
> >>
> >> So far I have got close to doing the above:
> >>
> >> - I am not sure if AB limitations OR my limitations will stump me
> >> eventually
> >> - I am optimistic it can be done
> >> - initially, the method is very limited (no scaling in out etc,
> >> closed trades only, no multiple trades per symbol) but that might
> >> change later
> >>
> >> Note: I understand it is not a BT, I am not trying to build a 
BT -
> > I
> >> am trying to get the same understanding of my systems that the BT
> >> offers but do it in RT and with a lot less code and hand waving.
> >>
> >> (less sophistication == less code but not necessarily less
> >> understanding and usefulness).
> >>
> >> The only problem I have encountered so far is that what I need to
> >> share it with others is more difficult than what I need for 
myself -
> >
> >> so I have to work a bit harder there.
> >>
> >> The reason behind that is that I have jumped the over the fence 
to
> >> RootCauseEvaluation, which is a mindset, and hence I don't see a
> > need
> >> for all of the bells and whistles that BT's provide (all the 
noise
> > of
> >> the whistle blowing jsut distracts my concentration on what 
really
> >> counts).
> >>
> >> I will share some base code as soon as I can (it is rather
> > simplistic
> >> code but it helps to argue my case).
> >>
> >> RCE - it's not the holy grail of system design and evaluation but
> > it
> >> is a different approach that can expand our knowledge somewhat.
> >>
> >> brian_z
> >>
> >>
> >>
> >>
> >>
> >>
> >> --- In amibroker@xxxxxxxxxxxxxxx, "Barry Scarborough" 
<razzbarry@>
> >> wrote:
> >>>
> >>> I'm not sure what you mean but I often put multiple systems on
> > one
> >>> page. I watch how they perform compared to the one I am actually
> >> auto
> >>> trading. I also add other indicators at times to see if they 
will
> >> add
> >>> anything to the logic.
> >>>
> >>> Barry
> >>>
> >>> --- In amibroker@xxxxxxxxxxxxxxx, Dennis Brown <see3d@> wrote:
> >>>>
> >>>> Would it work to use multiple virtualized systems on the same
> >>> physical
> >>>> machine?
> >>>>
> >>>> Dennis
> >>>>
> >>>> On Aug 18, 2008, at 10:47 AM, Barry Scarborough wrote:
> >>>>
> >>>>> I think it is safer to run multiple instances of AB on
> > separate
> >>>>> systems. I keep getting mixed or confusing results when I try
> >> to
> >>> use
> >>>>> two instances on one system. I was trying to capture 5 second
> >> data
> >>>>> and run auto trading on the same system. I opened the auto
> >> trading
> >>>>> first and then the 5 second. The data in the 5 second
> > instance
> >>> gets
> >>>>> lost and I can't figure out why. I even tried to save it a
> > few
> >>> times
> >>>>> during the day. I run it all day and when I looked at it
> > later
> >> it
> >>>>> isn't there. Well some of it is which is even more confusing,
> >> the
> >>>>> most recent part. I have the database set to 100,000 bars so
> > I
> >>> should
> >>>>> be able to capture about a month of data. Ain't working. So I
> >>> started
> >>>>> collecting the 5 second data on another system. I will see
> > how
> >>> that
> >>>>> works. If using multiple instances on one system is supposed
> > to
> >>> work
> >>>>> then someone needs to define the parameters for doing so.
> >>>>>
> >>>>> Barry
> >>>>>
> >>>>> --- In amibroker@xxxxxxxxxxxxxxx, "Paul Ho" <paul.tsho@>
> > wrote:
> >>>>>>
> >>>>>> I think the easiest is to run multiple instances of AB, one
> > per
> >>>>> system. am i
> >>>>>> missing something?
> >>>>>>
> >>>>>>
> >>>>>> _____
> >>>>>>
> >>>>>> From: amibroker@xxxxxxxxxxxxxxx
> >>> [mailto:amibroker@xxxxxxxxxxxxxxx]
> >>>>> On Behalf
> >>>>>> Of Barry Scarborough
> >>>>>> Sent: Monday, 18 August 2008 9:46 PM
> >>>>>> To: amibroker@xxxxxxxxxxxxxxx
> >>>>>> Subject: [amibroker] Re: About Automatic Analysis
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> Herman he is talking about automatic analysis. How can you
> > run
> >>> more
> >>>>>> than one formula at a time? AA defines the formula that is
> >> being
> >>>>>> tested.
> >>>>>>
> >>>>>> You can test more than one system at a time by "forward
> >>> testing". I
> >>>>>> put my formula in a specially designed bar replay indicator
> >> that
> >>>>> will
> >>>>>> keep track of the number of positions/shares and the price
> >> when
> >>> the
> >>>>>> trade is made. I run BarReplay and feed 5 second data into
> > the
> >>>>>> formula. It tells where the trade is made, the conditions of
> >> all
> >>>>> the
> >>>>>> indicators at the trade, whatever the designer wants to
> > track,
> >>> and
> >>>>>> the price at the trade. I calculate the gain as each trade is
> >>>>> closed.
> >>>>>> I post all of that in the interpretation window. Then you
> > can
> >>> click
> >>>>>> on each formula and see what the stats are. I also dump this
> >> data
> >>>>>> into _Trace so that I can go back later and focus in on a
> >>> specific
> >>>>>> area using DebugView when it doesn't trade as expected.
> > Tracing
> >>>>> more
> >>>>>> than one formula is a pain and I typically use this for
> > debug
> >>> only.
> >>>>>>
> >>>>>> If you want to check longer periods you can capture hour or
> > 15
> >>>>> minute
> >>>>>> data and feed that into a EOD chart or weekly chart to see
> >> what
> >>> is
> >>>>>> going on in them. The shorter the period you feed into your
> >>> formula
> >>>>>> the more accurate the results. Let your imagination run away
> >> and
> >>>>> you
> >>>>>> can test/tweak almost anything this way.
> >>>>>>
> >>>>>> IMO that is more accurate than back testing since you are
> >>> tracking
> >>>>>> the almost true performance of the system. Anyway, that is
> > how
> >> I
> >>>>>> handle multiple formula analysis at a time.
> >>>>>>
> >>>>>> Barry
> >>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> ------------------------------------
> >>>>>
> >>>>> 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
> >
> >
> >
>



------------------------------------

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/