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 amibroker@xxxxxxxxxps.com,
"ozzyapeman" <zoopfree@xx.> 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 amibroker@xxxxxxxxxps.com,
"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 );
>
>
>