[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: Entry Time Delay



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/