PureBytes Links
Trading Reference Links
|
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 );
------------------------ Yahoo! Groups Sponsor --------------------~-->
In low income neighborhoods, 84% do not own computers.
At Network for Good, help bridge the Digital Divide!
http://us.click.yahoo.com/EpW3eD/3MnJAA/cosFAA/GHeqlB/TM
--------------------------------------------------------------------~->
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
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|