Obviously problems like this aren't going to be solved with exhaustive
search ...
This is why there are artificially intelligent optimizaion engines
whether they be imbedded in AB or not.
I can't say I have used the ones inside AB much since my initial
investigation of them and long ago I posted my thoughts on the particular AB
artificially intelligent optimization engine you reference.
I don't know how long 40k steps take to perform on your machine but a
solution to the problem using a single processor took less than 5 minutes on
mine. I wouldn't think AB's internal engine would take much more than
this i.e. 40k steps @ 100 / sec = 400 secs ~ 7 minutes ?!
----- Original Message -----
From: Ton Sieverding
Date:
Thursday, January 8, 2009 6:04 am
Subject: Re: [amibroker] Re: Optimization
Question
To: amibroker@xxxxxxxxxps.com
> Fred my problem
with all kinds of combinations like in yr code
> is the following
...
>
>
>
> Even with CMAE ...
>
>
>
> Regards, Ton.
>
>
> ----- Original
Message -----
> From: ftonetti@xxxxxxxxxxnet
> To:
amibroker@xxxxxxxxxps.com
> Sent: Thursday, January 08, 2009 7:55
AM
> Subject: Re: [amibroker] Re: Optimization Question
>
>
>
> One way to code this is as below ...
>
> One
could of course code in separate "Use" optimizable
> variables for each
of the indicators to allow them to be
> independently used or not on
the buy / sell side.
>
> The default values in the optimization
statements below were
> arrived at from the best results based on CAR -
MDD over the
> entire life of a common Index using daily data. Notice
that the
> optimization process determined NOT to use the MACD
indicator
> i.e. MACDUse = 0 but did employ the other two.
>
RSILen = Optimize("RSILen", 43, 1, 100, 1);
>
> RSIUse =
Optimize("RSIUse", 1, 0, 1, 1);
>
> RSIx =
RSI(RSILen);
>
> RSIBuy = RSIx > Ref(RSIx, -1) OR RSIUse ==
0;
>
> RSISell = RSIx < Ref(RSIx, -1) OR RSIUse == 0;
>
> StoLen1 = Optimize("StoLen1", 16, 1, 100, 1);
>
>
StoLen2 = Optimize("StoLen2", 25, 1, 100, 1);
>
> StoLen3 =
Optimize("StoLen3", 99, 1, 100, 1);
>
> StoUse =
Optimize("StoUse", 1, 0, 1, 1);
>
> StoK = StochK(StoLen1,
StoLen2);
>
> StoD = StochD(StoLen1, StoLen2, StoLen3);
>
> StoBuy = StoK > StoD OR StoUse == 0;
>
> StoSell =
StoK < StoD OR StoUse == 0;
>
> MACDLen1 =
Optimize("MACDLen1", 32, 1, 100, 1);
>
> MACDLen2 =
Optimize("MACDLen2", 60, 1, 100, 1);
>
> MACDLen3 =
Optimize("MACDLen3", 48, 1, 100, 1);
>
> MACDUse =
Optimize("MACDUse", 0, 0, 1, 1);
>
> MACDx = MACD(MACDLen1,
MACDLen2);
>
> MACDs = Signal(MACDLen1, MACDLen2,
MACDLen3);
>
> MACDBuy = MACDx > MACDs OR MACDUse ==
0;
>
> MACDSell = MACDx < MACDs OR MACDUse == 0;
>
> Buy = RSIBuy AND StoBuy AND MACDBuy;
>
> Sell = RSISell
AND StoSell AND MACDSell;
>
>
>
> ----- Original
Message -----
> From: longarm61
> Date: Thursday, January 8, 2009
12:49 am
> Subject: [amibroker] Re: Optimization Question
> To:
amibroker@xxxxxxxxxps.com
>
> > Thanks, appreciate it. If
it's not too much trouble, could
> you
> > (or
> >
someone) give me a quick example of how exactly that would
> be
coded?
> >
> >
> > --- In
amibroker@xxxxxxxxxps.com, ftonetti@xxx wrote:
> > >
>
> > One way to do this is to have an on/off ( 1/0 )
> optimizable
> > variable for each indicator so that individual indicators
> are
> > either
> > used or not and then let
optimzation make the determination.
> > >
> > > -----
Original Message -----
> > > From: longarm61
> > >
Date: Wednesday, January 7, 2009 8:25 pm
> > > Subject:
[amibroker] Optimization Question
> > > To:
amibroker@xxxxxxxxxps.com
> > >
> > > > Is
there a way to optimize a group of indicators so that
> the
>
> > > results
> > > > not only give you the optimized
values, but also tell
> you
> > which
> > > >
indicators you'd have better of f not using at all?
> Something
> > > > like
> > > > this:
> > >
>
> > > > Best return: Indicator1=80, Indicator2=NO,
> Indicator3=50,
> > > > Indicator4=NO
> >
> >
> > > > Thanks in advance,
> > > >
> > > > Grant
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
>
> > >
> >
> >
> >
>
>
>