PureBytes Links
Trading Reference Links
|
Fred,
The problem you're describing is because the BarsSince array returns
Null values before the first True in the array you're testing. If you
convert them back to True values, then your statements should work:
Mask = BarsSince(Sell) >= 5 AND BarsSince(Cover) >= 5;
Mask = IIf(IsNull(Mask), True, Mask); // Convert Nulls to Trues
Buy = Buy AND Mask;
Short = Short AND Mask;
Now the Mask array will start off with all True values before the
first Sell or Cover signal, allowing earlier Buy and Short signals to
remain.
GP
--- In amibroker@xxxxxxxxxxxxxxx, Ed Middleton <jjj_98@xxx> wrote:
>
> Herman,
>
> Actually I think you meant to type:
>
> Buy = Buy AND BarsSince(Sell)>=5 AND BarsSince(Cover) >=5;
>
> similarily,
>
> Short = Short AND BarsSince(Sell)>=5 AND BarsSince(Cover) >=5;
>
> In my head this should only allow a "Buy" (or "Short") 5 bars after
the last trade exit.
>
> Now the problem with this approach is that there cannot be a Sell Or
Cover without a trade (A Buy or Short)first being put on by
definition. You cannot end a trade without first putting on a trade.
In the above, you cannot put on a trade until 5 days after a Sell or
Cover. So when you run this code, no trades are initiated.
>
> If there was a way of initiating the code with a Sell and Cover
signal on Bar "0" then I'd assume that on Bar 5 that the conditions in
the Buy and Short code at the top would be satisfied. I don't know
how to intiate the code so that it starts with a sell and cover signal.
>
> I've tried: Sell = Cover = 1
>
> I've tried in my if loop,
> If (i == 0)
> {
> sell(i) = 1;
> cover(i) = 1;
> }
>
> Neither has worked.
>
> Am I missing something in your logic?
>
> thanks,
>
> Fred
>
> ----- Original Message -----
> From: Herman
> To: Ed Middleton
> Sent: Friday, June 29, 2007 5:31 AM
> Subject: Re: [amibroker] Entry Time Delay
>
>
>
>
>
>
>
> Your system here...
>
>
>
>
> Sell = Sell AND BarsSince(Sell) >= 5;
>
>
>
>
> herman
>
>
>
>
> Thursday, June 28, 2007, 9:36:11 PM, you wrote:
>
>
>
>
> >
>
> Ok now really frustrated. Nothing seems to be working.
>
>
>
> Here's what I want to do:
>
> Wait 5 bars after a sell or cover before buying or shorting
again. You would think this was simple but as you can see
below it is causing me some trouble. Any help would be
appreciated.
>
>
>
> thx,
>
>
>
> Fred
>
>
>
> ----- Original Message -----
>
> From: Ed Middleton
>
> To: amibroker@xxxxxxxxxxxxxxx
>
> Sent: Thursday, June 28, 2007 2:37 PM
>
> Subject: Re: [amibroker] Entry Time Delay
>
>
>
>
> Ok, I've found the problem. BarsSince(Sell) and
BarsSince(Cover) never = anything because there is not Sells or
Covers to get a value from and thus no buys or shorts. Somehow I
need to be able to allow the first buy or Short to occur then
everything will be ok.
>
>
>
> Any suggestions?
>
>
>
> thx,
>
>
>
> ----- Original Message -----
>
> From: Ed Middleton
>
> To: amibroker@xxxxxxxxxxxxxxx
>
> Sent: Thursday, June 28, 2007 11:48 AM
>
> Subject: Re: [amibroker] Entry Time Delay
>
>
>
>
> Also tried:
>
> BarsSinceExit = Min(BarsSince(Sell),BarsSince(Cover));
>
> Added to Buy and Short lines:
>
> AND (BarsSinceExit > 0);
>
> This should have gotten me in on the next 5 minute bar. No
luck with this procedure either. I'm missing something in my
programming logic.
>
>
>
>
>
> ----- Original Message -----
>
> From: jjj_98
>
> To: amibroker@xxxxxxxxxxxxxxx
>
> Sent: Thursday, June 28, 2007 11:04 AM
>
> Subject: [amibroker] Entry Time Delay
>
>
>
>
> After exiting a trade I want to wait 5 minutes before
re-entering a
>
> trade so here's what code I've tried but it does not seem to be
>
> making a difference in the next entry. Do you see any problems?
>
>
>
>
> //Initialize last trade exit times
>
>
>
>
> LastSellTime = LastCoverTime = 000000;
>
>
>
>
> // Calculates Amount of time since last exit
>
>
>
>
> TimeSinceLastTrade = Min((TimeNum() -
LastSellTime),(TimeNum() -
>
> LastCoverTime));
>
>
>
>
> // I added this to my BUY and SHORT instructions so that the
time to
>
> re-enter the next trade must be greater than 5 minutes.
>
>
>
>
> AND (TimeSinceLastTrade > 000500);
>
>
>
>
> //In my logic added the following to get the time of the
Last Sell
>
> and Last Cover
>
>
>
>
> if(Sell[i] == 1)
>
> {
>
> LastSellTime = TimeNum();
>
> }
>
>
>
>
> if(Cover[i] == 1)
>
> {
>
> LastCoverTime = TimeNum();
>
> }
>
>
>
>
> ---------------------------------
>
> Choose the right car based on your needs. Check out Yahoo!
Autos new Car Finder tool.
>
> ---------------------------------
>
> Get the Yahoo! toolbar and be alerted to new email wherever
you're surfing.
>
>
>
>
>
>
> ---------------------------------
>
> Boardwalk for $500? In 2007? Ha!
>
> Play Monopoly Here and Now (it's updated for today's economy) at
Yahoo! Games.
>
>
>
> #ygrp-mlmsg { FONT-SIZE: small; FONT-FAMILY:
arial,helvetica,clean,sans-serif}#ygrp-mlmsg TABLE { }#ygrp-mlmsg
SELECT { FONT: 99% arial,helvetica,clean,sans-serif}INPUT { FONT: 99%
arial,helvetica,clean,sans-serif}TEXTAREA { FONT: 99%
arial,helvetica,clean,sans-serif}#ygrp-mlmsg PRE { FONT: 100%
monospace}CODE { FONT: 100% monospace}#ygrp-mlmsg * { LINE-HEIGHT:
1.22em}#ygrp-text { FONT-FAMILY: Georgia}#ygrp-text P { MARGIN: 0px
0px 1em}#ygrp-tpmsgs { CLEAR: both; FONT-FAMILY: Arial}#ygrp-vitnav {
FONT-SIZE: 77%; MARGIN: 0px; PADDING-TOP: 10px; FONT-FAMILY:
Verdana}#ygrp-vitnav A { PADDING-RIGHT: 1px; PADDING-LEFT: 1px;
PADDING-BOTTOM: 0px; PADDING-TOP: 0px}#ygrp-actbar { CLEAR: both;
MARGIN: 25px 0px; COLOR: #666; WHITE-SPACE: nowrap; TEXT-ALIGN:
right}#ygrp-actbar .left { FLOAT: left; WHITE-SPACE: nowrap}..bld {
FONT-WEIGHT: bold}#ygrp-grft { PADDING-RIGHT: 0px; PADDING-LEFT: 0px;
FONT-SIZE: 77%; PADDING-BOTTOM: 15px; PADDING-TOP: 15px; FONT-FAMILY:
> Verdana}#ygrp-ft { PADDING-RIGHT: 0px; BORDER-TOP: #666 1px solid;
PADDING-LEFT: 0px; FONT-SIZE: 77%; PADDING-BOTTOM: 5px; PADDING-TOP:
5px; FONT-FAMILY: verdana}#ygrp-mlmsg #logo { PADDING-BOTTOM:
10px}#ygrp-vital { PADDING-RIGHT: 0px; PADDING-LEFT: 8px;
MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 8px; PADDING-TOP: 2px;
BACKGROUND-COLOR: #e0ecee}#ygrp-vital #vithd { FONT-WEIGHT: bold;
FONT-SIZE: 77%; TEXT-TRANSFORM: uppercase; COLOR: #333; FONT-FAMILY:
Verdana}#ygrp-vital UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px;
PADDING-BOTTOM: 0px; MARGIN: 2px 0px; PADDING-TOP: 0px}#ygrp-vital
UL LI { CLEAR: both; BORDER-RIGHT: #e0ecee 1px solid; BORDER-TOP:
#e0ecee 1px solid; BORDER-LEFT: #e0ecee 1px solid; BORDER-BOTTOM:
#e0ecee 1px solid; LIST-STYLE-TYPE: none}#ygrp-vital UL LI .ct {
PADDING-RIGHT: 0.5em; FONT-WEIGHT: bold; FLOAT: right; WIDTH: 2em;
COLOR: #ff7900; TEXT-ALIGN: right}#ygrp-vital UL LI .cat {
FONT-WEIGHT: bold}#ygrp-vital A { TEXT-DECORATION: none}#ygrp-vital
A:hover {
> TEXT-DECORATION: underline}#ygrp-sponsor #hd { FONT-SIZE: 77%;
COLOR: #999}#ygrp-sponsor #ov { PADDING-RIGHT: 13px; PADDING-LEFT:
13px; MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 6px; PADDING-TOP: 6px;
BACKGROUND-COLOR: #e0ecee}#ygrp-sponsor #ov UL { PADDING-RIGHT: 0px;
PADDING-LEFT: 8px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP:
0px}#ygrp-sponsor #ov LI { PADDING-RIGHT: 0px; PADDING-LEFT: 0px;
FONT-SIZE: 77%; PADDING-BOTTOM: 6px; PADDING-TOP: 6px;
LIST-STYLE-TYPE: square}#ygrp-sponsor #ov LI A { FONT-SIZE: 130%;
TEXT-DECORATION: none}#ygrp-sponsor #nc { PADDING-RIGHT: 8px;
PADDING-LEFT: 8px; MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 0px;
PADDING-TOP: 0px; BACKGROUND-COLOR: #eee}#ygrp-sponsor .ad {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 8px;
PADDING-TOP: 8px}#ygrp-sponsor .ad #hd1 { FONT-WEIGHT: bold;
FONT-SIZE: 100%; COLOR: #628c2a; LINE-HEIGHT: 122%; FONT-FAMILY:
Arial}#ygrp-sponsor .ad A { TEXT-DECORATION: none}#ygrp-sponsor .ad
A:hover { TEXT-DECORATION:
> underline}#ygrp-sponsor .ad P { MARGIN: 0px}o { FONT-SIZE:
0px}..MsoNormal { MARGIN: 0px}#ygrp-text TT { FONT-SIZE:
120%}BLOCKQUOTE { MARGIN: 0px 0px 0px 4px}..replbq { }
>
> ---------------------------------
> Building a website is a piece of cake.
> Yahoo! Small Business gives you all the tools to get online.
>
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/
|