Wally,

The "..." simply meant "write your own sell code here!". It is not 
part of the AmiBroker syntax. Taking your original example, the 
actual code becomes:

SetTradeDelays(1, 1, 1, 1);

MA20 = MA(Close, 20);
MA80 = MA(Close, 80);
MA150 = MA(Close, 150);

Buy = (Close > MA20) && (MA20 > MA80) && (MA20 > MA150);
BuyPrice = Open;

Sell = (Close < MA20) && (MA20 < MA80) && (MA20 < MA150);
SellPrice = Open;

Note that the above example answers your follow up question to 
Tomasz. Yes, you can write code to override the AA window settings; 
Use SetTradeDelays.

For an explanation of any of the functions used, refer to the Help 
menu in AmiBroker, or on-line at:
http://www.amibroker.com/guide/afl/afl_index.php?m=1

Keep in mind that you will still need to add money management logic 
to the code and/or in your preferences settings (e.g. max positions, 
position size, margin usage, long only vs. short only vs. long and 
short, etc).

Mike

> > > Cond1 = Ref(Close,-1); BuyPrice = Open;
> > > Cond2 = Close > MA( Close, 20 );
> > > Cond3 = MA(  Close , 20 ) > MA(  Close , 80 ); 
> > > Cond4 = MA(  Close , 20 ) > MA(  Close , 150 ); 
> > > Buy = Cond1 AND Cond2 AND Cond3 AND Cond4; 
> > > 
> > > Cond4 = Ref(Close,-1); SellPrice = Open;
> > > Cond5 = Close < MA( Close, 20 );
> > > Cond6 = MA(  Close , 20 ) < MA(  Close , 80 ); 
> > > Cond7 = MA(  Close , 20 ) < MA(  Close , 150 );
> > > Sell = Cond4 AND Cond5 AND Cond6 AND Cond7;

--- In [email protected], "electricwally77" <[EMAIL PROTECTED]> 
wrote:
>
> Mike, Thank you for helping. I received a syntax error on Line 8 of
> your code (Sell = ...). I tried placing a semi-colen (;) at the end
> but to no avail. I'm not sure how to correct this. 
> 
> Your code below.......
> 
> 
> SetTradeDelays(1, 1, 1, 1);
> 
> MA20 = MA(Close, 20);
> MA80 = MA(Close, 80);
> MA150 = MA(Close, 150);
> 
> Buy = (Close > MA20) && (MA20 > MA80) && (MA20 > MA150);
> BuyPrice = Open;
> 
> Sell = ...
> SellPrice = Open;
> 
> 
> 
> --- In [email protected], "Mike" <sfclimbers@> wrote:
> >
> > You should be able to code your script as though everything were 
going 
> > to happen on the same day as the signal, then just use 
SetTradeDelays 
> > to defer it 'till the next day.
> > 
> > Try something like this (untested):
> > 
> > SetTradeDelays(1, 1, 1, 1);
> > 
> > MA20 = MA(Close, 20);
> > MA80 = MA(Close, 80);
> > MA150 = MA(Close, 150);
> > 
> > Buy = (Close > MA20) && (MA20 > MA80) && (MA20 > MA150);
> > BuyPrice = Open;
> > 
> > Sell = ...
> > SellPrice = Open;
> > 
> > P.S. For better performance, only calculate the MA's once.
> > 
> > Mike
> > 
> > 
> > --- In [email protected], "electricwally77" <soundmaker@> 
> > wrote:
> > >
> > > I appreciate any code help if possible.
> > > 
> > > I've been at my code for hours and can't figure out what I did 
> > wrong.
> > > 
> > > I'm trying to tell my system to Enter Long on the Next Trading 
Day 
> > (at
> > > the open price) only if the "Buy" rules are True the trading 
day 
> > before.
> > > 
> > > Likewise, I'm trying to tell my system to Exit Long on the Next
> > > Trading Day (at the open price) only if the "Sell" rules are 
True 
> > the
> > > trading day before.
> > > 
> > > In other words, If my system tells me to buy or sell on a 
particular
> > > day, I only want to execute the trade at the open on the next 
> > trading
> > > day (not the same day the system identifies a trade).
> > > 
> > > Here is my code below:
> > > 
> > > Cond1 = Ref(Close,-1); BuyPrice = Open;
> > > Cond2 = Close > MA( Close, 20 );
> > > Cond3 = MA(  Close , 20 ) > MA(  Close , 80 ); 
> > > Cond4 = MA(  Close , 20 ) > MA(  Close , 150 ); 
> > > Buy = Cond1 AND Cond2 AND Cond3 AND Cond4; 
> > > 
> > > Cond4 = Ref(Close,-1); SellPrice = Open;
> > > Cond5 = Close < MA( Close, 20 );
> > > Cond6 = MA(  Close , 20 ) < MA(  Close , 80 ); 
> > > Cond7 = MA(  Close , 20 ) < MA(  Close , 150 );
> > > Sell = Cond4 AND Cond5 AND Cond6 AND Cond7;
> > > 
> > > Thanks you members.
> > >
> >
>


Reply via email to