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

More Shark scans, new and improved



PureBytes Links

Trading Reference Links

Here are fast new versions of the Shark scans, with an improved j loop,
suggested in e-mail by a skilled coder on this Metastock list. 

This certainly takes one's mind of certain matters that shall go unnamed.

Longs:

//Shark-32, by Walter T. Downs, 
//translated for QP2 by Brooke
     
output = "sharka.lst";
     input="volvol.lst";
     //ProcessMS = "d:\meta\macdup\",VMS;

     integer i, j;
     float shark, apex, WB, fin, sharkhigh, symmetry;

     for i = -24 to 0 step 1 do

     symmetry:=.28;
     apex:=(high(i)+low(i))/2;
     WB:=range(i-2);

     if apex<=(high(i-2)-(WB*Symmetry)) and
     apex>=(low(i-2)+(WB*Symmetry)) then
     fin:=1;
          
     sharkhigh:=0;
     if high(i)<high(i-1) and
     low(i)>low(i-1) and
     high(i-1)<high(i-2) and 
     low(i-1)>low(i-2) then
     shark:=fin;
     
     if shark=1 then 
     sharkhigh:=high(-2+i);
     endif; 

     if shark=1 then
     if sharkhigh>0 then
     for j = i to 0 step 1 do
     if close(j)>sharkhigh then
     if close(j-1)<sharkhigh then
     println symbol,",", "Close: ", close(0):6:2,", ", "Change: ",
     Close(0)-Close(-1):5:2, ", ", "Date: ", date(j),", ", "Sharkhigh: ",
     sharkhigh; //date of buy signal
     j:=0; 
     endif; endif;
     next j;
     endif; endif;

     else
     shark:=0;
     endif;

     else
     fin:=0;
     endif;
       
     next i;


*****************************

Short-Sell Version:

//Shark-32, Short-Sell Version, by Walter T. Downs, 
//translated for QP2 by Brooke
     
output = "sharkshort.lst";
     input="volvol.lst";
     //ProcessMS = "d:\meta\macdup\",VMS;

     integer i, j;
     float shark, apex, WB, fin, sharkhigh, sharklow, symmetry;

     for i = -24 to 0 step 1 do

     symmetry:=.28;
     apex:=(high(i)+low(i))/2;
     WB:=range(i-2);

     if apex<=(high(i-2)-(WB*Symmetry)) and
     apex>=(low(i-2)+(WB*Symmetry)) then
     fin:=1;
          
     sharkhigh:=0;
     sharklow:=0;
     if high(i)<high(i-1) and
     low(i)>low(i-1) and
     high(i-1)<high(i-2) and 
     low(i-1)>low(i-2) then
     shark:=fin;
     
     if shark=1 then 
     sharkhigh:=high(-2+i);
     sharklow:=low(-2+i);
     endif; 

     if shark=1 then
     if sharklow>0 then
     for j = i to 0 step 1 do
     if close(j)<sharklow then
     if close(j-1)>sharklow then
     println symbol,",", "Close: ", close(0):6:2,", ", "Change: ",
     Close(0)-Close(-1):5:2, ", ", "Date: ", date(j),", ", "Sharklow: ",
     sharklow; //date of buy signal
     j:=0; 
     endif; endif;
     next j;
     endif; endif;

     else
     shark:=0;
     endif;
     else
     fin:=0;
     endif;
       
     next i;