To add to my confusion, sometimes the below code does produce syntax
errors when applied. Other times it runs smoothly (albeit with a
single optimization step). I'm not doing anything different, so I have
no idea why it fluctuates.


--- In [email protected], "ozzyapeman" <zoopf...@...> wrote:
>
> The simplified code below runs without any syntax error. However,
> instead of optimizing through all 100 steps, it only does a single step.
> Any idea why doesn't it do all 100 steps, as coded in the Simple MA
> Cross afl?:
> 
> 
>
//----------------------------------------------------------------------\
> ------
> // AUTOMATION CODE: Load an AFL and Run a Portfolio Optimization
>
//----------------------------------------------------------------------\
> ------
> 
> EnableScript("jscript");
> <%
> 
> database  = "C:\\Program Files\\Amibroker\\Data";
> formula_1 = "C:\\Simple MA Cross.afl";
> 
> AB  = new ActiveXObject( "Broker.Application" );
> AB.LoadDatabase( database );
> AA  = AB.Analysis;
> 
> AA.LoadFormula( formula_1 );              // load formula from external
> file
> 
> AA.ApplyTo       = 1;                     // use current symbol
> AA.RangeMode     = 3;                     // use 'From' and 'To' dates
> AA.RangeFromDate = "11/01/2005";
> AA.RangeToDate   = "12/31/2005";
> AA.Optimize( 0 );                         // run Optimize for the
> portfolio, which is just one symbol
> //AA.Backtest();
> 
> %>
> //---------END AUTOMATION
> AFL-------------------------------------------------
> 
> 
> 
> --- In [email protected], "ozzyapeman" <zoopfree@> wrote:
> >
> > Hoping someone can chime in here to let me know what I might be doing
> > wrong. I'm currently testing out some simple automation code. The
> > objective is to load an AFL and then run a portfolio optimization for
> a
> > specified date range.
> >
> > I am using a simple MA crossover trading system for testing purposes.
> I
> > can of course optimize it manually in AA without any problem. But when
> I
> > try to run and control that optimization from a piece of automation
> > code, I get a whole range of syntax errors.
> >
> > Below are the two *separate* AFL codes. I imagine the first AFL has
> some
> > errors in it that is preventing the actions from being carried out
> > properly. What am I missing or doing wrong? Any input much
> appreciated:
> >
> >
>
//----------------------------------------------------------------------\
> \
> > ------
> > // AUTOMATION CODE: Load an AFL and Run a Portfolio Optimization
> >
>
//----------------------------------------------------------------------\
> \
> > ------
> >
> > EnableScript("jscript");
> > <%
> >
> > database = "C:\\Program Files\\Amibroker\\Data";
> > formula_1 = "C:\\Simple MA Cross.afl";
> >
> > AB  = new ActiveXObject( "Broker.Application" );
> > AB.LoadDatabase( database );
> > AA  = AB.Analysis;
> > Stk = AB.Stocks
> > Doc = AB.Documents.Open( Stk.Ticker );
> >
> > AA.LoadFormula( formula_1 );              // load formula from
> external
> > file
> >
> > AA.ApplyTo       = 1;                     // use current symbol
> > AA.RangeMode     = 3;                     // use 'From' and 'To' dates
> > AA.RangeFromDate = "11/01/2005";
> > AA.RangeToDate   = "12/31/2005";
> > AA.Optimize( 0 );                         // run Optimize for the
> > portfolio, which is just one symbol
> > AA.Backtest();
> >
> > %>
> > //---------END AUTOMATION
> > AFL-------------------------------------------------
> >
> >
> >
> >
> >
> >
>
//----------------------------------------------------------------------\
> \
> > ------
> > // Simple MA Cross: THIS IS A SEPARATE AFL SAVED AT: "C:\\Simple MA
> > Cross.afl"
> >
>
//----------------------------------------------------------------------\
> \
> > ------
> >
> >
> > FastMALength = Optimize("FastMALength",      1,     1,    100,     1);
> > SlowMALength = 20;
> >
> >
>
//----------------------------------------------------------------------\
> \
> > ------
> > // BACKTESTER SETTINGS
> >
>
//----------------------------------------------------------------------\
> \
> > ------
> >
> > SetBarsRequired(10000, 0);
> > SetOption("AllowPositionShrinking", False);
> > SetOption("AllowSameBarExit", True);
> > SetOption("CommissionAmount", 3.00);
> > SetOption("CommissionMode", 3);
> > SetOption("FuturesMode", 1);
> > SetOption("InitialEquity", 100000);
> > SetOption("InterestRate",0);
> > SetOption("MaxOpenPositions", 1);
> > SetOption("MinPosValue", 0);
> > SetOption("MinShares", 1);
> > SetOption("PriceBoundChecking", False );
> > SetOption("ReverseSignalForcesExit", False);
> > SetOption("UsePrevBarEquityForPosSizing", True );
> > SetTradeDelays(0, 0, 0, 0);
> > SetPositionSize(1, spsShares);
> > TickSize      = 0.0001;    // The minimum price move of symbol for
> Forex
> > PointValue    = 100000;
> > RoundLotSize  = 1;
> > MarginDeposit = 2500;
> > BuyPrice      = SellPrice = ShortPrice = CoverPrice = Close;
> >
> >
>
//----------------------------------------------------------------------\
> \
> > --
> > // TRADING SYSTEM
> >
>
//----------------------------------------------------------------------\
> \
> > --
> >
> > FastMA       =    MA( C, FastMALength );
> > SlowMA       =    MA( C, SlowMALength );
> > Buy          = Cross( FastMA, SlowMA  );
> > Sell         = Cross( SlowMA, FastMA  );
> >
>


Reply via email to