I
totally agree. I’ve been trying to resolve this problem for months now.
Even when using ExRem, functions like ValueWhen still
consider true a “removed” new signal (when buy == 1) and
recalculate the stop condition without any consideration of the actual trade. The
only interesting way of using the software is for longer term type of
transactions.
Regards,
Hugo
-----Message
d'origine-----
De :
amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] De la part de Graham
Envoyé : 26 mai 2005 03:10
À : amibroker@xxxxxxxxxxxxxxx
Objet : Re: [amibroker] Re: BarsSince(Buy == 1)
What do you mean by this?
>>But it does have a major flaw vs other
software
products. AFL code has NO ACCESS to your ACTUAL
trade stats
(entryprice, bars in trade etc). <<
Scan and backtest gives you all of this
or
you can simply write an exploration to provide all
that data and more
or maybe I missed your point!
buy=yourbuyconditions;
sell=yoursellconditions;
buy=exrem(buy,sell);
sell=exrem(sell,buy);
filter=1;
addcolumn(barssince(buy),"BarsInTrade",1);
addcolumn(valuewhen(buy,buyprice),"BuyPrice",1.3);
adddcolumn(c/valuewhen(buy,buyprice),"TradeMove",1.3);
etc
On 5/26/05, fanziguk
<maxdanzig@xxxxxxxxxxxx> wrote:
> Ill put you out of your misery, Peter, and
save you weeks if not
> months of mucking around as I have.
>
> Amibroker is a wonderful program - uniquely
fast with it's array
> based technology. But it does have a major
flaw vs other software
> products. AFL code has NO ACCESS to your
ACTUAL trade stats
> (entryprice, bars in trade etc). Unless you use
the built in commands
> to do ultra simple stuff (Applystop etc), you
are simply guessing
> based on the movement of the market. EXREM
and EXREMSPAN just help
> you guess better!
>
> Don't be too depressed though, as the new
Custom Backtester does have
> access to the actual trade. But it is very
cryptic (easy to make a
> mistake) and Tomasz appears reluctant to give
support for it. I have
> written a piece of CB code that will do what
you want. It looks
> correct but does not work presently. Tomasz
has it and (hopefully!)
> one rainy day he might get around to
correcting it. I will post it
> here if so. Or perhaps he would like to?
>
> Max
>
> --- In amibroker@xxxxxxxxxxxxxxx,
"Peter" <pa299@xxxx> wrote:
> > Hi
> > I'm a new to AFL and need some help with
code for a exit on first
> > profitable open.
> >
> > I've been using this code in a
Commentary window to check if it
> > works.
> >
> > The problem I have is that at times
after entering a long position
> > (Buy = false) the variable BuyBarsSince
in the line
> > BuyBarsSince = BarsSince(Buy == 1);
> > will reset to 0 when Cond1 AND Cond2 AND
Cond3 are all true
> >
> > The result is an exit below the entry
price.
> >
> > My question is why at times does
> > BarsSince(Buy == 1)
> > reset to 0 when Buy = false?
> >
> >
> > Am I missing obvious?
> > Any help would be appreciated?
> > Thanks
> > Peter
> >
> >
> > //3Down Close Commentary
> >
> > Cond1 = Ref(C,1) > Ref(C,0);
> > Cond2 = Ref(C,-2) > Ref(C,-1);
> > Cond3 = Ref(C,-3) > Ref(C,-2);
> >
> > Buy = Cond1 AND Cond2 AND Cond3 ;
> > BuyPrice = Ref(Open,0);
> >
> >
//------------------------------------------
> > // Exit 1st Profitable Open
> > // How many bars ago was the last Buy
signal?
> > BuyBarsSince = BarsSince(Buy == 1);
> > // Actual Price of buy
> > Price4LastBuy = Ref(BuyPrice,
-BuyBarsSince);
> >
> > SellCond1 = Cross(Open,Price4LastBuy);
> > SellCond2 = BarsSince(Buy == 1) > 0;
> >
> > Sell = SellCond1 AND SellCond2;
> > SellPrice = Ref(O,0);
> >
> > Sell=ExRem(Sell,Buy);
Buy=ExRem(Buy,Sell);
> >
> >
> >
> >
//------------------------------------------
> >
> > "3 Down Close Commentary";
> > "";
> > "Cond1 is " + WriteVal(Cond1);
> > "Cond2 is " + WriteVal(Cond2);
> > "Cond3 is " + WriteVal(Cond3);
> > "Buy is " + WriteVal(Buy);
> >
> > "";
> > "BuyPrice is " +
WriteVal(Price4LastBuy );
> > "BarsSince(Buy)is " +
WriteVal(BarsSince(Cond1 AND Cond2));
> > "Price4LastBuy is " +
WriteVal(Price4LastBuy);
> >
> > "";
> > "SellCond1 is " +
WriteVal(SellCond1 );
> > "SellCond2 is " +
WriteVal(SellCond2 );
> >
> > "Sell is " + WriteVal(Sell );
> > "SellPrice is " +
WriteVal(SellPrice );
>
>
>
>
>
> Please note that this group is for discussion
between users only.
>
> To get support from AmiBroker please send an
e-mail directly to
> SUPPORT {at} amibroker.com
>
> For other support material please check also:
> http://www.amibroker.com/support.html
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
>
--
Cheers
Graham
http://e-wire.net.au/~eb_kavan/
Please note
that this group is for discussion between users only.
To get support from AmiBroker please send an
e-mail directly to
SUPPORT {at} amibroker.com
For other support material please check also:
http://www.amibroker.com/support.html
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links
--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.322 / Virus Database: 266.11.17 - Release Date: 2005-05-25
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.322 / Virus Database: 266.11.17 - Release Date: 2005-05-25