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