Tomasz and Paul,
Thank you for responding.
Yes, I also had looked at those sources, but being that I am able to
only stumble along with C++, it is Greek to me.
I think I would be better off trying to understand how to modify the
AmiBroker plugin DLL to call back my AFL objective function.
It is still Greek, but at least it is a simpler and meaningful Greek
phrase to start with.
I would still welcome any specific advice or hints in areas that I am
likely to stumble over.
Best regards,
Dennis
> On Jul 7, 2008, at 7:10 AM, Tomasz Janeczko wrote:
>
> Yes, these sources are actually included in what you already have on
> your hard disk
> under ADK\CMAE\cmaes
>
> Best regards,
> Tomasz Janeczko
> amibroker.com
>> ----- Original Message -----
>> From: Paul Ho
>> To: amibroker@xxxxxxxxxps.com
>> Sent: Monday, July 07, 2008 12:22 PM
>> Subject: RE: [amibroker] Code help please... Optimize with CMAE
>>
>> Go to the guy's site where Tomasz download his source code from,
>> download his source code, and stare at that one instead, I think
>> its a lot closer to what you want. http://www.bionik.tu-berlin.de/user/niko/cmaes_c.tar.gz
>>
>>
>> On Jul 7, 2008, at 4:05 AM, Tomasz Janeczko wrote:
>>
>> Dennis,
>>
>> The optimizer plugin architecture uses backtester. You can't go
>> without using backtester.
>> Call to pfEvaluateFunc invokes full-blown backtest for given
>> parameter set.
>>
>> If you would like to optimize "general purpose" functions without
>> using backtester,
>> you would need to take sources provided and write your own plugin
>> that won't
>> use backtesting engine at all.
>>
>> Best regards,
>> Tomasz Janeczko
>> amibroker.com
>> ----- Original Message -----
>> From: "Dennis Brown" <see3d@xxxxxxxxcom>
>> To: <amibroker@xxxxxxxxxps.com>
>> Sent: Monday, July 07, 2008 3:30 AM
>> Subject: [amibroker] Code help please... Optimize with CMAE
>>
>>
>>> 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
>>>