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

Re: [amibroker] Re: Looping - our previous discussion



PureBytes Links

Trading Reference Links

GP,
 
since you seem pretty handy with this stuff maybe you can have a look at the code below.  I write most of my exit code using loops. Below an example how I usually do it. In this example I code an nBar stop. Note that I let the j loop deliberately go to j < barcount since within the j loop I can put all other types of exit code and sometime I remove the nbar stop.
 
Do you see any problems with this code?
 
thanks, ed
 
 
 
procedure nbarStop_proc(Buy,Short,nBar) {

global Sell
;
global SellPrice
;
global
BuyAdjusted;

global Cover
;
global CoverPrice
;
global
ShortAdjusted;

// initialise arrays

SellPrice = 0
;
Sell = 0
;
BuyAdjusted =
0
;

CoverPrice = 0
;
Cover = 0
;
ShortAdjusted =
0
;


for (i = 1; i < BarCount
; i++) {


   
if (Buy[ i ] == 1
) {   
   
      BuyAdjusted[ i ] =
1
;      
      
      
for (j = i; j < BarCount
; j++) {
                     
         
if
(j - i == nBar) {

            
Sell[ j ] = 5
;
            
SellPrice[ j ] = O
[ j ];            
            i = j;
            
break
;
                                    
               
         }
else if (j == BarCount - 1
) {
         
            i =
BarCount
;
         
         }            
         
      
      }
      
   }
else if (Short[ i ] == 1
) {   
   
      ShortAdjusted[ i ] =
1
;
      
      
for (j = i; j < BarCount
; j++) {            
         
         
if
(j - i == nBar) {

            
Cover[ j ] = 5
;
            
CoverPrice[ j ] = O
[ j ];
            i = j;
            
break
;         

         }
else if (j == BarCount - 1
) {
         
            i =
BarCount
;
         
         }            
         
      }

   }   

}

}



SetBarsRequired(10000,10000
);

per =
20
;
nbar =
10
;

Buy = C < BBandBot(C,per,2); Buy = Ref(Buy,-1
);
BuyPrice = O
;

Short = C > BBandTop(C,per,2); Short = Ref(Short,-1
);
ShortPrice = O
;

nbarStop_proc(
Buy,Short
,nBar);
Buy
= BuyAdjusted;
Short
= ShortAdjusted;

SetChartOptions(0, chartShowDates
);
GraphXSpace = 5
;
Plot(C,"C",1,64
);
Plot(BBandBot(C,per,2),"",colorGold,1
);
Plot(BBandTop(C,per,2),"",colorGold,1
);
PlotShapes(IIf(Buy,shapeUpTriangle,0),colorWhite, layer = 0, yposition = BuyPrice, offset = 0
);
PlotShapes(IIf(Short,shapeDownTriangle,0),colorYellow, layer = 0, yposition = ShortPrice, offset = 0
);
PlotShapes(IIf(Sell,shapeHollowDownTriangle,0),colorWhite, layer = 0, yposition = SellPrice, offset = 0
);
PlotShapes(IIf(Cover,shapeHollowUpTriangle,0),colorYellow, layer = 0, yposition = CoverPrice, offset = 0
);
__._,_.___

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





SPONSORED LINKS
Investment management software Investment property software Investment software
Investment tracking software Return on investment software

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___