Hello,
I have been staring at the CMAE DLL stuff for days and I
really need
some help to figure out how to use it in a particular
way.
I would like to use the optimizer in a generic sense to do the
following from AFL without using the internal backtester, meaning only
AFL in indicator mode:
Initialize 2 items:
item 1 is X and has
a default,min,max,step,current,best values
1,1,1000,1,1,1
item 2 is Y and has a
default,min,max,step,current,best values
1,1,1000,1,1,1
The objective is to optimize X and Y so that
X*Y==100
objective function in AFL:
function
Objective()
{
return 100 - X*Y;
}
The steps I would need to
take as I understand them are:
1. Initialize the X and Y
OptimizeItems by calling
OptimizerInit( with bunch of arguments) --most
arguments are
irrelevant to this test.
2. Start the optimizer
engine by calling pfEvaluateFunc( pContext ) --
there really is no
context that I understand for this test.
3. The DLL calls back for
the objective AFL function
4. It runs step 3 a number of times to
find the solution of X=Y=10
5. OptimizerFinalize(same bunch of
arguments as step 1)
Of course I would prefer that step 3 is AFL
calling the optimizer DLL
instead (simple mode), but I did not think
that is how the CMAE works.
Anyway, if I could get this simple case
to work, I am sure I could
figure out how do do much more complicated
cases after that on my own.
Of course if there is no way to use the
existing DLL without changing
it, I would like to know that also. I
should be able to make modest
changes to the DLL myself.
Please
any hints or AFL code is appreciated.
Best
regards,
Dennis