*#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 ); > >
