Hello, I've read Herman's excellent doc, "IntroToATC".

I am trying to run an optimization, and then store the values of the
optimized variables in some composite symbols. I later want to pull
values of a certain range and input them automatically in another AFL.
However, I keep getting a syntax error that the fields are not
available, even though they clearly are.

Hoping someone can point out my mistake, or give me some suggestions on
what else to try.

Here is the code. Any ideas? :


//--------------------------------------------------------------------
// TRADING SYSTEM
//--------------------------------------------------------------------

FastMALength = Optimize("FastMALength",      10,     1,    10,     1);
SlowMALength = Optimize("SlowMALength",     20,    20,   50,      10);

FastMA       =    MA( C, FastMALength );
SlowMA       =    MA( C, SlowMALength );
Buy          = Cross( FastMA, SlowMA  );
Sell         = Cross( SlowMA, FastMA  );



//--------------------------------------------------------------------
// CUSTOM OPTIMIZATION PROCEDURE (Store opt vars in composite symbols)
//--------------------------------------------------------------------

SetCustomBacktestProc( "" );

if ( Status( "action" ) == actionPortfolio )
{
bo = GetBacktesterObject();

// run default backtest procedure
bo.Backtest( 1 );

st = bo.getperformancestats( 0 );

   // iterate through closed trades first
   for ( trade = bo.GetFirstTrade(); trade; trade = bo.GetNextTrade() )
   {
     FastMALength = st.getvalue( "FastMALength" );
     SlowMALength = st.getvalue( "SlowMALength" );

     AddToComposite( FastMALength, "~OptFastMA", "X", 1+2+8+16+64 );
     AddToComposite( SlowMALength, "~OptSlowMA", "X", 1+2+8+16+64 );
   }
bo.ListTrades();
}


Reply via email to