PureBytes Links
Trading Reference Links
|
Hi dave,
Your code helped heaps. Thanks for that. I've got a condition in
which it doesn't work quite well though and its when I have two
consecutive buys
Let's say its ABC on the 3rd of march & the 4th of march. Because I
get a Buy signal on the 3rd of march and also on the 4th of march
lets say if I place a timestop of 3 and from the 3rd of March it
should sell on the 6th of March but for that trade, it will sell on
the 7th of March because it sees the Buy signal from the 4th and
BarsSince function only looks at the point in which the Buy array was
last 1.
Is there a way you're aware I can fix this? I guess I could create a
variable everytime it sits consecutive bars and tell the system to
watch out for that but that's a bit complicated. Anyone has any
ideas?
Thanks,
--- In amibroker@xxxxxxxxxxxxxxx, "David Smith" <david.smith5@xxx>
wrote:
>
> Unfortunately you do have to program the exit price yourself for
all 3
> stops. The n-bar exit price is over ridden by your calculated exit
> (sell) price just as AB support has advised. It only works
> automatically if you are exiting on the open or close as defined in
the
> AA settings.
>
> It's a bit annoying I agree but you can get around it with coding.
I
> would also like some sort of function included with the nbar stop
to set
> the exit price, but until then lets try & code it. (note Metastock
is
> the same, it provides a time stop but the exit price must be
calculated
> properly). Actually I find it easier to program my own time stop
> anyway.
>
> Try this as example.
> // Trade delays all zero
>
> EntryTrigger = Cross(ma(C,5), ma(C,50)); // Example only..
>
> EntryPrice = High; // entry if go above todays high, example of
stop
> entry
>
> Buy = ref(EntryTrigger,-1) and H >= ref(EntryPrice,-1); // Stop
entry
> code
>
> BuyPrice = max(Open, EntryPrice);
>
> // Note, don't forget to account for time difference between
conditions
> & entry day
>
> StopExit = LLV(L,3); // Trailing stop ext, lowest low of 3 days
> ExitatStop = L <= ref(StopExit,-1); // Intraday exit
>
> ProfitTarget = C + 1.5*atr(5); // Profit target based on
yesterday's
> close + delta
>
> ProfitExit = H >= ref(ProfitTarget,-1); // intraday exit
>
> timeStop = 5; // time stop on 5th day, (exit day is day 5 & exit
at
> open)
> TimeExit = barssince(Buy) >= timestop;
>
> Sell = ExitatStop or ProfitExit or TimeExit;
>
> // now calculate the exit price, don't forget to give preference to
time
> exit first since I am assuming you will get out at open, then stop
exit
> as worst case, then profit target last;
> // you could get trickier if you want & check which way the open
> starts, & exit at profit if open gaps above. This code will be more
> conservative. I'll leave that to you to figure out.
>
> SellPrice = IIF(TimeExit, Open, IIF(ExitatStop, min(Open,
> ref(StopExit,-1)), Max(Open, ref(ProfitTarget,-1)));
>
>
> Hope that helps..
>
> Regards, Dave
>
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 NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
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/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/amibroker/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:amibroker-digest@xxxxxxxxxxxxxxx
mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx
<*> 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/
|