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

[amibroker] Re: Optimizing with Include and fputs shifts loop mysteriously



PureBytes Links

Trading Reference Links

The include file is being written after it has already been included.
Try moving the include statement after the fclose.

-Steve

--- In amibroker@xxxxxxxxxxxxxxx, "ozzyapeman" <zoopfree@xxx> wrote:
>
> Hello, hoping someone can help with this issue. When I use an optimize
> statement with #include and fputs, the optimization variable keeps
> getting shifted.
> 
> For example, please consider the two basic MA crossover systems below.
> They should both give identical results whether one does a backtest or
> an optimization. The backtests do appear identical. However, the Include
> version gives wonky results in optimization. Instead of 'a' starting at
> value 1. It starts at 5 but says in the optimization report that it is
> 1. I know it's probably something simple that I am overlooking, but
> can't seem to figure this one out:
> 
> 
>
//----------------------------------------------------------------------\
> --
> // TRADE SYSTEM #1:    SIMPLE CROSS BASIC
>
//----------------------------------------------------------------------\
> --
> 
> FastMALength = Optimize("FastMALength",      1,     1,    5,     1);
> 
> SlowMALength = 20;
> 
> FastMA       =    MA( C, FastMALength );
> SlowMA       =    MA( C, SlowMALength );
> Buy          = Cross( FastMA, SlowMA  );
> Sell         = Cross( SlowMA, FastMA  );
> 
> 
> 
> 
>
//----------------------------------------------------------------------\
> --
> // TRADE SYSTEM #2:   SIMPLE CROSS USING INCLUDE AND FPUTS
>
//----------------------------------------------------------------------\
> --
> 
> a = Optimize( "a", 1, 1, 5, 1 );
> 
> #pragma nocache
> #include "c:\\TestAFL.afl";
> 
> fh = fopen( "c:\\TestAFL.afl", "w");
> fputs("FastMALength = ", fh);
> fputs(NumToStr(a, 1.0, 0 ),fh);
> fclose( fh );
> 
> SlowMALength = 20;
> 
> FastMA       =    MA( C, FastMALength );
> SlowMA       =    MA( C, SlowMALength );
> Buy          = Cross( FastMA, SlowMA  );
> Sell         = Cross( SlowMA, FastMA  );
>



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

**** IMPORTANT ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

*********************
TO GET TECHNICAL 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/