*#include is a preprocessor command. The included file, in this case
TestAFL.afl, will be processed before your trade system 2 afl is processed.*

On Sat, Dec 13, 2008 at 5:59 PM, ozzyapeman <[email protected]> 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  );
>  
>

Reply via email to